S3でバケットを作る
まずは公開する画像なりhtmlなりのコンテンツを置くバケットを作る
バケット名を入力し、リージョンを選んで「作成」
このバケット名とリージョンがurlに使われます
静的ホスティングの設定
作成したバケットを選択し、上部タブの「プロパティ」から「Static Website hosting」を選択
インデックスドキュメントとエラードキュメントを入力して「保存」
ここで入力したファイルは実際になくても、アクセスした際にはAWSのデフォルトのエラー画面が出てくれるので
とりあえず動かすには問題ありません。
アクセス権限の設定
以下のバケットポリシーを入力し、保存します。
アップロードしたコンテンツのパブリックアクセスを有効にします。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::バケット名/*"
}
]
}
うまく設定できればアクセス権限にパブリックの文字が付きます。
念のため「アクセス権限」タブ→「パブリックアクセス設定」→編集で
「新規のパブリックバケットポリシーをブロックする」のチェックを元に戻し、保存しておきましょう。
完了
これでこのバケットにhtmlをアップロードすれば静的ウェブサイトの出来上がりです。
アクセスについては、例えばtest.jpgをアップロードした場合は
http://バケット名.s3-website-リージョン名.amazonaws.com/test.jpg
(上の例ではhttp://test.docs.s3-website-us-east-1.amazonaws.com/test.jpg
)
本当に静的webサイトとして運用するなら、https化や独自ドメイン設定も必要かと思いますが。
この記事ではここまでとします。