SSLとは?
SSLは、通信を暗号化して第三者が万が一盗聴しても内容をわからなくする技術です。よくURLで見かける「https://~」で始まるものがSSL通信に当たります。この暗号化通信を実現するのに、公開鍵方式が採用されています。
(公開鍵方式の詳細記事)
SSLサーバー証明書の発行手順
SSL証明書を発行し、ロードバランサーにリスナーを追加した後に、ブラウザでHTTPS通信ができることをAWSコンソール画面にて確認していきます。
ドメイン名は、"www.ドメイン名"といったように、ロードバランサーの名前"www"をつけたドメインを入力する必要があります。検証方法は、Route53を使ってDNSサーバーを作成しているため、DNS検証を選択します。
完了したら作成したリクエストを選択し、"Route53でレコードを作成"をクリックし、そのまま"レコードを作成"をクリックします。これで、SSL証明書の発行は完了になります。証明書のステータスが発行済みになるのに、少し時間がかかるため完了するまで待ちます。
次は、ロードバランサーにHTTPS通信を待ち受けるリスナーを追加していきます。
ターゲットグループは、事前に作成した"sample-tg"を選択し、SSLは先ほど作成したものを選択します。これで、リスナーの追加は完了です。
動作確認
まずは、SSH通信でweb01とweb02に接続します。
$ ssh web01
$ ssh web02
それぞれをPythonでHTMLサーバーを立ち上げます。
$ python -m SimpleHTTPServer 3000
ターゲットグループよりステータスがhealthyになるまで、接続し続けます。healtyになったら、ブラウザより "https://www.<ドメイン名>" を入力して実際にindex.htmlの中身が表示されていれば、SSL通信ができています。
参考
AWSではじめるインフラ構築入門 翔泳社出版