概要
こちらの投稿は2025 Japan AWS Jr.Championsの有志メンバーで作成した『30日間で主要AWSサービスを構築できるようになる』をテーマにした初学者向けのハンズオン問題集のDAY3になります!
問題集の趣旨や作成に至るまでの経緯は以下の記事をご覧いただければと思います。
https://qiita.com/satosato_kozakana/items/446971c2deca7e27d0aa
| 項目 | 内容 |
|---|---|
| 所要時間 | 約1時間 |
| メインサービス | Amazon S3, Amazon CloudFront |
| 学べること | S3 の基礎知識, 静的ウェブサイトホスティングの構築方法 |
| 想定費用 | 0円(※格納するファイル容量、実行回数により課金が発生する可能性はあります) |
参考:リソースの課金体系については以下を参照ください。
課題内容
- データの保管およびライフサイクル管理を行う。
- S3のみで静的ウェブサイトホスティングをしよう。
- https接続で静的ホスティングサイトホスティングをしよう。
アーキテクチャ図
実装機能
- Amazon S3 内の全てのオブジェクトが1日後に削除されるようにします。
- Amazon S3 のみでHTMLで作成された静的ウェブサイトをブラウザで表示できます。
- https接続でHTMLで作成された静的ウェブサイトをブラウザで表示できます。
💡 実装のヒント
S3 のライフサイクルポリシー
S3 は格納しているオブジェクトに対して、保管期間を設定することができます。
ストレージクラスの変更・オブジェクトの削除を実現するために適切なライフサイクルポリシーを設定してください。
静的ウェブサイトの実装方法
S3 内にHTMLファイルを配置し、静的ウェブサイトホスティングを有効化することで簡単に実装できます。https 接続の要件がある場合は Amazon S3 のみでは実装できないためAmazon CloudFront のディストリビューションの作成も必要となります。
完成後のチェックポイント
-
1日後に S3 内に保管したオブジェクトがすべて削除されている。(削除や移行のタイミングは、
協定世界時(UTC) で0時のため日本では午前9時になりますので確認する時間は注意してください。) - https://...../index.html で想定通りのホームページが表示される。
使用資材
🔗 リファレンスリンク
解答・構築手順(クリックで開く)
解答と構築手順を見る
ステップ1:S3 へのファイル格納
- AWS マネジメントコンソールを開く
- 「S3」→「汎用バケット」を選択
- 「バケットを作成」を選択
- 以下の設定値を選択し、「バケットを作成」をクリック
- 作成したバケットをクリックし、アップロードを選択
- 「ファイルを追加」をクリックし、格納したいファイルを選択
- 「管理」をクリックし、「ライフサイクル設定」より「ライフサイクルルールを作成する」をクリック
- 以下の設定値を選択し、ルールの作成をクリック
ステップ2:Amazon S3 のみでの静的ウェブサイトホスティング
- ステップ1の1~6の方法で、index.htmlファイルを Amazon S3 にアップロードする
- 「アクセス許可」の「バケットポリシー」の編集をクリック
- 以下のバケットポリシーを貼り付けし、「変更の保存」をクリック
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::handson-s3-xxxx/*"
}
]
}

4. バケットのプロパティを選択し、「静的ウェブサイトホスティング」の「編集」をクリック

5. 以下の設定値を選択し、「変更の保存」をクリック
- 静的ウェブサイトホスティング:有効にする
- ホスティングタイプ:静的ウェブサイトをホストする
- インデックスドキュメント:index.html
- エラードキュメント:設定なし
- リダイレクトルール:設定なし


6. 「プロパティ」の「静的ウェブサイトホスティング」のバケットウェブサイトエンドポイントに記載されているURLをクリック

7. ホームページを閲覧できる

ステップ3:httpsによる静的ウェブサイトホスティング
- 「Amazon CloudFront」→「 CloudFront ディストリビューションを作成」をクリック
- 以下の設定値を選択して、「 Next 」をクリック
- 以下の設定値を選択して、「 Next 」をクリック
- 以下の設定値を選択して、「 Next 」をクリック
-Web Application Firewall(WAF):セキュリティ保護を有効にしないでください
- 内容を確認し、「Create distrubution」をクリック
- 作成したディストリビューションの「ID」をクリック
- 「 https:://「ディストリビューションドメイン名」/index.html 」でブラウザで開く

片付け(リソース削除)
- Amazon S3 を削除
- Amazon CloudFront を削除
ステップ1 Amazon S3 を削除
注意:バケット内が空でないと Amazon S3 は削除できないので、バケット内のファイルを削除してからバケットを削除してください。
- 作成したバケットを選択し「削除」をクリックしバケットを完全に削除する。
ステップ2 Amazon CloudFront を削除
本日のまとめ
この課題では Amazon S3 について、ファイルの保管や管理・静的ウェブサイトホスティングが身につきます。次回は応用編として Amazon Route53 を利用して独自ドメインの静的ウェブサイトにも挑戦してみましょう!


















