S3にアップロードした画像をドメイン名+ファイル名で取得できるようにしています。

こんな感じです。

http : //img.thothchildren.com/thothchildren.png

img.thothchildren.comがドメイン名でファイル名がthothchildren.pngになるように設定します。

S3での設定

s3でpublicのアクセス権を持つバケットを作ったら以下のような画面になると思います。

スクリーンショット 2018-04-19 22.25.12.png

そしたら、上記のバケットをクリックして、プロパティを開きます。

スクリーンショット 2018-04-19 22.27.09.png

ここで、「Static website hosting」を開き有効にします。

このバケットを使用してウェブサイトをホストする」を選択して他の設定はこのままで問題ありません。

スクリーンショット 2018-04-19 22.29.24.png

上記のエンドポイントは後で使います。

Route53の設定

HostedZoneが一つ設定されていることを想定されています。今回はここでthothchildnen.comをHosted Zone、登録するものをimg.thothchildren.comとする場合を例にします。

Recordを一つ加え、以下のように設定します。AliasをYesにして先ほどのエンドポイントになるように設定します。

スクリーンショット 2018-04-19 22.32.40

上記設定ができれば、以下のように表示されるようになります。

スクリーンショット 2018-04-19 22.32.35

上記で設定は完了です。S3に何か画像をおいて、ドメイン名+そのファイル名を取得してみてください。できるはずです。

おわりに

これも簡単。