翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ロードバランサーでの HTTPS 終端の設定
AWS Elastic Beanstalk 環境を更新して HTTPS を使用するには、環境内でロードバランサー用の HTTPS リスナーを設定する必要があります。HTTPS リスナーは、Classic Load Balancer とApplication Load Balancer の 2 種類のロードバランサーをサポートします。
Elastic Beanstalk コンソールまたは設定ファイルのいずれかを使用して、セキュアリスナーを設定し、証明書を割り当てることができます。
注記
単一インスタンス環境にはロードバランサーが存在せず、ロードバランサーでは HTTPS 接尾辞はサポートされません。
Elastic Beanstalk コンソールを使用したセキュアリスナーの設定
お客様の環境のロードバランサーに証明書を割り当てるには
Elastic Beanstalk コンソール
を開き、[Regions] (リージョン) リストで AWS リージョンを選択します。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
注記
環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。
ナビゲーションペインで、[設定] を選択します。
-
[ロードバランサー] 設定カテゴリで、[編集] を選択します。
注記
[ロードバランサー] 設定カテゴリに [編集] ボタンがない場合、お客様の環境にはロードバランサーがありません。
-
[ロードバランサーの変更] ページの手順は、環境に関連付けられるロードバランサーのタイプによって異なります。
-
Classic Load Balancer
-
[リスナーの追加] を選択します。
-
[Classic Load Balancer リスナー] ダイアログボックスで次の設定を構成します。
[リスナーポート] に着信トラフィックポートを入力します (通常の場合は、
443
)。[リスナープロトコル] で [HTTPS] を選択します。
[インスタンスポート] に
80
と入力します。[インスタンスのプロトコル] で [HTTP] を選択します。
[SSL 証明書] で、証明書を選択します。
-
[追加] を選択します。
-
-
Application Load Balancer
-
[リスナーの追加] を選択します。
-
[Application Load Balancer リスナー] ダイアログボックスで次の設定を構成します。
-
[ポート] で着信トラフィックポートを入力します (通常の場合は、
443
)。 -
[プロトコル] として [HTTPS] を選択します。
-
[SSL 証明書] で、証明書を選択します。
-
-
[追加] を選択します。
注記
Classic Load Balancer および Application Load Balancer について、ドロップダウン・メニューに証明書が表示されない場合は、AWS Certificate Manager (ACM) でカスタムドメイン名の証明書を作成またはアップロードします (推奨)。または、AWS CLI で 証明書を IAM にアップロードします。
-
-
Network Load Balancer
-
[リスナーの追加] を選択します。
-
[Network Load Balancer リスナー] ダイアログボックスで、[ポート] に着信トラフィックポート (通常は
443
) を入力します。 -
[追加] を選択します。
-
-
-
ページの最下部で [適用] を選択し変更を保存します。
設定ファイルを使用したセキュアリスナーの設定
次のいずれかの 設定ファイルを使用して、ロードバランサーに対してセキュアなリスナーを設定できます。
例 .ebextensions/securelistener-clb.config
この例は、環境に Classic Load Balancer がある場合に使用します。この例では、 指定した証明書を使用して ポート 443 の HTTPS リスナーを設定し、復号化されたトラフィックがポート 80 上でお客様の環境内のインスタンスに転送されるように、aws:elb:listener
名前空間のオプションを使用します。
option_settings:
aws:elb:listener:443:
SSLCertificateId: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
ListenerProtocol: HTTPS
InstancePort: 80
強調表示されたテキストを証明書の ARN に置き換えます。証明書としては、AWS Certificate Manager (ACM) で作成またはアップロードしたものか (推奨)、AWS CLI を使用して IAM にアップロードしたものを指定できます。
Classic Load Balancer の設定オプションの詳細については、「Classic Load Balancer 設定の名前空間」を参照してください。
例 .ebextensions/securelistener-alb.config
この例は、環境に Application Load Balancer がある場合に使用します。この例では、aws:elbv2:listener
名前空間内のオプションを使用して、指定した証明書によりポート 443 上の HTTPS リスナーを設定しています。リスナーは、デフォルトのプロセスにトラフィックをルーティングします。
option_settings:
aws:elbv2:listener:443:
ListenerEnabled: 'true'
Protocol: HTTPS
SSLCertificateArns: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
例 .ebextensions/securelistener-nlb.config
この例は、環境に Network Load Balancer がある場合に使用します。この例では、aws:elbv2:listener
名前空間内のオプションを使用して、ポート 443 のリスナーを設定します。リスナーは、デフォルトのプロセスにトラフィックをルーティングします。
option_settings:
aws:elbv2:listener:443:
ListenerEnabled: 'true'
セキュリティグループを設定する
ポート 80 以外のインスタンスポートにトラフィックを転送するようにロードバランサーを設定する場合は、ロードバランサーからのインスタンスポート上のインバウンドトラフィックを許可するルールをセキュリティグループに追加する必要があります。カスタム VPC で環境を作成すると、Elastic Beanstalk によってこのルールが自動的に追加されます。
このルールは、Resources
キーを、アプリケーションの .ebextensions
ディレクトリにある設定ファイルに追加することで追加できます。
次の設定ファイルの例では、AWSEBSecurityGroup
セキュリティグループに進入ルールを追加します。これにより、ロードバランサーのセキュリティグループからポート 1000 へのトラフィックが許可されます。
例 .ebextensions/sg-ingressfromlb.config
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 1000
FromPort: 1000
SourceSecurityGroupId: {"Fn::GetAtt" : ["AWSEBLoadBalancerSecurityGroup", "GroupId"]}