メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

Elastic Beanstalk 環境用に HTTPS を設定する

Elastic Beanstalk 環境用にカスタムドメイン名を購入して設定した場合は、お客様のウェブサイトにユーザーがセキュアに接続できるように、HTTPS を使用できます。ドメイン名を所有していない場合でも、開発およびテスト目的に自己署名証明書で、HTTPS を使用できます。HTTPS は、ユーザーデータやログイン情報を送信するいずれのアプリケーションにも必須です。

Elastic Beanstalk 環境で HTTPS を使用する最も簡単な方法は、お客様の環境のロードバランサーにサーバー証明書を割り当てることです。HTTPS を終了するようにロードバランサーを設定すると、クライアントとロードバランサーとの間の接続はセキュアになります。ロードバランサーと EC2 インスタンスとの間のバックエンド接続では HTTP が使用されるため、インスタンスの追加の設定は必要ありません。

注記

AWS Certificate Manager (ACM) を使用すると、ドメイン名の信頼された証明書を無料で作成できます。ACM 証明書は AWS ロードバランサーと CloudFront ディストリビューションでのみ使用できます。

Elastic Beanstalk で ACM 証明書を使用するには、「HTTPS を復号するよう Elastic Beanstalk 環境のロードバランサーを設定する」を参照してください。

単一インスタンスの環境でアプリケーションを実行したり、ロードバランサーの背後で EC2 インスタンスまでの接続をセキュリティで保護したりする場合は、HTTPS を終了するように、インスタンス上で実行されるプロキシサーバーを設定できます。HTTPS 接続を終了するようにインスタンスを設定するには、設定ファイルを使用して、インスタンスで実行されるソフトウェアを変更するほか、セキュアな接続を許可するようにセキュリティグループを変更する必要があります。

負荷分散環境でのエンドツーエンドの HTTPS の場合、インスタンスとロードバランサーの終了を組み合わせて、両方の接続を暗号化できます。デフォルトでは、HTTPS を使用するトラフィックを転送するようにロードバランサーを設定した場合、ロードバランサーはバックエンドインスタンスによって提示された証明書をすべて信頼します。セキュリティを最大限に高めるには、インスタンスによって提示された公開証明書をロードバランサーが信頼しない場合にそのインスタンスへの接続を禁止するポリシーを、ロードバランサーにアタッチできます。

注記

また、HTTPS トラフィックを復号化せずに中継するように、ロードバランサーを設定することもできます。この方法の欠点は、ロードバランサーがリクエストを見ることができないため、ルーティングを最適化したり、応答メトリクスをレポートしたりできないことです。

ACM がお客様のリージョンで使用できない場合は、信頼された証明書を第三者から購入できます。第三者からの証明書はロードバランサー、バックエンドインスタンス、またはその両方で HTTPS トラフィックの復号化に使用できます。

開発およびテスト目的に、オープンソースのツールを使用して自分で証明書を作成して署名できます。自己署名証明書は無料で簡単に作成できますが、公開サイトのフロントエンド復号化に使用することはできません。クライアントとの HTTPS 接続に自己署名証明書を使用しようとした場合、ユーザーのブラウザーではウェブサイトが安全でないことを示すエラーが表示されます。ただし、自己署名証明書を使用してバックエンド接続をセキュリティで保護しても問題ありません。

AWS CLI を使用して AWS Identity and Access Management (IAM) に第三者または自己署名証明書とプライベートキーをアップロードできます。IAM に保存されている証明書をロードバランサーと CloudFront ディストリビューションで使用できます。

注記

The Does it have Snakes? は、GitHub で入手できるサンプルアプリケーションであり、Tomcat ウェブアプリケーションで HTTPS を設定する方法別に設定ファイルと手順が含まれています。詳細については、readme ファイルHTTPS に関する手順を参照してください。