AWS
aws-cli

AWS CLI備忘録 S3バケット作成

前提

  • AWS Cliがインストールされており、アプリケーションからコマンドが実行可能なこと
  • 実行環境にAWSアカウントのアクセスキーが設定されてること 'aws configure' で設定する必要あり
  • アクセスキーの取得元アカウントにS3の権限が付与されていること

S3バケット生成

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/using-s3-commands.html
任意のバケット名で S3バケットを生成する
aws s3 mb s3://bucket-name

S3 バケット存在チェック

aws s3 ls s3://bucket-name

※作成直後だと空なので戻り値無し。
バケットが無いと以下のエラーが返る
An error occurred (NoSuchBucket) when calling the ListObjects operation: The specified bucket does not exist

S3バケット ウェブホスティング設定

ウェブホスティングの設定はポリシーではなく以下のコマンド
aws s3 website s3://bucket-name --index-document index.html

S3バケット ポリシー設定

https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html

ウェブホスティングのポリシー適用
```
aws s3api put-bucket-policy --bucket bucket-name --policy file://policy.json

policy.json:
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadGetObject",
"Effect":"Allow",
"Principal": "",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::bucket-name/
"]
}]
}
```

以後、CloudFrontのディストリビューション作成、Route53の登録までCLIで実行してみる。