EC2インスタンスをRoute53 + ALB + ACMでHTTPS化独自ドメイン化して公開した手順

EC2インスタンスの立ち上げ+HTTPS化の手順

1. EC2インスタンスを作成

普通にぽちぽち作る

2. Route 53でドメイン発行

普通にぽちぽち作る

3. Certificate Managerで証明書発行

f:id:iine_programming:20220124112739p:plain

Certificate Manager>証明書をリクエス

より、2で作成したドメインを指定してぽちぽち作っていく。
Route 53でドメインを作っている場合、[Route 53 でレコードを作成]よりCNAMEレコードをRoute53に書き込むことができる。

4. ターゲットグループでインスタンスを指定

f:id:iine_programming:20220124102205p:plain

EC2コンソール>ロードバランシング>ターゲットグループ

より、[ターゲットの作成]を実施。
ロードバランサーがリクエストをどこにルーティングするかを設定する。
EC2インスタンス上のアプリケーションは3000ポートで動かしていたので、HTTPの3000ポートで設定。

5. インターネット → ロードバランサー用のセキュリティーグループを作成

f:id:iine_programming:20220124101634p:plain

EC2コンソール>セキュリティグループ>セキュリティグループの作成

より、ロードバランサーインターネットに対してどのポートを受け付けるかを示すセキュリティグループを作成する。
今回はHTTPS通信のみにするので、443ポートのみ開放した。

6. ロードバランサー → アプリケーション用のセキュリティーグループを作成

f:id:iine_programming:20220124101939p:plain

EC2コンソール>セキュリティグループ>セキュリティグループの作成

より、アプリケーションロードバランサーに対してどのポートを受け付けるかを示すセキュリティグループを作成する。
4で指定したポート番号を設定していないとロードバランサーがアクセスできないので注意
[ソース]欄に5で作成したセキュリティグループIDを設定することで、ロードバランサーのみアクセスを受け付けるように設定

7. HTTPS通信を受け付けるためのロードバランサーを作成

EC2コンソール>ロードバランサーロードバランサーの作成より

Application Load Balancerを作成する
[セキュリティグループ]に4で作成したセキュリティグループを指定
[リスナーとルーティング]に3で作成したターゲットグループを指定、HTTP通信の3000ポートで指定

8. EC2インスタンスにセキュリティグループを指定

f:id:iine_programming:20220124113820p:plain

EC2コンソール>インスタンスインスタンス概要
より、6で作成したセキュリティグループを設定

9. 完成

f:id:iine_programming:20220124113608p:plain