AWS EC2で構築するTomcatサーバをHTTPS化
AWS EC2で構築するTomcatサーバをHTTPS化する方法を記述する。
目次
AWS EC2で構築するTomcatサーバをHTTPS化
1.概要
AWSのEC2上に構築したTomcat(8080)に対して、
AWSが発行する無償のSSLサーバ証明書をSSL終端としてApplication Load Balancerに設定し、
インターネットからHTTPS通信でアクセス(https://www.a-frontier.com/)できるようにする。
2.ポイント
EC2上のTomcatサーバは8080ポートで起動する。
SSL終端はELB(ALB『Application Load Balancer(ALB)』)として構成する。
SSL証明書はACM(AWS Certificate Manager)で発行したものを利用する。※無償
お名前.comのDNS(CNAME)設定を変更しDNS検証する
3.構成図

4.構築手順
「AWS Certificate Manager」での証明書発行
1.パブリック証明書をリクエストする

2.インターネットからアクセスする際のサーバホスト名を指定する

3.ホスト名の検証方法を選択する。DNSに登録可能であるため、「DNSの検証」を選択する。

4.検証リクエストを開始する。

5.リクエスト状態となる。

6.DNSに設定するCNAMEレコードを取得

7.DNSにCNAME値を登録する。※お名前.comの例

8.DNSにCNAME値を登録完了した状態

9.15分程度待っているとステータスが『発行済』となる。

10.AWSでロードバランサを作成する

11.「Application Load Balancer」を指定して作成する。

12.適当な名前をつけ、HTTPS(443)で作成する

13.2つ以上のアベイラビリティーゾーンの指定が必要となる。

14.「ACMから証明書を選択する」を指定する

15.セキュリティグループを作成する。インターネットからTCP443でアクセス可能とする。

16.ルーティングの設定としてTomcat(HTTP:8080)に接続できるよう定義する。

17.Tomcat(8080)に対するヘルスチェックを定義する。

18.ルーティング先サーバとしてのTomcat(8080)を選択する。

19.定義内容を確認する。

20.ロードバランサ作成が完了した。

21.作成済のロードバランサの状態。

22.DNSサーバに登録ホスト名であるAWSで払いだされたホスト名(DNS名)を確認する。

23.DNSサーバにCNAMEとしてホスト名を登録する。

24.AWSで払いだされたホスト名(DNS名)でアクセス可能か確認する。

25.DNSサーバにCNAMEとして登録したホスト名でアクセス可能か確認する。
