テストで使用するのでサクッと作りたいというご要望
方法
作成
bash
BUCKET_NAME="szk302.bucket"
REGION="ap-northeast-1"
aws s3api create-bucket --bucket "${BUCKET_NAME}" --create-bucket-configuration "LocationConstraint=${REGION}"
削除
bash
BUCKET_NAME="szk302.bucket"
aws s3api delete-bucket --bucket "${BUCKET_NAME}"
Bucketを空にする
bash
BUCKET_NAME="szk302.bucket"
aws s3 rm "s3://${BUCKET_NAME}" --recursive
公開アクセス設定
設定(すべてPrivate)
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-public-access-block --bucket ${BUCKET_NAME} --public-access-block-configuration BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true
取得
bash
BUCKET_NAME="szk302.bucket"
aws s3api get-public-access-block --bucket ${BUCKET_NAME}
暗号化設定
設定(デフォルト)
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-bucket-encryption --bucket "${BUCKET_NAME}" --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
取得
bash
BUCKET_NAME="szk302.bucket"
aws s3api get-bucket-encryption --bucket "${BUCKET_NAME}"
バージョニング設定
設定
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-bucket-versioning --bucket ${BUCKET_NAME} --versioning-configuration Status=Enabled
取得
bash
BUCKET_NAME="szk302.bucket"
aws s3api get-bucket-versioning --bucket ${BUCKET_NAME}
ACL設定
Note | オーナーシップコントロール設定する場合は不要かもしれない。 |
設定(Private)
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-bucket-acl --bucket "${BUCKET_NAME}" --acl private
取得
bash
aws s3api get-bucket-acl --bucket "${BUCKET_NAME}"
オーナーシップコントロール設定
設定
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-bucket-ownership-controls --bucket "${BUCKET_NAME}" --ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
取得
bash
aws s3api get-bucket-ownership-controls --bucket "${BUCKET_NAME}"
ライフサイクル設定
設定(400日で削除)
bash
BUCKET_NAME="szk302.bucket"
aws s3api put-bucket-lifecycle-configuration --bucket "${BUCKET_NAME}" --lifecycle-configuration '{"Rules":[{"Prefix":"","Status":"Enabled","Expiration":{"Days":400}}]}'
取得
bash
aws s3api get-bucket-lifecycle-configuration --bucket "${BUCKET_NAME}"