

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

# Application Load Balancer の作成
<a name="create-application-load-balancer"></a>

Application Load Balancer はクライアントからリクエストを受け取り、EC2 インスタンスなどのターゲットグループのターゲット間でリクエストを割り当てます。詳細については、「*Elastic Load Balancing ユーザーガイド*」の「[Elastic Load Balancing の仕組み](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html)」を参照してください。

**Topics**
+ [前提条件](#load-balancer-prereqs)
+ [ロードバランサーを作成する](#create-load-balancer)
+ [ロードバランサーをテストする](#test-load-balancer)
+ [次の手順](#application-load-balancer-next-steps)

## 前提条件
<a name="load-balancer-prereqs"></a>
+ アプリケーションがサポートするアベイラビリティーゾーンと IP アドレスタイプを決定します。これらの各アベイラビリティーゾーンにサブネットを持つロードバランサー VPC を設定します。アプリケーションが IPv4 と IPv6 の両方のトラフィックをサポートする場合は、サブネットに IPv4 と IPv6 の両方の CIDR があることを確認します。各アベイラビリティーゾーンに少なくとも 1 つのターゲットをデプロイします。詳細については、「[ロードバランサーのサブネット](application-load-balancers.md#subnets-load-balancer)」を参照してください。
+ ターゲットインスタンスに関連付けられているセキュリティグループでは、リスナーポートからクライアント IP アドレス (ターゲットがインスタンス ID で指定されている場合) またはロードバランサーノード (ターゲットが IP アドレスで指定されている場合) へのトラフィックを許可するようにします。詳細については、「[推奨ルール](load-balancer-update-security-groups.md#security-group-recommended-rules)」を参照してください。
+ ターゲットインスタンスのセキュリティグループでは、ヘルスチェックプロトコルを使用してヘルスチェックポートのロードバランサーからのトラフィックを許可するようにします。

## ロードバランサーを作成する
<a name="create-load-balancer"></a>

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

------
#### [ 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. [**ロードバランサー名**] に、ロードバランサーの名前を入力します。この名前は、リージョンのロードバランサーのセット内で一意である必要があります。名前は最大 32 文字で、英数字とハイフンのみを使用できます。先頭および末尾にハイフンまたは `internal-` を使用することはできません。Application Load Balancer の名前は、作成後に変更することはできません。

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

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

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

   1. **VPC** の場合は、ロードバランサー用に準備した VPC を選択します。インターネット向けロードバランサーでは、インターネットゲートウェイを持つ VPCs のみが選択できます。

   1. (オプション) **[IP プール]** には、**[パブリック IPv4 アドレスに IPAM プールを使用する]** を選択できます。詳細については、「[IPAM IP アドレスプール](application-load-balancers.md#ip-pools)」を参照してください。

   1. **[アベイラビリティーゾーンとサブネット]** では、次のようにロードバランサーのゾーンを有効にします。
      + 少なくとも 2 つのアベイラビリティーゾーンからのサブネットを選択する
      + 少なくとも 1 つのローカルゾーンからサブネットを選択する
      + Outpost サブネットを 1 つ選択する

      詳細については、「[ロードバランサーのサブネット](application-load-balancers.md#subnets-load-balancer)」を参照してください。

      ロードバランサーの **[デュアルスタック]** では、IPv4 および IPv6 CIDR ブロックが関連付けられているサブネットを選択する必要があります。

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

   ロードバランサー VPC のデフォルトのセキュリティグループを AWS が事前に選択します。必要に応じて、追加のセキュリティグループを選択できます。適切なセキュリティグループがない場合は、**[新しいセキュリティグループを作成]**を選択して今すぐ新しいセキュリティグループを作成します。詳細については、「*Amazon VPC ユーザーガイド*」の「[セキュリティグループの作成](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)」を参照してください。

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

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

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

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

   1. (オプション) **[リスナーを追加]** を選択して別のリスナー (HTTPS リスナーなど) を追加します。

1. **セキュアリスナー設定**

   このセクションは、HTTPS リスナーを追加する場合にのみ表示されます。

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

   1. **[デフォルトの SSL/TLS 証明書]** では、次のオプションが利用可能です。
      + を使用して証明書を作成またはインポートした場合は AWS Certificate Manager、**ACM から** を選択し、証明書を選択します。
      + IAM を使用して証明書をインポートした場合は、**[IAM から]** を選択し、証明書を選択します。
      + ACM で使用可能な証明書がないが、ロードバランサーで使用する証明書がある場合は、**[証明書のインポート]** を選択し、必要な情報を入力します。それ以外の場合は、**[証明書をリクエスト]** を選択します。詳細については、「*AWS Certificate Manager ユーザーガイド*」の「[AWS Certificate Manager 証明書](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)」を参照してください。

   1. (オプション) **[相互認証 (mTLS)]** を選択し、ALPN を有効にするポリシーを選択します。

      詳細については、「[相互 TLS 認証](mutual-authentication.md)」を参照してください。

1. **[サービス統合で最適化する]**

   (オプション) 他の をロードバランサー AWS と統合できます。詳細については、「[ロードバランサーの統合](load-balancer-integrations.md)」を参照してください。

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

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

1. **[概要]**

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

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

**Application Load Balancer を作成するには**  
[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) コマンドを使用します。

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

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

**内部 Application Load Balancer を作成するには**  
次の例のように、`--scheme` オプションを含めます。

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

**デュアルスタックの Application Load Balancer を作成するには**  
次の例のように、`--ip-address-type` オプションを含めます。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --ip-address-type dualstack \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**リスナーを追加するには**  
[create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) コマンドを使用します。例については、「[HTTP リスナーを作成する](create-listener.md)」および「[HTTPS リスナーを作成する](create-https-listener.md)」を参照してください。

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

**Application Load Balancer を作成するには**  
[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) リソースタイプを定義します。

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

**リスナーを追加するには**  
[AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) タイプのリソースを定義します。例については、「[HTTP リスナーを作成する](create-listener.md)」および「[HTTPS リスナーを作成する](create-https-listener.md)」を参照してください。

------

## ロードバランサーをテストする
<a name="test-load-balancer"></a>

 ロードバランサーを作成したら、EC2 インスタンスが最初のヘルスチェックに合格することを検証できます。ロードバランサーが EC2 インスタンスにトラフィックを送信するかどうかを検証できます。ロードバランサーを削除するには、[Application Load Balancer の削除](load-balancer-delete.md) を参照してください。

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

1. ロードバランサーが作成されたら、[**Close**] を選択します。

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

1. 新しく作成したターゲットグループを選択します。

1. [**Targets**] を選択して、インスタンスの準備ができていることを確認します。インスタンスのステータスが `initial` である場合、通常、インスタンスがまだ登録の進行中であることが原因です。このステータスは、インスタンスが正常と見なされるのに必要なヘルスチェックの最小数に合格しなかったことを示すこともできます。少なくとも 1 つのインスタンスのステータスが正常であれば、ロードバランサーをテストできます。詳細については、「[ターゲットヘルスステータス](target-group-health-checks.md#target-health-states)」を参照してください。

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

1. 新しく作成したロードバランサーを選択します。

1. **[説明]** を選択し、インターネット向けまたは内部ロードバランサーの DNS 名 (my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com など) をコピーします。
   + インターネット向けのロードバランサーの場合、インターネットに接続されたウェブブラウザのアドレスフィールドに DNS 名を貼り付けます。
   + 内部ロードバランサーの場合、VPC へのプライベート接続を持つウェブブラウザのアドレスフィールドに DNS 名を貼り付けます。

   すべてが正しく設定されている場合は、ブラウザにサーバーのデフォルトページが表示されます。

1. ウェブページが表示されない場合は、追加の設定ヘルプとトラブルシューティングステップについて、次のドキュメントを参照してください。
   + DNS 関連の問題については、「*Amazon Route 53 デベロッパーガイド*」の「[ELB ロードバランサーへのトラフィックのルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html)」を参照してください。
   + Load Balancer 関連の問題については、「[Application Load Balancer のトラブルシューティング](load-balancer-troubleshooting.md)」を参照してください。

## 次の手順
<a name="application-load-balancer-next-steps"></a>

ロードバランサーを作成したら、次の操作を行います。
+ [[リスナールール]](listener-rules.md) を追加します。
+ [[ロードバランサー属性]](edit-load-balancer-attributes.md) を設定します。
+ [[ターゲットグループ属性]](edit-target-group-attributes.md) を設定します。
+ [HTTPS リスナー] [オプションの証明書リスト](listener-update-certificates.md#add-certificates)に証明書を追加します。
+ [[モニタリング機能]](load-balancer-monitoring.md) を設定します。