前回の授業ではネットワークロードバランサーであるELBを実習で設定しました。しかしWebアクセスがhttpだけとなり好ましくありません。
今回のハンズオンでは続きでhttpsでアクセスができるように設定しましょう。
【ハンズオン】ELBにhttps接続が出来るように設定する
今回のハンズオン構成は前回の続きとなりますので、大きく変更はありません。
httpsアクセスを処理するためには、証明書の発行および付与設定が必要となります。セキュリティグループの設定も変更しながらハンズオンを進めていきましょう!
【ハンズオン:01】既存セキュリティグループの設定を見直す。
前回のネットワーク構成ではセキュリティグループは、「すべての箇所から、httpアクセスを許可する」となっていました。
ELBに付与したセキュリティグループの内容
この状態ですと外部からのhttpsアクセスが許可されていませんので、インバウンドルールにhttpsも追加します。
次はEC2インスタンスに付与したセキュリティグループの設定を変更します。EC2インスタンスへのアクセスですが、httpのままで構いません。
https接続処理の終端としてはELB(ALB)が担ってくれますので、EC2へはhttpで構わないのですが、現在EC2のセキュリティグループも「すべての箇所から、httpアクセスを許可する」となっています。これを「ELBからのみ、httpアクセスを許可する」に変更します。
EC2に付与したセキュリティグループの内容
今回変更するのはソースの部分を、ELBに付与したセキュリティグループを指定する事です。
変更後のEC2に付与したセキュリティグループの内容
セキュリティグループの設定が完了しましたら、あらためてWebサイトにアクセスし動作確認されてください。
Webサイトのアクセスで不具合が発生したら・・
セキュリティグループの設定後にWebサイトへのアクセスで不具合が発生したならば、セキュリティグループの設定が間違っている可能性が高いです。今一度設定内容を見直してください。
【ハンズオン:02】ELBのリスナー設定を変更する
事前準備であるセキュリティグループの設定が完了しましたら、ELBでhttps接続を受け付けるようにリスナーの設定をしましょう。作成したELBを選択します。
下部にあるタブメニューよりリスナーを選択します。
現在はhttp接続用のリスナーしかありません。https接続用のリスナーを追加しましょう。
プロトコルはhttpsを選択します(自動的にポート番号は443に変更します)
アクションの追加で転送先を選択します。
先に作成したターゲットを転送先として選択します。
https接続の場合には証明書が必要になりますが、まだ作成していません。よって「新しいACM証明書をリクエスト」をクリックし別ウィンドウで証明書を準備します。
証明書はドメイン毎に追加が出来ます。今回はホスト名無しでWebサイトにアクセスしますので、そのままドメイン名を入力します。
次に進みます。
ワイルドカード証明書について
例えばコンテンツをwww.ドメイン名.comやec.ドメイン名.comのようにホスト名まで含めて完全修飾ドメイン名で提供する場合には*.ドメイン名.comのようにワイルドカードを使うと集約設定が可能です。
証明書リクエストの検証方法です。今回はRoute53で検証作業を行いますので「DNSの検証」を選択します。
次に進みます。
タグ名も設定できますが、今回は設定せずに確認を押しましょう。
ドメイン名と検証方法の確認ができます。問題なければ確定とリクエストを押します。
検証段階に進みます。ドメイン名をクリックし情報を展開し、「Route53でのレコードの作成」ボタンを押します。
Route53で検証用レコードの作成を行いますので「作成」ボタンを押します。
成功と出ましたら、続行ボタンを押します。
証明書の検証が始まります。何度か更新ボタンを押してください、検証が終わるまで待ちます。
発行済みになれば証明書の発行は完了です。ウィンドウは閉じてELBの設定画面に戻りましょう。
ELBの設定画面にて更新ボタンを押すと、作成した証明書が選択できるようになります。
リスナーの追加ボタンを押してください。
無事にhttps用のリスナーが追加されたはずです。
戻るボタンを押して、リスナー一覧画面に戻ります。
httpおよびhttpsそれぞれのリスナーが準備されました。
【ハンズオン:03】改めてELBの動作確認をする。(https接続)
あらあためてブラウザで動作確認をします。今回はhttps接続をするようにブラウザのアドレス欄にURLを入力します。
無事に証明書付、つまり安全な通信経路でWebコンテンツの提供が可能になりました。
何度かリロードしてコンテンツ内容が切り替わるか確認してください。
ロードバランサーであるELBによってhttps接続でトラフィックを複数インスタンスに振り分けていることがわかるはずです。
まとめ
以上により、ELBでhttps接続を行うハンズオンとなります。最近ではセキュリティを確保するのが当たり前になりつつありますのでhttps接続も必須になります。またEC2側でhttps接続の証明書など準備が不要になりますので、コンテンツサーバーの切り替えも気軽に行えますね。
設定したリソースはそのまま残してください
次のレッスンでそのまま使いますので、今回設定した各リソースはそのまま残してください。