Network Load Balancer を作成する - エラスティックロードバランシング

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

Network Load Balancer を作成する

Network Load Balancer はクライアントからリクエストを受け取り、EC2 インスタンスなどのターゲットグループのターゲット間でリクエストを割り当てます。詳細については、「Network Load Balancer の概要」を参照してください。

前提条件

  • アプリケーションがサポートするアベイラビリティーゾーンと IP アドレスタイプを決定します。これらの各アベイラビリティーゾーンのサブネットを使用してロードバランサー VPC を設定します。アプリケーションが IPv4 と IPv6 の両方のトラフィックをサポートする場合は、サブネットに IPv4 と IPv6 の両方CIDRs があることを確認します。各アベイラビリティーゾーンに少なくとも 1 つのターゲットをデプロイします。

  • ターゲットインスタンスのセキュリティグループが、クライアント IP アドレス (ターゲットがインスタンス ID で指定されている場合) またはロードバランサーノード (ターゲットが IP アドレスで指定されている場合) からのリスナーポートでのトラフィックを許可していることを確認します。

  • ターゲットインスタンスのセキュリティグループが、ヘルスチェックプロトコルを使用してヘルスチェックポートのロードバランサーからのトラフィックを許可していることを確認します。

ロードバランサーを作成する

Network Load Balancer の作成の一環として、ロードバランサー、少なくとも 1 つのリスナー、および少なくとも 1 つのターゲットグループを作成します。有効な各アベイラビリティーゾーンに少なくとも 1 つの正常な登録済みターゲットがある場合、ロードバランサーはクライアントリクエストを処理する準備ができています。

Console
Network Load Balancer を作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

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

  4. [Network Load Balancer] で、[Create] (作成) を選択します。

  5. 基本的な設定

    1. [ロードバランサー名] に、Network Load Balancer の名前を入力します。名前は、リージョン内のロードバランサーのセット内で一意である必要があります。これは最大 32 文字で、英数字とハイフンのみを使用できます。先頭および末尾にハイフンまたは internal- を使用することはできません。

    2. [スキーム] で、[インターネット向け] または [内部] を選択します。インターネット向け Network Load Balancer は、クライアントからインターネット経由でリクエストをターゲットにルーティングします。内部 Network Load Balancer は、プライベート IP アドレスを使用してターゲットにリクエストをルーティングします。

    3. ロードバランサーの IP アドレスタイプで、クライアントが IPv4IPv4 アドレスを使用して Network Load Balancer と通信する場合は IPv4 を選択し、クライアントが IPv4 アドレスと IPv6 アドレスの両方を使用して Network Load Balancer と通信する場合はデュアルスタックを選択します。

  6. ネットワークマッピング

    1. [VPC] で、VPC を選択します。

      インターネット向けロードバランサーでは、インターネットゲートウェイを持つ VPCs のみが選択できます。

    2. デュアルスタックロードバランサーでは、IPv6 ソース NAT の Enable プレフィックスオン (サブネットあたりのソース NAT プレフィックス) でない限り、UDP リスナーを追加することはできません。

    3. アベイラビリティーゾーンとサブネットの場合は、少なくとも 1 つのアベイラビリティーゾーンを選択し、ゾーンごとに 1 つのサブネットを選択します。共有されたサブネットを選択できることに注意してください。

      複数のアベイラビリティーゾーンを選択し、選択した各ゾーンにターゲットが登録されていることを確認すると、アプリケーションの耐障害性が向上します。

    4. インターネット向けロードバランサーを使用すると、アベイラビリティーゾーンごとに Elastic IP アドレスを選択できます。これにより、ロードバランサーに静的 IP アドレスが提供されます。

      内部ロードバランサーでは、各サブネットのアドレス範囲からプライベート IPv4 アドレスを入力するか、 に AWS 選択させることができます。

      デュアルスタックロードバランサーでは、各サブネットのアドレス範囲から IPv6 アドレスを入力するか、 に AWS 選択させることができます。

      ソース NAT が有効になっているロードバランサーの場合は、カスタム IPv6 プレフィックスを入力するか、 に AWS 選択させることができます。

  7. セキュリティグループ

    ロードバランサー VPC のデフォルトのセキュリティグループを事前に選択します。必要に応じて、追加のセキュリティグループを選択できます。ニーズに合ったセキュリティグループがない場合は、新しいセキュリティグループを作成して今すぐ作成します。詳細については、「Amazon VPC ユーザーガイド」の「セキュリティグループの作成」を参照してください。

    警告

    この時点で Network Load Balancer にセキュリティグループを関連付けていない場合、後で関連付けすることはできません。

  8. リスナーとルーティング

    1. デフォルトは、ポート 80 で TCP トラフィックを受け付けるリスナーです。必要に応じて、デフォルトのリスナー設定を保持する、または [プロトコル] または [ポート] を変更することができます。

    2. [デフォルトアクション] で、トラフィックを転送するターゲットグループを選択します。ニーズに合ったターゲットグループがない場合は、「ターゲットグループの作成」を選択して今すぐ作成します。詳細については、「ターゲットグループの作成」を参照してください。

    3. (オプション) リスナータグを追加を選択し、タグキーとタグ値を入力します。

    4. (オプション) リスナーの追加を選択して、別のリスナー (TLS リスナーなど) を追加します。

  9. セキュアリスナー設定

    1. [セキュリティポリシー] で、要件を満たすセキュリティポリシーを選択します。詳細については、「セキュリティポリシー」を参照してください。

    2. デフォルトの SSL/TLS サーバー証明書では、証明書ソースとして ACM から を選択します。を使用してプロビジョニングまたはインポートした証明書を選択します AWS Certificate Manager。ACM で使用可能な証明書がないが、ロードバランサーで使用する証明書がある場合は、証明書のインポートを選択し、必要な情報を入力します。それ以外の場合は、新しい ACM 証明書をリクエストを選択します。詳細については、 AWS Certificate Manager ユーザーガイドAWS Certificate Manager 証明書を参照してください。

    3. (オプション) ALPN ポリシーで、ALPN を有効にするポリシーを選択します。詳細については、「ALPN ポリシー」を参照してください。

  10. ロードバランサータグ

    (オプション) Load Balancer タグを展開します。新しいタグを追加を選択し、タグキーとタグ値を入力します。詳細については、「タグ」を参照してください。

  11. [概要]

    設定を確認し、[ロードバランサーの作成] を選択します。作成時に、Network Load Balancer にいくつかのデフォルト属性が適用されます。Network Load Balancer の作成後に、それらを表示および編集できます。詳細については、「ロードバランサーの属性」を参照してください。

AWS CLI
Network Load Balancer を作成するには

create-load-balancer コマンドを使用します。

次の の例では、2 つの有効なアベイラビリティーゾーンを持つインターネット向けロードバランサーを作成します。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
内部 Network Load Balancer を作成するには

次の例に示すように、 --schemeオプションを含めます。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
デュアルスタック Network Load Balancer を作成するには

次の例に示すように、 --ip-address-typeオプションを含めます。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --ip-address-type dualstack \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
リスナーを追加するには

create-listener コマンドを使用します。例については「リスナーの追加」を参照してください。

CloudFormation
Network Load Balancer を作成するには

AWS::ElasticLoadBalancingV2::LoadBalancer タイプのリソースを定義します。

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal IpAddressType: dualstack Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup Tags: - Key: 'department' Value: '123'

ロードバランサーをテストする

Network Load Balancer を作成したら、EC2 インスタンスが最初のヘルスチェックに合格したことを確認してから、Network Load Balancer が EC2 インスタンスにトラフィックを送信することをテストできます。Network Load Balancer を削除するには、「Network Load Balancer を削除する」を参照してください。

Network Load Balancer をテストするには
  1. Network Load Balancer が作成されたら、[閉じる] を選択します。

  2. 左側のナビゲーションペインで、[ターゲットグループ] を選択します。

  3. 新しいターゲットグループを選択します。

  4. [Targets] を選択して、インスタンスの準備ができていることを確認します。インスタンスのステータスが initial の場合、インスタンスがまだ登録の途中であるか、正常と見なされるのに必要なヘルスチェックの最小数に合格しなかったと考えられます。少なくとも 1 つのインスタンスのステータスが正常であれば、Network Load Balancer をテストできます。詳細については、「ターゲットヘルスステータス」を参照してください。

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

  6. 新しい Network Load Balancer を選択します。

  7. Network Load Balancer の DNS 名 (my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com など) をコピーします。インターネットに接続したウェブブラウザのアドレスフィールドに DNS 名を貼り付けます。すべて適切な場合は、ブラウザにサーバーのデフォルトページが表示されます。

次のステップ

ロードバランサーを作成したら、次の操作を行います。