チュートリアル: AWS CLI を使用して Network Load Balancer を作成する - Elastic Load Balancing

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

チュートリアル: AWS CLI を使用して Network Load Balancer を作成する

このチュートリアルでは、AWS CLI を通じて Network Load Balancer の実践的な概要を説明します。

開始する前に

  • AWS CLI をインストールするか、Network Load Balancers をサポートしていないバージョンを使用している場合は AWS CLI を現行バージョンに更新します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS Command Line Interface のインストール」を参照してください。

  • EC2 インスタンスに使用するアベイラビリティーゾーンを決定します。これらの各アベイラビリティーゾーンに少なくとも 1 つのパブリックサブネットがある Virtual Private Cloud (VPC) を設定します。

  • IPv4 またはデュアルスタックロードバランサーのどちらを作成するかを決定します。クライアントが IPv4 アドレスだけを使用してロードバランサーと通信する場合、IPv4 を使用します。クライアントが IPv4 および IPv6 アドレスを使用してロードバランサーと通信する場合、デュアルスタックを使用します。また、IPv6 を使用して IPv6 アプリケーションやデュアルスタックサブネットなどのバックエンドターゲットと通信するために、デュアルスタックを使用することもできます。

  • 各アベイラビリティーゾーンで少なくとも 1 つの EC2 インスタンスを起動します。これらのインスタンスのセキュリティグループが、リスナーポート上のクライアントからの TCP アクセスと、VPC からのヘルスチェックリクエストを許可していることを確認します。詳細については、「ターゲットセキュリティグループ」を参照してください。

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

最初のロードバランサーを作成するには、次のステップを完了します。

IPv4 ロードバランサーを作成するには
  1. create-load-balancer コマンドを使用して IPv4 ロードバランサーを作成し、インスタンスを起動した各アベイラビリティーゾーンのパブリックサブネットを指定します。アベイラビリティーゾーンごとに 1 つだけサブネットを指定できます。

    デフォルトでは、AWS CLI を使用して Network Load Balancer を作成すると、VPC のデフォルトセキュリティグループは自動的に使用されません。作成時にロードバランサーにセキュリティグループを関連付けしないと、後で追加できません。作成時に --security-groups オプションを使用してロード バランサーのセキュリティ グループを指定することをお勧めします。

    aws elbv2 create-load-balancer --name my-load-balancer --type network --subnets subnet-0e3f5cac72EXAMPLE --security-groups sg-0123456789EXAMPLE

    出力には、次の形式でロードバランサーの Amazon リソースネーム (ARN) が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-load-balancer/1234567890123456
  2. create-target-group コマンドを使用して、EC2 インスタンスに使用したのと同じ VPC を指定して、IPv4 ターゲットグループを作成します。IPv4 ターゲットグループでは、IP およびインスタンスタイプのターゲットがサポートされています。

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-0598c7d356EXAMPLE

    出力には、次の形式のターゲットグループの ARN が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成するには、create-listener コマンドを使用します。

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    出力には、次の形式のリスナーの ARN が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/net/my-load-balancer/1234567890123456/1234567890123456
  5. (オプション) 次のdescribe-target-healthコマンドを使用して、ターゲットグループの登録済みターゲットの正常性を検証できます。

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

デュアルスタックロードバランサーを作成する

最初のロードバランサーを作成するには、次のステップを完了します。

デュアルスタックロードバランサーを作成するには
  1. create-load-balancer コマンドを使用してデュアルスタックロードバランサーを作成し、インスタンスを起動した各アベイラビリティーゾーンのパブリックサブネットを指定します。アベイラビリティーゾーンごとに 1 つだけサブネットを指定できます。

    aws elbv2 create-load-balancer --name my-load-balancer --type network --subnets subnet-0e3f5cac72EXAMPLE --ip-address-type dualstack

    出力には、次の形式でロードバランサーの Amazon リソースネーム (ARN) が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-load-balancer/1234567890123456
  2. create-target-group コマンドを使用してターゲットグループを作成し、EC2 インスタンスに使用したのと同じ VPC を指定します。

    デュアルスタックロードバランサーで TCP または TLS ターゲットグループを使用する必要があります。

    IPv4 ターゲットグループおよび IPv6 ターゲットグループを作成して、デュアルスタックロードバランサーに関連付けることができます。ターゲットグループの IP アドレスタイプによって、ロードバランサーがバックエンドターゲットと通信したり、バックエンドターゲットの状態をチェックしたりするのに使用する IP バージョンが決定されます。

    IPv4 ターゲットグループでは、IP およびインスタンスタイプのターゲットがサポートされています。IPv6 ターゲットでは、IP ターゲットのみがサポートされています。

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-0598c7d356EXAMPLE --ip-address-type [ipv4 or ipv6]

    出力には、次の形式のターゲットグループの ARN が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. create-listener コマンドを使用して、ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成します。デュアルスタックロードバランサーには TCP または TLS リスナーが必要です。

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    出力には、次の形式のリスナーの ARN が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/net/my-load-balancer/1234567890123456/1234567890123456
  5. (オプション) 次のdescribe-target-healthコマンドを使用して、ターゲットグループの登録済みターゲットの正常性を検証できます。

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

ロードバランサーの Elastic IP アドレスを指定します。

Network Load Balancer を作成するときは、サブネットマッピングを使用して、サブネットごとに 1 つの Elastic IP アドレスを指定できます。

aws elbv2 create-load-balancer --name my-load-balancer --type network \ --subnet-mappings SubnetId=subnet-0e3f5cac72EXAMPLE,AllocationId=eipalloc-12345678

ロードバランサーの削除

ロードバランサーとターゲットグループが必要なくなった場合は、次のように削除することができます。

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn