テストで使用するのでサクッと作りたいというご要望

方法

作成

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}"