S3で静的ホスティングする
手順
"バケット作成"→バケット名を入れて→"③アクセス許可の設定"まで"次へ"
↓
"③アクセス許可の設定"で"パブリックアクセス許可を管理する"を"このバケットにパブリック読み取りアクセス権限を付与する"へ変更して、バケット作成まで完了させる。
↓
バケット一覧に戻るので、バケットに"パブリック"と付いてるのを確認する
↓
作成したバケットを選択して、"プロパティ"→"static website hosting"→"このバケットを使用してウェブサイトをホストする"を選択→インデックスドキュメントを適当に入力→"保存"
↓
バケットにファイルをアップロード
↓
アップロードしたファイルを選択して、"アクセス権限"→"パブリックアクセス"→"Everyone"→"オブジェクトの読み取り"にチェックを入れて"保存"
↓
URLは http://<バケット名>.s3-website-<リージョン名>.amazonaws.com/<ファイルパス>
※公式サイト
↓
アクセスして表示されれば成功。
既に存在してるバケットに対しての設定
バケット選択→"アクセス権限設定"→"パブリックアクセス"→"オブジェクトへのアクセス"の"オブジェクト一覧"へチェックを入れる
↓
上の手順の"static website hosting"の設定のところから同じ手順で実行する
ファイルアップロード時の注意事項
即アップロードではなく、
アップロード > 次へ(右下のボタン)
と手順を踏んで パブリックアクセス許可を管理する
を このオブジェクトにパブリック読み取りアクセス権限を付与する
にしないと 403
になるので注意。
補足
↓で一括でパブリック読み取りアクセス権限を付与できる。
$ aws s3 ls --recursive s3://${バケット名}/ | awk '{print $4}' | xargs -I{} aws s3api put-object-acl --acl public-read --bucket ${バケット名} --key "{}"