AWS ELBにHTTPS(SSL証明書)を設定する手順を初心者向けに解説!
生徒
「先生、AWSのロードバランサーにHTTPSを設定したいんですが、SSL証明書とか出てきて難しそうです。どうすればいいんでしょうか?」
先生
「大丈夫ですよ。AWSのElastic Load Balancing(イーエルビー)にHTTPSを設定するには、SSL(エスエスエル)証明書を用意してリスナーに設定するだけです。順を追えば初心者でもできます。」
生徒
「SSL証明書ってそもそも何のために必要なんですか?」
先生
「SSL証明書は通信を暗号化して、利用者が安心してウェブサイトに接続できるようにする仕組みです。AWSではACM(エーシーエム、AWS Certificate Manager)を使って簡単に証明書を発行できますよ。」
1. HTTPSとSSL証明書とは?
HTTPS(エイチティーティーピーエス)は、HTTPにSSL(エスエスエル)やTLS(ティーエルエス)という暗号化技術を組み合わせた通信プロトコルです。これにより、ユーザーとサーバー間の通信内容を第三者から守ることができます。
SSL証明書(エスエスエルショウメイショ)は、ウェブサイトが正規のものであることを証明し、暗号化通信を実現するために必要な電子的な証明書です。AWSではAWS Certificate Managerを利用して無料の証明書を発行できます。
2. AWS ELBにおけるHTTPSの役割
AWS Elastic Load Balancer(エラスティックロードバランサー、略してELB)は、リクエストを複数のEC2インスタンスに振り分ける役割を持ちます。ELBにHTTPSを設定することで、ロードバランサーとクライアント間の通信が暗号化され、セキュリティが強化されます。
さらに、ELBに証明書を設定すれば、個々のEC2サーバーに証明書をインストールしなくても安全な接続を提供できるため、管理が容易になります。
3. SSL証明書の準備(AWS Certificate Manager)
AWS Certificate Manager(エーシーエム)は、SSL証明書を簡単に発行・管理できるサービスです。以下の手順で証明書を準備します。
- AWSマネジメントコンソールにログイン。
- 「Certificate Manager」を開く。
- 「証明書のリクエスト」をクリックし、ドメイン名を入力。
- 検証方法(DNS検証またはEmail検証)を選択。
- 検証が完了すると証明書が発行されます。
4. ELBにHTTPSリスナーを追加する
証明書を準備したら、ロードバランサーにHTTPSリスナーを設定します。
- AWSマネジメントコンソールで「ロードバランサー」を開く。
- 対象のロードバランサーを選択。
- 「リスナー」タブで「リスナーを追加」をクリック。
- プロトコルにHTTPS、ポートに443を指定。
- SSL証明書としてACMで発行した証明書を選択。
- デフォルトのターゲットグループを指定して保存。
5. セキュリティポリシーと暗号化設定
HTTPSリスナーを作成する際には、暗号化方式を選ぶ必要があります。AWSでは「セキュリティポリシー」というテンプレートを用意しており、TLSのバージョンや暗号スイートを指定できます。最新のセキュリティを確保するために、推奨されるポリシーを選択しましょう。
6. 動作確認の手順
設定後は、実際にブラウザで「https://」から始まるURLにアクセスして確認します。ブラウザのアドレスバーに鍵マークが表示されれば、SSL証明書が正しく設定されている証拠です。もしエラーが出る場合は、証明書の有効期限やドメイン名が一致しているかを確認しましょう。
7. 初心者でも分かる例え話
HTTPSとSSL証明書を、郵便物に例えると分かりやすいです。通常のHTTP通信は、誰でも簡単に開けられる封筒で手紙を送るようなものです。これでは途中で内容が盗み見られる可能性があります。一方、HTTPS通信は頑丈な鍵付きのケースに入れて送るようなもので、受け取る人しか開けられません。これにより、利用者は安心してサービスを使えるのです。