handson: aws service s3

目的

S3の基本要素の作成・更新・削除を行う。

前提

作業環境条件

本作業は、以下の作業環境で行います。

作業環境条件1: OSとバージョン

本手順は、Amazon Linux "Amazon Linux AMI release 2018.03"以降のOS環境での実施を前提としています。

コマンド:

cat /etc/issue | head -1

結果(例):

Amazon Linux AMI release 2018.03

作業環境条件2: シェルとバージョン

本手順は、bash "4.2.46(2)-release"以降のシェル環境での実施を前提としています。

コマンド:

bash --version -v | head -1

結果(例):

GNU bash, バージョン 4.2.46(2)-release (x86_64-redhat-linux-gnu)

作業環境条件3: AWS CLIのバージョン

本手順は、AWS CLIの最新バージョンでの実施を前提としています。

コマンド:

aws --version

結果(例):

aws-cli/1.16.2 Python/3.6.5 Linux/4.14.59-64.43.amzn1.x86_64 botocore/1.11.2

バージョンが古い場合は最新版に更新しましょう。

コマンド:

sudo -H pip install -U awscli

手順

ローカル環境での作業

  • 今回は"${HOME}/tmp/parameter-handson-cli-s3"をパラメータファイル情報用ディレクトリとします。

ディレクトリが存在することを確認します。

コマンド:

ls -d ${HOME}/tmp/parameter-handson-cli-s3

結果(例:存在する場合):

${HOME}/tmp/parameter-handson-cli-s3

存在しない場合は作成します。

コマンド:

mkdir -p ${HOME}/tmp/parameter-handson-cli-s3

1. コンテンツバケットの作成 (S3権限での作業)

3. コンテンツ保守用ユーザの作成 (IAM権限での作業)

3.7. アクセス確認

変数の設定:

export AWS_DEFAULT_PROFILE="handson-cli-s3-webMaintUser"

変数の設定:

S3_BUCKET_PREFIX='handson-cli-s3'

コマンド:

AWS_ID=$( \
  aws sts get-caller-identity \
    --query 'Account' \
    --output text \
) \
  && echo ${AWS_ID}

結果(例):

XXXXXXXXXXXX

変数の設定:

S3_BUCKET_NAME="${S3_BUCKET_PREFIX}-${AWS_ID}" \
  && echo ${S3_BUCKET_NAME}

結果(例):

handson-cli-s3-XXXXXXXXXXXX

コマンド:

aws s3 ls s3://${S3_BUCKET_NAME}/

結果(例):

(出力なし)

注釈

エラーが表示されなければOKです。

プロファイルの権限を無効にするために、環境変数を削除します。

変数の設定:

export -n AWS_DEFAULT_PROFILE

6. アクセスログ環境の構築 (S3権限での作業)

6.4. Webコンテンツへのブラウザによるアクセス

ログが記録されるように、ブラウザでコンテンツにアクセスします。

8. コンテンツバケットのバージョン管理 (S3権限での作業)

注釈

参考手順です。

後始末2. (S3権限での作業)

課題

  • バージョニングの停止

  • 全バージョンの削除

ローカル環境での作業

パラメータファイル情報用ディレクトリを削除します。

コマンド:

rm -Rf ${HOME}/tmp/parameter-handson-cli-s3

備考