1.2. S3バケットACL更新 (LogDelivery: handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log)
目的
ログをアップロードできるように、ログ用バケット"handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log"のバケットACLを変更します。
パラメータの指定
作業に必要なパラメータを変数に格納をします。
1. S3バケット名
S3バケット名の指定します。
変数の設定:
S3_BUCKET_PREFIX='handson-cli-s3-website-logging-website'
コマンド:
AWS_ID=$( \
aws sts get-caller-identity \
--query 'Account' \
--output text \
) \
&& echo ${AWS_ID}
結果(例):
変数の設定:
変数の設定:
S3_BUCKET_NAME="${S3_BUCKET_PREFIX}-${AWS_ID}-${S3_BUCKET_SUFFIX}" \
&& echo ${S3_BUCKET_NAME}
結果(例):
handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log
各変数に正しいパラメータ値が格納されていることを確認します。
変数の確認:
cat << END
# 1. S3_BUCKET_NAME:"handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log"
S3_BUCKET_NAME="${S3_BUCKET_NAME}"
END
手順
S3のログが書き込めるようにACLの設定を変更します。
変数の確認:
cat << ETX
# S3_BUCKET_NAME:"handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log"
S3_BUCKET_NAME="${S3_BUCKET_NAME}"
ETX
コマンド:
aws s3api put-bucket-acl \
--bucket ${S3_BUCKET_NAME} \
--grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' \
--grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'
結果(例):
完了確認
「S3バケット"handson-cli-s3-website-logging-website-XXXXXXXXXXXX-log"のバケットACLが、LogDelivery"からのWRITE/READ_ACPを許可している。」ことを確認します。
コマンド:
aws s3api get-bucket-acl \
--bucket ${S3_BUCKET_NAME} \
--query 'Grants[?Grantee.URI == `http://acs.amazonaws.com/groups/s3/LogDelivery`].Permission' \
--output text
結果(例):