AWS S3 + Route53でウェブ・ホスティングをする際のはまりどころ
「No Targets Available」に疲れたあなたに
Amazon Web Service S3を使ったスタティックなウェブサイトの公開方法については公式含めてすでにドキュメントがありますので参照してください。
今回は特に、最後の最後Route53でサイトのDNSレコードとS3バケットを関連付ける際に遭遇しがち(自分だけ?)な「No Targets Available」の解決方法について書きます。
Route53でAレコードを追加し、エイリアスとしてコンテンツをアップロードしたS3バケットを指定すれば良いわけなのですが、手順に従ってAレコードを追加しようとするとターゲット候補に「No Targets Available」と表示されてS3バケットが選択できないことがあります。
わざわざ公式のトラブルシューティング記事が公開されているので、結構これにはまる人がいるのかもしれません。
Route53とS3のアイテムが同一のアカウントで作成されていないといけないなどの制約もあるのですが、あわせて「S3バケットの名前とRoute53で設定するホスト名が一致している」ことを確認してください。
つまり、help.pigbo.co というホスト名でサイトを公開したい場合、S3のバケット名も「help.pigbo.co」である必要があるということです。
これは実はドキュメントには書かれていることなのですが、サラッとしかも分かりにくい言い方になっているので読み流してしまうことがあります。筆者は時間をおいてこの作業をする度にこの問題に遭遇して、解決策を思い出すまでに毎回2−3時間を無駄にしています。
S3のバケット名はホスト名と同じに!ぜひよろしくお願いします