こんにちはますのです。
S3バケットに登録した静的Webサイトを独自ドメインで公開する研修があったのでメモレベルで書いていきます。
今回独自ドメインは取得してRoute53に登録済の状態で開始します。登録手順については別記事参照にて。
【AWS】Route53にムームードメインで取得したドメインを登録する
また、S3を独自ドメインでhttps通信で公開する場合は「CloudFront」を利用する必要があります。
https通信としたい方は別記事で紹介しているのでそちらを参照ください。
CloudFront + S3 + Route53で独自ドメインをSSL通信(https)設定をする
コチラの手順はhttp通信でS3バケットを公開する方法となるのであしからず。
Route53にレコードを作成する
AWS管理コンソール>Route53>ホストゾーン>(対象のドメイン)>「レコードを作成」をクリック
ルーティングポリシー:シンプルルーティングを選択>「次へ」をクリック
(今回は特に負荷を考えたりしなくて良いので単純に繋がれば良いのです)
「シンプルなレコードを定義」をクリック
レコード定義を入力>「シンプルなレコードを定義」をクリック
・レコード名:(アクセスしたいURL名)
・値/トラフィックのルーティング先
→S3ウェbサイトエンドポイントへのエイリアス
→アジアパシフィック(東京)[ap-northeast-1]
→s3-website-ap-northeast-1.amazonaws.com
(リージョンやS3の静的アドレスのリージョン名は環境に合わせて設定する)
最後に「レコードを作成」をクリックして登録完了となります。
S3を公開設定する
続いてS3の設定を行います。
S3のアクセス権設定をしないとRoute53でアクセスしてもS3自体がアクセスを拒否してしまいますからね。
・静的ウェブサイトホスティング:有効にする
・インデックスドキュメント:index.html(S3に保存しているtopページのファイル)
・エラードキュメント:error.html(入力しないと保存不可なのです、データ無くても何かしら入力すれば404エラーが表示されます)
全ユーザに対して読み取り権限を許可するように「GetObject」権限を設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::(バケット名)/*"
]
}
]
}
「http://(Route53で設定したURL)」
コチラの記事の画面レイアウトは2020/11月時点のものとなります。初期に作られた記事から更新されていない手順が多かったのでせっかくなので自分用として作ったのでした。