スケーラブルウェブサイト構築 ハンズオンの追加コンテンツとして以下の内容を実施します。
- Route 53を使った独自ドメイン化
- AWS Certificate Manager (ACM) を使った通信のHTTPS化

事前準備
Route53にドメインが設定済みとして進めます。
独自ドメイン名を設定する
Route 53の管理画面を表示します。
ホストゾーンをクリックします。
対象のホストゾーンをクリックします。

レコードを作成をクリックします。
サブドメインを作成する場合はレコード名を指定します。 レコードタイプは
Aを選択します。 エイリアスをオンにします。 トラフィックのルーティング先をApplication Load Balancer と Classic Load Balancer へのエイリアス、アジアパシフィック(東京)、対象のロードバランサーを選択します。ルーティングポリシーとターゲットのヘルスを評価は変更せず、レコードを作成をクリックします。
以上で独自ドメインの設定は完了です。
ブラウザでhttp://www.moritalous.tk/にアクセスができることを確認してください。

通信を暗号化する(HTTPS通信を有効にする)
AWS Certificate Managerの管理画面を表示します。
証明書をリクエストをクリックします。
証明書のタイプは
パブリック証明書をリクエストを選択して次へをクリックします。
完全修飾ドメイン名に
www.moritalous.tk(登録するドメイン)を入力します。 検証方法はDNS検証を選択します。 キーアルゴリズムはRSA2048を選択します。リクエストをクリックします。
画面上部の
証明書を表示をクリックします。
ドメインのセクションにある
Route 53でレコードを作成をクリックします。
レコードを作成をクリックします。 Route 53にCNAMEレコードが追加され、このCNAMEが正しいことが確認できたら検証が完了です。
DNS検証が完了すると、証明書のステータスが発行済みに変わります。

EC2の管理画面を表示します。 左メニューのセキュリティグループをクリックします。

elb-moritalousを選択し、インバウンドのルールを編集をクリックします。
ルールを追加をクリックします。
タイプをHTTPSにします。
ソースをAnywhere-IPv4にします。
ルールを保存をクリックします。

左メニューのロードバランサーをクリックします。

対象のロードバランサーをクリックします。

リスナーとルールのセクションの
リスナーの追加をクリックします。
プロトコル:ポートを
HTTPS、443に変更します。
ターゲットグループを指定します。
デフォルトのSSL/TLS証明書を
ACMから、作成した証明書を指定します。
追加をクリックします。
以上で通信を暗号化するための設定は完了です。
ブラウザでhttps://www.moritalous.tk/にアクセスができることを確認してください。
(オプション)HTTPS通信を強制する
HTTPで通信が来た場合にHTTPSにリダイレクトするよう設定します。
EC2の管理画面のロードバランサーを表示します。 対象のロードバランサーをクリックします。

リスナーとルールタブの、
HTTP:80のルールをクリックします。
ルールタブの
デフォルトをクリックします。
アクションの
ルールの編集をクリックします。
アクションの種類を
URIにリダイレクトに変更します。
URIにリダイレクトをURI部分を選択します。
プロトコル:ポートをHTTPS、443を指定します。
変更内容の保存をクリックします。
以上でHTTPS通信を強制する設定は完了です。
ブラウザでhttp://www.moritalous.tk/にアクセスし、HTTPSにリダイレクトされることを確認してください。
参考までに、cURLでアクセスすると、301が返却されていることが確認できます。
curl.exe -v http://www.moritalous.tk/
* Trying 18.178.66.126:80...
* Connected to www.moritalous.tk (18.178.66.126) port 80 (#0)
> GET / HTTP/1.1
> Host: www.moritalous.tk
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: awselb/2.0
< Date: Fri, 04 Aug 2023 14:57:17 GMT
< Content-Type: text/html
< Content-Length: 134
< Connection: keep-alive
< Location: https://www.moritalous.tk:443/
<
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
</body>
</html>
* Connection #0 to host www.moritalous.tk left intact