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権限での作業)¶
2. コンテンツ保守用ポリシの作成 (IAM権限での作業)¶
3. コンテンツ保守用ユーザの作成 (IAM権限での作業)¶
3.1 - 3.6¶
- 3.1. IAMグループの作成 (handson-cli-s3-webMaintGroup)
- 3.2. IAMグループのポリシー追加 (handson-cli-s3-webMaintGroup: handson-cli-s3-S3BucketWritePolicy)
- 3.3. IAMユーザの作成 (handson-cli-s3-webMaintUser)
- 3.4. IAMユーザのIAMグループへの追加 (handson-cli-s3-webMaintUser: handson-cli-s3-webMaintGroup)
- 3.5. APIアクセスキーの作成 (handson-cli-s3-webMaintUser)
- 3.6. AWS認証ファイルの作成
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
4. コンテンツバケットのWebホスト化 (S3権限での作業)¶
5. Webコンテンツの公開 (S3権限での作業)¶
7. ログバケットのライフサイクル管理 (S3権限での作業)¶
後始末1. (IAM権限での作業)¶
- 後始末1.1. APIアクセスキーの全削除 (handson-cli-s3-webMaintUser)
- 後始末1.2. AWS認証ファイルの削除 (handson-cli-s3-webMaintUser)
- 後始末1.3. IAMユーザのIAMグループからの削除 (handson-cli-s3-webMaintUser: handson-cli-s3-webMaintGroup)
- 後始末1.4. IAMユーザの削除 (handson-cli-s3-webMaintUser)
- 後始末1.5. IAMグループのポリシ削除 (handson-cli-s3-webMaintGroup: handson-cli-s3-S3BucketWritePolicy)
- 後始末1.6. IAMグループの削除 (handson-cli-s3-webMaintGroup)
- 後始末1.7. IAMポリシーの削除 (handson-cli-s3-S3BucketWritePolicy)
後始末2. (S3権限での作業)¶
課題
バージョニングの停止
全バージョンの削除