# 404なら、そのバケット名は使える!
aws s3api head-bucket --bucket video-uploader
# 【STEP 1:バケット作成】
aws s3api create-bucket \
--bucket video-uploader \
--region ap-northeast-1 \
--create-bucket-configuration LocationConstraint=ap-northeast-1
# 【STEP 2:パブリックアクセス許可】
aws s3api put-public-access-block \
--bucket video-uploader \
--public-access-block-configuration BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false
# 【STEP 3:バケットポリシー追加】最初にpolicy.jsonファイル作って、それで設定。
cat <<EOF > policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadWriteList",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::video-uploader",
"arn:aws:s3:::video-uploader/*"
]
}
]
}
EOF
aws s3api put-bucket-policy \
--bucket video-uploader \
--policy file://policy.json
# 【STEP 4:静的ウェブサイトホスティング有効化】
aws s3api put-bucket-website \
--bucket video-uploader \
--website-configuration '{
"IndexDocument": {
"Suffix": "index.html"
}
}'
#【STEP 5:CORS設定ファイルを作成】最初にcors.jsonファイル作って、それで設定。
cat <<EOF > cors.json
{
"CORSRules": [
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT", "POST"],
"AllowedOrigins": ["*"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 3000
}
]
}
EOF
aws s3api put-bucket-cors \
--bucket video-uploader \
--cors-configuration file://cors.json