【学習記録】S3+Route 53+CloudFrontで独自ドメインでサイト公開し常時SSL化した

S3+Route 53+CloudFrontを使って、サイトを公開できました。
Route 53とCloudFrountは使い慣れていないので時間かかりましたが、一通り成功したので一安心です。

httpsで公開したサイトは以下です。
(この記事を書いている時点ではクライアント側しか動作しません。勉強用なのですぐ消す可能性あり) picture-app.link

独自ドメイン+httpsでサイトを公開した際の手順と参考にさせてもらった記事は以下です。

Route 53でドメイン取得

まずはRoute53でドメインを選択して購入しました。
一番安いものを選んで.linkで5ドルでした。

qiita.com

S3に公開したサイトとRoute 53で取得した独自ドメインを紐づける

すでにS3でサイトが公開されていることを前提としています。
この時点ではhttp通信になりますが、独自ドメインでサイトを公開できます。
hacknote.jp

AWS Certificate Manager(ACM)でSSL証明書を取得

下記記事の前半部分を参考にさせてもらいました。
qiita.com

CloudFrontとS3を紐づける

CloudFrontは不慣れなので時間かかりましたが、下記記事を参考に設定していきました。
次の手順のRoute53でCloudFrontが表示されないトラブルがあって手こずりましたが、CloudFrontでAlternate Domain Names (CNAMEs)の項目を設定し忘れていたことが原因だったようでCNAMEsを設定したら想定通り動きました。 dev.classmethod.jp

Route53で設定している向き先をCloudFrountに変更する

下記記事を参考にして設定しました。
すでにRoute53は構築してあるので向き先を変えるだけになります。

dev.classmethod.jp

まとめ

あまり触ったことのないマネージドサービスが多かったのでちょっと記憶があいまいですが、だいたい上記の流れで独自ドメインSSL通信ができるようになりました。
次はS3+CodePipelineでフロントエンドのCI/CDを構築したいと思います。