目標
S3で静的なWebサイトを公開する。
やること
バケットの作成
静的ウェブサイトホスティングの有効化
バケットポリシーの編集
ファイルのアップロード
バケットの作成
バケット名はグローバルで一意でなければならない。
また、独自ドメインを設定する場合はドメイン名と同じにする。
※ CloudFrontに対して独自ドメインを設定する場合は同じにする必要はない。
パブリックアクセスのブロックをすべてオフにする。
静的ウェブサイトホスティングの有効化
プロパティの静的ウェブサイトホスティングから
静的ウェブサイトホスティングを有効にする。
インデックスドキュメントとして index.html を設定する。
バケットポリシーの編集
アクセス許可のバケットポリシーから以下のように編集する。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::{バケット名}/*"
}
]
}
ファイルのアップロード
今回は動作確認のため、以下の内容のファイルをアップロードして
「Hello, S3!」と表示されることを確認する。
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>【AWS】S3で静的なWebサイトを公開する</title>
</head>
<body>
<p>Hello, S3!</p>
</body>
</html>
プロパティの静的ウェブサイトホスティングにある
バケットウェブサイトエンドポイントからアクセスする。
http://{バケット名}.s3-website-ap-northeast-1.amazonaws.com/
「Hello, S3!」と表示されれば完了。
課題
現在のURL: http://{バケット名}.s3-website-ap-northeast-1.amazonaws.com/
URLがカッコ悪い -> 独自ドメインの設定や常時SSL化などの対応が必要