スケーラブルウェブサイト構築 ハンズオンの追加コンテンツとして以下の内容を実施します。
- 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