#はじめに
Route53に登録されたカスタムドメインを使用した静的ウェブサイトの設定のサイトを元に、静的ウェブサイトを作成したい。(すでに作成したため、画像が一番はじめに作成したものと一部異なる場合がございますが、あらかじめご了承ください。)
#手順
##ドメイン購入
AWSでドメイン購入すると高いので(作成時点だと$9~だった)、基本的に1円〜購入可能であるお名前.comで購入する。取得方法はこちら。(サーバー購入はする必要なし。)
##バケット作成
ルートドメインバケットを今回は例としてhoge.work
とする。(実際は先ほど購入したドメイン名にして下さい。)
「S3」>「バケットを作成する」を選択。
バケット名(hoge.work
など先ほど購入したドメイン名に合わせると良い)を入力。
リージョンは日本に住んでいれば、「アジアパシフィック(東京)」を選択する。
後はデフォルトの設定のままで、作成を押す。
##バケットの設定
先ほど作成したルートドメインバケットを選択する。
「プロパティ」>「静的ホスティング」を選択。
「このバケットを使用してウェブサイトをホストする」を選択する。
インデックスドキュメント名index.html
、エラードキュメントerror.html
と入力する。保存を選択する。
##サーバーアクセスのログ記録を有効化
同じリージョンで、ログ記録用のバケットを作成。(名前の例:logs.hoge.com
)(適宜自分の作成したドメイン名で変更する。一意でないとダメなので、すでに存在するようなら、一意になるような名前にする。)
作成したバケットに入り「概要」>「フォルダの作成」でログファイル用のフォルダを作成。 (名前の例:logs
)
ルートドメインバケットに入り、「プロパティ」>「Server access logging (サーバーアクセスのログ記録)」を選択。「ログの有効化」を選択する。ターゲットバケットで、下記項目を入力。
・ログファイル用に作成したバケット (logs.example.com
など)
・「ターゲットプレフィックス」 に、ログファイル用に作成したフォルダの名前に続けて区切り記号 (/) を入力(例:logs/)
「保存」を選択。
※ログは「概要」でみれる。
##アップロード
index.html
を作成する。
ローカルのエディタで下記内容を入力し、index.html
で保存する。(大文字ではなく。小文字でindex.html
とする。)
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>My Website Home Page</title>
</head>
<body>
<h1>Welcome to my website</h1>
<p>Now hosted on Amazon S3!</p>
</body>
</html>
「ルートドメインバケット」>「概要」>「アップロード」を選択。
先ほど作成したindex.html
を追加し、アップロードする。
「ルートドメインバケット」のバケットを選択し、「パブリックアクセス設定を編集する」を選択する。
「Block all public access (すべてのパブリックアクセスをブロックする)」のチェックをはずし、[保存] を選択。
確認
を入力し、「確認」を選択する。
「ルートドメインバケット」のバケットに入り、「アクセス権限」>「バケットポリシー」で以下のように入力する。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::hoge.work/*"
]
}
]
}
Resource
内のexample.work
は作成したバケット名に合わせる。
入力したら、「保存」を押す。
「プロパティ」>「静的ウェブサイトホスティング」で「エンドポイント」の横のURLを選択し、ブラウザにindex.html
ページが表示されれば、成功。
#エイリアスレコードを追加
「Route53」>「ホストゾーン」を選択。
「ホストゾーンの作成」を押し、「ドメイン名」で作成したドメインを入力。タイプは「パブリックホストゾーン」とする。「作成」を押す。
作成したドメインを選択し、「レコードセットの作成」を選択する。
下記の項目を確認・選択する。
名前 何も入力せず、そのままとする。
タイプ:「A – IPv4 アドレス」を選択。
エイリアス:「Yes」を選択。
エイリアス先:リストの「S3 website endpoints (S3 ウェブサイトエンドポイント)」セクションで、バケット名を選択。
ルーティングポリシー:デフォルト値の「Simple」をそのまま使用。
ターゲットの正常性の評価:デフォルト値の「No」をそのまま使用。
ネームサーバーがお名前.comのままになっているので、変更する。お名前.comのネームサーバの変更の仕方はこちら
該当ドメインのNSレコードの値4つを「その他のネームサーバーを使う」に入力する。保存したら、変更されるまでしばらく待つ。
##ウェブサイトを確認
ブラウザで、URLを入力。ドメイン 例:http://hoge.work
。
下記のように出れば成功。