Grow up

生活とプログラミング

EC2に配置したWebサイトをELBと無料のSSL証明書を使ってHTTPSで公開する


はじめに

EC2でHTTPS通信を行う手順をいつも調べてしまうため簡単にまとめます。
今回の前提条件として無料のSSL証明書ドメインは取得済みとなります。

1. VPC

VPCを作成します。

2. サブネット

後のALBを利用してHTTPS通信を行う設定でサブネットが2つ必要となるため事前に作成します。

2. インターネットゲートウェイ

インターネットゲートウェイを作成します。
作成したインターネットゲートウェイを先ほど作成したVPCにアタッチします。

3. ルートテーブル

ルートのターゲットは先ほど作成したインターネットゲートウェイを指定します。

4. サブネットの関連付け

サブネットの関連付けを行います。
先ほど作成した2つのサブネットを登録します。

5. EC2

EC2のインスタンスを作成します。

注意:インターネットゲートウェイやルートテーブルが設定できていないとSSHやRDPを使ったEC2への接続ができず、EC2にElastic IPの関連付けもできません。

6. ロードバランサ―

ACMから取得したSSL証明書とALBを利用してEC2へHTTPS通信ができるように設定します。
ターゲットの種類はインスタンスを指定します。

サブネットは先ほど作成した2つの候補が出てくるので両方とも選択します。

セキュリティグループのインバンドルールはHTTPSとHTTPを指定します。

ターゲットグループには先ほど作成したEC2インスタンスを登録します。

リスナーとルーティングにはHTTPSとHTTPを指定します。

7. EC2のセキュリティグループ

EC2のセキュリティグループのインバウンドルールを編集します。
HTTPにロードバランサ―のセキュリティグループを指定するように変更します。

8. Route 53

ホストゾーンのAレコードにロードバランサ―を指定します。
エイリアスを有効にして先ほど作成したロードバランサ―を選択します。

9. 確認

EC2に配置したWebサイトがHTTPSで公開されていることを確認します。

その他

ロードバランサ―のリスナーからHTTPのルールを変更することでHTTPSにリダイレクトすることが出来ます。