Application Load Balancer 用の HTTPS リスナーを作成する - エラスティックロードバランシング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Application Load Balancer 用の HTTPS リスナーを作成する

リスナーは、接続リクエストをチェックします。ロードバランサーを作成するときにリスナーを定義し、いつでもロードバランサーにリスナーを追加できます。

HTTPS リスナーを作成するには、ロードバランサーに SSL サーバー証明書を少なくとも 1 つデプロイする必要があります。ロードバランサーはサーバー証明書を使用してフロントエンド接続を終了してから、ターゲットにリクエストを送信する前に、クライアントからのリクエストを復号します。また、クライアントとロードバランサー間の安全な接続をネゴシエートするために使用されるセキュリティポリシーも指定する必要があります。

ロードバランサーが復号化せずに、暗号化されたトラフィックをターゲットに渡す必要がある場合は、ポート 443 で TCP リスナーを使用して Network Load Balancer または Classic Load Balancer を作成できます。TCP リスナーを使用すると、ロードバランサーは暗号化されたトラフィックを復号化せずにターゲットに渡します。

このページの情報は、ロードバランサー用の HTTPS リスナーを作成するのに役立ちます。ロードバランサーに HTTP リスナーを追加するには、Application Load Balancer 用の HTTP リスナーを作成する を参照してください。

前提条件

  • 転送アクションをデフォルトのリスナールールに追加するには、利用可能なターゲットグループを指定する必要があります。詳細については、「Application Load Balancer のターゲットグループを作成する」を参照してください。

  • 複数のリスナーで同じターゲットグループを指定できますが、これらのリスナーは同じロードバランサーに属している必要があります。ロードバランサーでターゲットグループを使用するには、ターゲットグループが他のロードバランサーのリスナーによって使用されていないことを確認する必要があります。

  • Application Load Balancer は、ED25519 キーをサポートしていません。

HTTPS リスナーの追加

リスナーには、クライアントからロードバランサーへの接続用のプロトコルとポートを設定します。詳細については、「リスナーの設定」を参照してください。

セキュアリスナーを作成するときは、セキュリティポリシーと証明書を指定する必要があります。証明書リストに証明書を追加するには、「」を参照してください証明書リストに証明書を追加する

リスナーのデフォルトルールを設定する必要があります。リスナーを作成した後、他のリスナールールを追加できます。詳細については、「リスナールール」を参照してください。

Console
HTTPS リスナーを追加するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[ロードバランサー] を選択します。

  3. ロードバランサーを選択します。

  4. [リスナーとルール] タブから、[リスナーの追加] を選択します。

  5. [プロトコル] として [HTTPS] を選択します。デフォルトのポートを保持するか、別のポートを入力します。

  6. (オプション) 認証ルールを追加するには、ID プロバイダーを選択したユーザーの認証を選択し、必要な情報を指定します。詳細については、「Application Load Balancer を使用してユーザーを認証する」を参照してください。

  7. ルーティングアクションには、次のいずれかのルーティングアクションを選択し、必要な情報を指定します。

    • ターゲットグループに転送 – ターゲットグループを選択します。別のターゲットグループを追加するには、ターゲットグループの追加、ターゲットグループの選択、相対パーセンテージの確認、必要に応じて重みの更新を選択します。いずれかのターゲットグループで維持を有効にした場合は、グループレベルの維持を有効にする必要があります。

      ニーズに合ったターゲットグループがない場合は、「ターゲットグループの作成」を選択して今すぐ作成します。詳細については、「ターゲットグループの作成」を参照してください。

    • URL へのリダイレクトURI パートタブで各パートを個別に入力するか、完全な URL タブで完全なアドレスを入力して URL を入力します。ステータスコードでは、必要に応じて一時 (HTTP 302) または永続 (HTTP 301) を選択します。

    • 固定レスポンスを返す – ドロップされたクライアントリクエストに対して返すレスポンスコードを入力します。必要に応じて、コンテンツタイプレスポンス本文を指定できます。

  8. セキュリティポリシーでは、推奨されるセキュリティポリシーを選択します。必要に応じて、別のセキュリティポリシーを選択できます。

  9. デフォルトの SSL/TLS 証明書で、デフォルトの証明書を選択します。また、デフォルトの証明書を SNI リストに追加します。証明書は、次のいずれかのオプションを使用して選択できます。

    • ACM から – Certificate (ACM から) から証明書を選択します。これにより、利用可能な証明書が表示されます AWS Certificate Manager。

    • IAM から – インポートした証明書を表示する証明書 (IAM から) から証明書を選択します AWS Identity and Access Management。

    • 証明書のインポート – 証明書の送信先を選択します。ACM にインポートするか、IAM にインポートします。証明書プライベートキーの場合は、プライベートキーファイル (PEM エンコード) の内容をコピーして貼り付けます。証明書本文の場合は、パブリックキー証明書ファイル (PEM エンコード) の内容をコピーして貼り付けます。Certificate Chain では、自己署名証明書を使用している場合を除き、証明書チェーンファイル (PEM エンコード) の内容をコピーして貼り付けます。ブラウザが証明書を暗黙的に受け入れることは重要ではありません。

  10. (オプション) 相互認証を有効にするには、クライアント証明書の処理で、相互認証 (mTLS) を有効にします。

    デフォルトモードはパススルーです。トラストストアで検証を選択した場合:

    • クライアント証明書が期限切れである接続は、デフォルトで拒否されます。この動作を変更するには、[詳細な mTLS 設定] を展開して、[クライアント証明書の有効期限][期限切れのクライアント証明書を許可する] を選択します。

    • Trust store では、既存のトラストストアを選択するか、New trust store を選択して必要な情報を入力します。

  11. (オプション) タグを追加するには、リスナータグを展開します。新しいタグを追加を選択し、タグキーとタグ値を入力します。

  12. [リスナーの追加] を選択します。

AWS CLI
HTTPS リスナーを作成するには

create-listener コマンドを使用します。次の の例では、指定されたターゲットグループにトラフィックを転送するデフォルトのルールを使用して HTTPS リスナーを作成します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol HTTPS \ --port 443 \ --default-actions Type=forward,TargetGroupArn=target-group-arn \ --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \ --certificates certificate-arn
CloudFormation
HTTPS リスナーを作成するには

AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。次の の例では、指定されたターゲットグループにトラフィックを転送するデフォルトのルールを使用して HTTPS リスナーを作成します。

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn