

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

# Network Load Balancer のターゲットとして Application Load Balancer を使用する
<a name="application-load-balancer-target"></a>

1 つの Application Load Balancer を含むターゲットグループをターゲットとして作成し、そのグループにトラフィックを転送するように Network Load Balancer を設定できます。このシナリオでは、トラフィックがターゲットに到達するとすぐに、Application Load Balancer がロードバランシングの決定を引き継ぎます。この設定では、両方のロードバランサーの機能が組み合わされて以下のような利点が生まれます。
+ Application Load Balancer のレイヤー 7 リクエストベースのルーティング機能をエンドポイントサービス (AWS PrivateLink) や静的 IP アドレスなど、Network Load Balancer がサポートする機能と組み合わせて使用できます。
+ この構成は、シグナリングに HTTP を使用するメディアサービスや、コンテンツをストリーミングするための RTP など、マルチプロトコルに 1 つのエンドポイントを必要とするアプリケーションに使用できます。

この機能は、内部またはインターネット向けの Network Load Balancer のターゲットとしての内部またはインターネット向けの Application Load Balancer とともに使用できます。

**考慮事項**
+ ターゲットグループごとに登録できる Application Load Balancer は 1 つだけです。
+ Application Load Balancer を Network Load Balancer のターゲットとして関連付けるには、ロードバランサーが同じアカウント内の同じ VPC に存在する必要があります。
+ 1 つの Application Load Balancer は、最大 2 つの Network Load Balancer のターゲットとして関連付けることができます。これを行うには、各 Network Load Balancer について、Application Load Balancer を個別のターゲットグループに登録します。
+ Network Load Balancer に登録した各 Application Load Balancer によって、Network Load Balancer ごとにアベイラビリティーゾーンのターゲットの最大数が 50 減少します。両方のロードバランサーのクロスゾーンロードバランシングを無効にして、レイテンシーを最小限に抑え、リージョン内データ転送の料金を回避できます。詳細については、「[Network Load Balancer のクォータ](load-balancer-limits.md)」を参照してください。
+ ターゲットグループタイプが `alb` の場合、ターゲットグループの属性を変更することはできません。これらの属性は常にデフォルト値を使用します。
+ Application Load Balancer をターゲットとして登録すると、すべてのターゲットグループから登録を解除するまで Application Load Balancer を削除することはできません。
+ Network Load Balancer と Application Load Balancer 間の通信は常に IPv4 を使用します。

