標題の通りです。ご自身で取得したドメインをSSL化したい場合の一連の流れと作業を解説していきます。ちなみに、自分はお名前ドットコムでドメイン取得をしております。
■前提
・httpによるアクセスが出来ている環境であること.
・AWSを利用して、サーバー構築していること.
0:ACM,ALB,Route53各サービスの役割
初めに、各サービスの相互役割を解説して、全体の流れを解説していきたいと思います。
Route53の役割:
・ドメインのDNSレコードの作成
・ルーティング先をALBへ指定(ドメインアクセス後にALBへ)
ACMの役割:
・SSL化に必要な証明証の発行
ALBの役割:
・httpsアクセスに対して、ACMで発行した証明証を基にSSL化
・Target(今回はEC2インスタンス)へ、転送
・httpアクセスに対して、httpsへリダイレクト
①:ドメインの取得
ご自身でドメイン取得をして下さい。自分はお名前ドットコムでドメイン取得しております。
②:ACMで証明証発行
AWS Certificate Manager > 証明書 @ リクエスト
・「パブリック証明証をリクエスト」を選択
・完全修飾ドメイン名 (FQDN): {{ご自身で取得したドメインを指定}}
これで、証明証を発行します。
③:Route53レコードの設定
③-1:ホストゾーンの作成
Route 53 > ホストゾーン @ ホストゾーンの作成
・ドメイン名: {{ご自身で取得したドメインを指定}}
・パブリックホストゾーンを選択
これで、ホストゾーンを作成します。
③-2:NSレコードを、ドメイン購入サイトに反映
下記サイトなどで手順を参考に。
https://dev.classmethod.jp/articles/route53-domain-onamae/
https://blog.i-tale.jp/2020/04/13_02/
③-3:CNAMEレコードを、ACMからから作成
③-3-1:CNAMEレコードとは.
CNAMEは、ドメイン名と別ドメイン名をつけることができる。
つまり違うドメイン名で、同じ動きをしてくれます。
③-3-2:ACMから、Route53のCNAMEを作成
AWS Certificate Manager > 証明書 > ②で作成した証明証へ
Route53でレコード作成
③で作成している、Route53を選択して下さい。
④:ALBでSSL化 / ターゲットグループへの転送(EC2) / httpからのリダイレクト
④-1:ロードバランサーの作成
EC2 > ロードバランサー @ ロードバランサーの作成
Create Application Load Balancer
Basic configuration
名前を自由を設定にして、basic 情報を設定。
VPCを選択します。
今回のターゲットグループとなる、EC2インスタンスが設置してあるVPCを選択します。
※少なくとも2つ以上のアベイラビリティゾーンを追加して下さいとのことです。
リスナーを設定
・HTTPSプロトコル、443ポートで受けます。
・Forward to にターゲットグループを設定します。今回の場合は、EC2インスタンスを含まれるターゲットグループを指定
・secure listenerを From ACMで「②で作成したACMを指定」
セキュリティグループを設定
今回作成するセキュリティグループは、ALBへのセキュリティグループです。HTTPS・HTTPどちらもインバウンドを許可します。
※HTTPに対するリダイレクト処理は下記で紹介。
④-2:httpからのアクセスをhttpsへリダイレクト
設定方法を下記記事にて解説しています。
⑤:Route53で、Aレコードの設定
④で作成したALBを、Route53でAレコードをしていきます。
⑤-1:Aレコードとは.
ドメインをIPアドレスへ変換します。
ドメインへのリクエストが合った際のルート先を指定することができます。
今回はリクエストが合った際に、ALBを指定することで、SSL化を実行しています。
⑤-2:設定
・レコードタイプ:A
・エイリアス:オン
・ルーティング先:ALB >> ap-northeast-1(ご自身のリージョン)>>{{④で作成した、ALBを指定}}