S3のみで静的Webサイトを公開する
- 適当にS3バケットを作成する
- バケット設定のプロパティ -> 静的ウェブサイトホスティングの編集を押す
- 有効にするにチェックを入れる
- インデックスドキュメントにindex.htmlと入力する
- (任意) JSON形式でリダイレクト設定をする
https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-page-redirect.html?icmpid=docs_amazons3_console - 適当なindex.htmlファイルをアップロードする
- アクセス許可のブロックパブリックアクセスで、すべて無効にして公開する
- バケットポリシーに下記を記載する
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3-site-test-20220730-1/*"
}
]
}
- 静的ウェブサイトホスティングの設定箇所に記載されているURlをクリックする
CloudFrontとS3で静的Webサイトを公開する
- 適当にS3バケットを作成する
- CloudFrontコンソール画面で、ディストリビューションを作成を押す
- オリジンドメインで、S3バケットを指定する
- Origin path - optionalでindex.htmlを記入する
- オリジンアクセスで、Origin access control settings (recommended)にチェックを入れる
- 「Create new OAC」を押して、OACを作成し、ポリシーをコピーを押す
- S3コンソール画面に戻り、アクセス許可->バケットポリシーで編集を押す
- コピーしたポリシーを張り付けて保存する
- CloudFrontの画面に戻り、作成を押す
- ディストリビューションを作成を押す
- CloudFrontコンソール画面で作成したディストリビューションを選択して、ディストリビューションドメイン名をURLとして開く
まとめ
今回はS3 + CloudFrontを用いて、静的Webサイトの公開の仕方を紹介した。