**Topics**
+ [前提条件](#application-load-balancer-target-prerequisite)
+ [ステップ 1: alb タイプのターゲットグループを作成する](#register-application-load-balancer-target)
+ [ステップ 2: Network Load Balancer を作成し、ルーティングを設定する](#configure-application-load-balancer-target)
+ [ステップ 3: (オプション) VPC エンドポイントサービスを作成する](#enable-privatelink)

## 前提条件
<a name="application-load-balancer-target-prerequisite"></a>

ターゲットとして使用する Application Load Balancer がまだない場合は、ロードバランサー、リスナー、およびそのターゲットグループを作成します。詳細については、「*Application Load Balancer ユーザーガイド*」の「[Application Load Balancer の作成](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)」を参照してください。

## ステップ 1: alb タイプのターゲットグループを作成する
<a name="register-application-load-balancer-target"></a>

ステップ 1: `alb` タイプのターゲットグループを作成します。Application Load Balancer は、ターゲットグループの作成時以降にターゲットとして登録できます。

------
#### [ Console ]

**ターゲットとして Application Load Balancer のターゲットグループを作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ターゲットグループ**] を選択します。

1. **[ターゲットグループの作成]** を選択します。

1. **[基本設定] **ペインの **[ターゲットタイプを選択] **で、**Application Load Balancer** を選択します。

1. [**ターゲットグループ名**] に、ターゲットグループの名前を入力します。

1. [**Protocol**] (プロトコル) では TCP だけが選択できます。ターゲットグループの**ポート**を選択します。このターゲットグループのポートは、Application Load Balancer のリスナーポートと一致する必要があります。このターゲットグループに別のポートを選択した場合は、Application Load Balancer のリスナーポートを更新して一致させることができます。

1. **[VPC]** には、ターゲットグループの仮想プライベートクラウド (VPC) を選択します。これは、Application Load Balancer で使用されるのと同じ VPC である必要があります。

1. [**Health checks**] (ヘルスチェック) で、[**Health check protocol**] (ヘルスチェックプロトコル) として [HTTP] または [HTTPS] を選択します。ヘルスチェックは Application Load Balancer に送信され、指定されたポート、プロトコル、および ping パスを使用してターゲットに転送されます。ヘルスチェックのポートとプロトコルに一致するポートとプロトコルがあるリスナーが Application Load Balancer にあり、これらのヘルスチェックを受信できることを確認します。

1. (オプション) **タグ** を展開します。追加するタグごとに、**[新しいタグを追加]** を選択し、タグキーとタグ値を入力します。

1. [**次へ**] を選択します。

1. Application Load Balancer を登録する準備ができたら、**[今すぐ登録]** を選択し、必要に応じてデフォルトポートを上書きして、Application Load Balancer を選択します。Application Load Balancer には、ターゲットグループと同じポート上のリスナーが必要です。このロードバランサーのリスナーを追加または編集してターゲットグループのポートと一致させるか、前のステップに戻ってターゲットグループのポートを変更することができます。

   Application Load Balancer をターゲットとして登録する準備ができていない場合は、**[後で登録]** を選択し、後でターゲットを登録します。詳細については、「[ターゲットの登録](target-group-register-targets.md#register-targets)」を参照してください。

1. **[ターゲットグループの作成]** を選択します。

------
#### [ AWS CLI ]

**alb タイプの対象グループを作成するには**  
[create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) コマンドを使用します。プロトコルは TCP で、ポートは Application Load Balancer のリスナーポートと一致する必要があります。

```
aws elbv2 create-target-group \
    --name my-target-group \
    --protocol TCP \
    --port 80 \
    --target-type alb \
    --vpc-id vpc-1234567890abcdef0 \
    --tags Key=department,Value=123
```

------
#### [ CloudFormation ]

**タイプ alb のターゲットグループを作成するには**  
[AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html) リソースタイプを定義します。プロトコルは TCP で、ポートは Application Load Balancer のリスナーポートと一致する必要があります。

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      Protocol: TCP
      Port: 80
      TargetType: alb
      VpcId: !Ref myVPC
      Tags: 
        - Key: 'department'
          Value: '123'
      Targets:
        - Id: !Ref myApplicationLoadBalancer
          Port: 80
```

------

## ステップ 2: Network Load Balancer を作成し、ルーティングを設定する
<a name="configure-application-load-balancer-target"></a>

Network Load Balancer を作成するときに、Application Load Balancer にトラフィックを転送するようにデフォルトのアクションを設定できます。

------
#### [ Console ]

**Network Load Balancer を作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

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

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

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

1. **基本的な設定**

   1. **[ロードバランサー名]** に、Network Load Balancer の名前を入力します。

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

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

1. **ネットワークマッピング**

   1. **[VPC]** で、Application Load Balancer ターゲットに使用したのと同じ VPC を選択します。インターネット向けロードバランサーでは、インターネットゲートウェイを持つ VPC のみを選択できます。

   1. **アベイラビリティーゾーンとサブネット**の場合は、少なくとも 1 つのアベイラビリティーゾーンを選択し、ゾーンごとに 1 つのサブネットを選択します。Application Load Balancer で有効になっているのと同じアベイラビリティーゾーンを選択することをお勧めします。これにより、可用性、スケーリング、パフォーマンスが最適化されます。

      (オプション) 静的 IP アドレスを使用するには、各アベイラビリティーゾーンの [**IPv4 settings**] (IPv4 の設定) で [**Use an Elastic IP address**] (Elastic IP アドレスを使用する) を選択します。静的 IP アドレスを使用すると、ファイアウォールの許可リストに特定の IP アドレスを追加することや、クライアントで IP アドレスをハードコードすることができます。

1. **セキュリティグループ**

   ロードバランサー VPC のデフォルトのセキュリティグループを AWS が事前に選択します。必要に応じて、追加のセキュリティグループを選択できます。適切なセキュリティグループがない場合は、**[新しいセキュリティグループを作成]**を選択して今すぐ新しいセキュリティグループを作成します。詳細については、「*Amazon VPC ユーザーガイド*」の「[セキュリティグループの作成](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)」を参照してください。
**警告**  
この時点で Network Load Balancer にセキュリティグループを関連付けていない場合、後で関連付けすることはできません。
**警告**  
QUIC または TCP\$1QUIC リスナーを活用するには、Network Load Balancer にセキュリティグループがあってはなりません。

1. **リスナーとルーティング**

   1. デフォルトは、ポート 80 で TCP トラフィックを受け付けるリスナーです。トラフィックを Application Load Balancer ターゲットグループに転送できるのは TCP リスナーだけです。[**プロトコル**] は [**TCP**] のままにしておく必要がありますが、[**ポート** は必要に応じて変更できます。

      この構成では、Application Load Balancer で HTTPS リスナーを使用して TLS トラフィックを終了できます。

   1. **[デフォルトアクション]** で、前のステップで作成したターゲットグループを選択します。

   1. (オプション) **[リスナータグを追加]** をクリックし、タグキーとタグ値を入力します。

1. **ロードバランサータグ**

   (オプション) **[ロードバランサータグ]** を展開します。(オプション) [**新しいタグを追加**] をクリックし、タグキーとタグ値を入力します。詳細については、「[タグ](load-balancer-tags.md)」を参照してください。

1. **[概要]**

   設定を確認し、**[ロードバランサーを作成]** を選択します。

------
#### [ AWS CLI ]

**Network Load Balancer を作成するには**  
[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) コマンドを使用します。Application Load Balancer で有効になっているのと同じアベイラビリティーゾーンを使用することをお勧めします。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type network \
    --scheme internal \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**TCP リスナーを追加するには**  
TCP リスナーを作成するには、[create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) コマンドを使用します。トラフィックを Application Load Balancer に転送できるのは TCP リスナーだけです。デフォルトのアクションには、前のステップで作成したターゲットグループを使用します。

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

------
#### [ CloudFormation ]

**Network Load Balancer を作成するには**  
[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) タイプのリソースと、[AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) タイプのリソースを定義します。トラフィックを Application Load Balancer に転送できるのは TCP リスナーだけです。デフォルトのアクションには、前のステップで作成したターゲットグループを使用します。

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-load-balancer
      Type: network
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup

  myTCPListener:
    Type: 'AWS::ElasticLoadBalancingV2::Listener'
    Properties:
      LoadBalancerArn: !Ref myLoadBalancer
      Protocol: TCP
      Port: 80
      DefaultActions:
        - Type: forward
          TargetGroupArn: !Ref myTargetGroup
```

------

## ステップ 3: (オプション) VPC エンドポイントサービスを作成する
<a name="enable-privatelink"></a>

前のステップで設定した Network Load Balancer をプライベート接続のエンドポイントとして使用するために、 AWS PrivateLinkを有効にすることができます。これにより、ロードバランサーへのプライベート接続がエンドポイントサービスとして確立されます。

**Network Load Balancer を使用して VPC エンドポイントサービスを作成するには**

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

1. Network Load Balancer の名前を選択して、その詳細ページを開きます。

1. [**Integrations**] (統合) タブで、[**VPC エンドポイントサービス (AWS PrivateLink)**] を展開します。

1. [**エンドポイントサービスの作成**] を選択して、[**エンドポイントサービス**] ページを開きます。残りのステップについては、「*AWS PrivateLink ガイド*」の「[エンドポイントサービスの作成](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html#create-endpoint-service-nlb)」を参照してください。