Amazon EC2 インスタンスとロードバランサーに同じ SSL 証明書を使用する方法を教えてください。
最終更新日: 2022 年 4 月 14 日
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスとロードバランサー間の SSL 接続を有効にしたいと考えています。
簡単な説明
Amazon が発行するパブリック証明書を EC2 インスタンスにインストールすることはできません。エンドツーエンドの暗号化を有効にするには、サードパーティーの SSL 証明書を使用する必要があります。
解決方法
EC2 インスタンスにサードパーティーの証明書をインストールします。その後、AWS Certificate Manager (ACM) にインポートして、サードパーティーの証明書をロードバランサーに関連付けます。
Apache ウェブサーバー (Amazon Linux 2)
1. 「SSH を使用した Linux インスタンスへの接続」の手順に従います。
2. Apache サーバーの mod_ssl モジュールをインストールします。
$ sudo yum install mod_ssl -y
3. /etc ディレクトリに certs という名前のディレクトリを作成します。次に、サードパーティーの証明書ファイルをそのディレクトリにコピーします。サードパーティーの証明書ファイルのパスは次のとおりです。
SSL 証明書 - /etc/certs/your_domain.crt
プライベートキーファイル - /etc/certs/private-key.key
証明書チェーン - /etc/certs/chain.crt
注: この例では、/etc ディレクトリを使用します。任意のディレクトリを使用してください。
4. ルート所有者のアクセス許可をサードパーティーの証明書ファイルに割り当てます。
$ sudo chmod 600 /etc/certs/your_domain.crt
$ sudo chmod 600 /etc/certs/private-key.key
$ sudo chmod 600 /etc/certs/chain.crt
$ sudo chown root.root /etc/certs/your_domain.crt
$ sudo chown root.root /etc/certs/private-key.key
$ sudo chown root.root /etc/certs/chain.crt
5. 任意のテキストエディタを使用して、ssl.conf ファイル内の証明書ファイルのデフォルトの場所を編集します。デフォルトの場所を、ステップ 3 の証明書ファイルの場所に置き換えます。
6. .conf ファイルを保存し、次のコマンドを使用して http サービスを再起動します。
$ sudo service httpd restart
サードパーティーの証明書が、Amazon EC2 インスタンスで実行中の Apache ウェブサーバーに正常にインストールされています。
IIS ウェブサーバー (Windows Server 2012-R2)
1. 手順に従って、リモートデスクトッププロトコル (RDP) を使用して Windows インスタンスに接続します。
2. [Start] をクリックし、[mmc] と入力して [OK] をクリックします。
3. [File]、[Add/Remove Snap-ins]、[Certificates]、[Computer account]、[Next]、[Local computer]、[Finish] の順に選択し、[OK] をクリックします。
4. MMC コンソールで [Certificates] を展開し、[Trusted Root Certificate Authorities]、[Certificates]、[Action]、[All tasks]、[Import]、[Next] の順に選択して、[Browse] をクリックします。
5. 証明書で [Root]、[Open]、[Next] の順に選択し、[Finish] をクリックします。
6. MMC コンソールで [Intermediate Certification Authorities] を展開し、Intermediate の証明書に対してステップ 4 ~ 5 を繰り返します。
7. MMC コンソールウィンドウを閉じてから、[No] をクリックしてコンソール設定を破棄します。
8. サーバーマネージャーを開き、[Tools]、[Internet Information Services (IIS) Manager] の順に選択します。
9. [Connections] で証明書をインストールする Windows サーバー名を選択します。
10. [Server Certificates] を開きます。
11. [Actions] で [Import]、[certificate] の順に選択し、[Open] をクリックします。
12. [Password] に証明書のパスワードを入力し、[OK] をクリックします。
13. [Connections]で [Sites] を展開し、証明書をインストールするウェブサイト名を選択します。
14. [Actions] で [Bindings] を選択し、[Add] をクリックします。
15. [Type] ドロップダウンメニューで [https] を選択します。
16. [IP address] にウェブサイトの IP アドレスを入力するか、[All Unassigned] のままにします。
17. [SSL certificate] で [Select] を選択し、証明書を選択してから [OK] をクリックします。
18. [Manage Website] で [Restart] を選択します。
IIS ウェブサーバーを再起動すると、サードパーティーの証明書が Amazon EC2 インスタンスに正常にインストールされます。
Amazon EC2 インスタンスに証明書をインストールしたら、AWS Certificate Manager への証明書のインポートの手順に従います。次に、手順に従って ACM SSL/TLS 証明書を Classic Load Balancer、Application Load Balancer、または Network Load Balancer に関連付けます。