

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

# Network Load Balancer の設定
<a name="environments-cfg-nlb"></a>

[ロードバランシングを有効にする](using-features-managing-env-types.md#using-features.managing.changetype)と、 AWS Elastic Beanstalk 環境に Elastic Load Balancing ロードバランサーが搭載され、環境内のインスタンス間でトラフィックが分散されます。Elastic Load Balancing は、いくつかのロードバランサータイプをサポートしています。それらについては、[Elastic Load Balancing ユーザーガイド](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/)を参照してください。Elastic Beanstalk では、ロードバランサーを作成したり、作成した共有ロードバランサーを指定したりできます。

このトピックでは、Elastic Beanstalk が作成し、環境専用にする [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/) の設定について説明します。Elastic Beanstalk がサポートするすべてのロードバランサータイプの設定については、「[Elastic Beanstalk 環境のロードバランサー](using-features.managing.elb.md)」を参照してください。

**注記**  
環境の作成時にのみに環境が使用するロードバランサーのタイプを選択できます。実行中の環境のロードバランサーの行動管理の設定は変更できますが、タイプを変更することはできません。

## 序章
<a name="environments-cfg-nlb-intro"></a>

Network Load Balancer では、デフォルトのリスナーはポート 80 で TCP リクエストを受け取り、環境内のインスタンスに分散します。ヘルスチェックの動作の設定、リスナーポートの設定、または他のポートへのリスナーの追加を行うことができます。

**注記**  
Classic Load Balancer や Application Load Balancer とは異なり、Network Load Balancer はアプリケーションレイヤー (レイヤー 7) の HTTP または HTTPS リスナーを配置できません。トランスポートレイヤー (レイヤー 4) TCP および TLS リスナーをサポートしています。ウェブクライアントと環境間の安全な HTTPS 接続を確立するには、SSL 証明書とセキュリティポリシーを使用して TLS リスナーを設定できます。TCP リスナーを使用して環境のインスタンスに[自己署名証明書](configuring-https-ssl.md)をインストールし、適切なポート (通常は 443) をリッスンして HTTPS 接続を直接処理するようにインスタンスを設定することもできます。設定はプラットフォームによって異なります。手順については「[インスタンスでの HTTPS 終端の設定](https-singleinstance.md)」を参照してください。次に、適切なポートでリッスンしているプロセスにマッピングされるリスナーを追加するように、Network Load Balancer を設定します。

Network Load Balancer は、アクティブなヘルスチェックをサポートしています。これらのチェックは、ルート (`/`) パスへのメッセージに基づきます。さらに、Network Load Balancer はパッシブなヘルスチェックもサポートしています。問題のあるバックエンドインスタンスを自動的に検出し、正常なインスタンスにのみトラフィックをルーティングします。

## Elastic Beanstalk コンソールを使用した Network Load Balancer の設定
<a name="environments-cfg-nlb-console"></a>

Elastic Beanstalk コンソールを使用して、環境の作成中か、後で環境の実行中に、Network Load Balancer のリスナーとプロセスを設定できます。

**環境の作成中に Elastic Beanstalk コンソールで Network Load Balancer を設定するには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

1. ナビゲーションペインで [**Environments (環境)**] を選択します。

1. [[新しい環境の作成](environments-create-wizard.md)] を選択して、環境の作成を開始します。

1. ウィザードのメインページで、[**環境の作成**] を選択する前に、[**さらにオプションを設定**] を選択します。

1. [**高可用性**] 設定プリセットを選択します。

   または、[**容量**] 設定カテゴリで [**ロードバランサー**] 環境タイプを設定します。詳細については、「[Capacity](environments-create-wizard.md#environments-create-wizard-capacity)」を参照してください。

1. [**ロードバランサー**] 設定カテゴリで、[**編集**] を選択します。

1. まだ選択されていない場合は、[**Network Load Balancer**] オプションを選択します。  
![Elastic Load Balancing 設定ページ - ロードバランサータイプの選択](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-type-chooser.png)

1. Network Load Balancer の設定に、環境に必要な変更を加えます。

1. [**保存**] を選択し、環境に必要なその他の任意の設定変更を行います。

1. [**環境を作成**] を選択します。

**実行中の環境の Network Load Balancer を Elastic Beanstalk コンソールで設定するには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

1. ナビゲーションペインで、[**環境**] を選択し、リストから環境の名前を選択します。

1. ナビゲーションペインで、[**設定**] を選択します。

1. [**ロードバランサー**] 設定カテゴリで、[**編集**] を選択します。
**注記**  
[**ロードバランサー**] 設定カテゴリに [**編集**] ボタンがない場合、お客様の環境にはロードバランサーがありません。設定方法については、「[環境タイプの変更](using-features-managing-env-types.md#using-features.managing.changetype)」を参照してください。

1. Network Load Balancer の設定に、環境に必要な変更を加えます。

1. ページの最下部で **[適用]** を選択し変更を保存します。

**Topics**
+ [リスナー](#environments-cfg-nlb-console-listeners)
+ [プロセス](#environments-cfg-nlb-console-processes)

### リスナー
<a name="environments-cfg-nlb-console-listeners"></a>

このリストを使用して、ロードバランサーにリスナーを指定します。各リスナーは、指定されたポートの着信クライアントトラフィックをインスタンス上のプロセスにルーティングします。初期状態では、このリストには、ポート 80 で着信トラフィックをポート 80 でリッスンする [**デフォルト**] という名前のプロセスにルーティングするデフォルトのリスナーが表示されます。

![Network Load Balancer の設定 - リスナーリスト](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-listeners.png)


**既存のリスナーを設定するには**

1. そのテーブルエントリの横にあるチェックボックスを選択し、続いて [**アクション**]、[**編集**] の順に選択します。

1. [**Network Load Balancer listener (ネットワークロードバランサーリスナー)**] ダイアログボックスを使用して設定を編集し、[**保存**] を選択します。

**リスナーを追加するには**

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

1. [**Network Load Balancer listener (ネットワークロードバランサーリスナー)**] ダイアログボックスで必要な設定を行い、[**追加**] を選択します。

[**Network Load Balancer listener (ネットワークロードバランサーリスナー)**] ダイアログボックスを使用して、リスナーがトラフィックをリッスンするポートを設定し、トラフィックをルーティングするプロセス (プロセスがリッスンするポートによって指定された) を選択します。

![[Network Load Balancer listener (Network Load Balancer リスナー)] ダイアログボックス](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-listener-dialog.png)


### プロセス
<a name="environments-cfg-nlb-console-processes"></a>

このリストを使用して、ロードバランサーにプロセスを指定します。プロセスは、トラフィックをルートするターゲットです。各リスナーは、指定されたポートの着信クライアントトラフィックをインスタンス上のプロセスにルーティングします。初期状態では、このリストには、ポート 80 で着信トラフィックをリッスンするデフォルトのプロセスが表示されます。

![Network Load Balancer の設定 - プロセスリスト](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-processes.png)


既存のプロセスの設定を編集するか、あるいは新しいプロセスを追加します。リストのプロセスの編集またはプロセスの追加を開始するには、[リスナーリスト](environments-cfg-alb.md#environments-cfg-alb-console-listeners)と同じステップを使用します。[**環境プロセス**] ダイアログボックスが開きます。

**Topics**
+ [定義](#environments-cfg-nlb-console-process-definition)
+ [ヘルスチェック](#environments-cfg-nlb-console-process-healthchecks)

#### 定義
<a name="environments-cfg-nlb-console-process-definition"></a>

これらの設定を使用して、[**名前**] およびリクエストをリッスンする [**プロセスポート**] でプロセスを定義します。

![Network Load Balancer のプロセスダイアログボックスでの名前、リスナーポート、プロセスポートの設定](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-process-definition.png)


#### ヘルスチェック
<a name="environments-cfg-nlb-console-process-healthchecks"></a>

次の設定を使用して、プロセスのヘルスチェックを設定します。
+ [**Interval (間隔)**] - 個々のインスタンスのヘルスチェックの間隔 (秒単位)。
+ [**Healthy threshold (正常のしきい値)**] - Elastic Load Balancing がインスタンスのヘルス状態を変更する前に、ヘルスチェックに合格しなければならない回数 (Network Load Balancer で、[**Unhealthy threshold (非正常のしきい値)**] は読み取り専用の設定であり、正常のしきい値と常に等しくなります)。
+ [**Deregistration delay (登録解除の遅延)**] - インスタンスの登録を解除する前にアクティブリクエストの完了を待機する時間 (秒単位)。

![Network Load Balancer のプロセスダイアログボックスでのヘルスチェックの設定](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-process-healthcheck.png)


**注記**  
Elastic Load Balancing ヘルスチェックは、環境の Auto Scaling グループのヘルスチェック動作に影響しません。Elastic Load Balancing ヘルスチェックに失敗したインスタンスは、Amazon EC2 Auto Scaling を手動で設定していなければ、Amazon EC2 Auto Scaling によって自動的に置き換えられません。詳細については、「[Elastic Beanstalk 環境用の Auto Scaling ヘルスチェック設定](environmentconfig-autoscaling-healthchecktype.md)」を参照してください。

ヘルスチェックと、それが環境の全体的な状態に与える影響の詳細については、「[ベーシックヘルスレポート](using-features.healthstatus.md)」を参照してください。

## 例: エンドツーエンド暗号化を使用する環境の Network Load Balancer
<a name="environments-cfg-nlb-console-example"></a>

この例では、アプリケーションはエンドツーエンドのトラフィック暗号化を必要とします。これらの要件を満たすように環境の Network Load Balancer を設定するには、ポート 443 をリッスンするようにデフォルトのプロセスを設定し、トラフィックをデフォルトのプロセスにルーティングするリスナーをポート 443 に追加して、デフォルトのリスナーを無効にします。

**この例でロードバランサーを設定するには**

1. *デフォルトプロセスを設定します。*デフォルトのプロセスを選択し、[**アクション**] で [**編集**] を選択します。[**プロセスポート**] に「`443`」と入力します。  
![Network Load Balancer の設定例 - プロセスポート 443 を使用するようにデフォルトのプロセスを設定する](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-process-443.png)

1. *ポート 443 リスナーを追加します。*新しいリスナーを追加します。[**リスナーポート**] で `443` と入力します。[**プロセスポート**] として `443` が選択されていることを確認します。  
![Network Load Balancer の設定例 - ポート 443 リスナーを追加する](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listener-443.png)

   これでリストに追加のリスナーが表示されます。  
![Network Load Balancer の設定例 - 2 つのリスナーを含むリスナーリスト](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listeners.png)

1. *デフォルトのポート 80 リスナーを無効にします。*デフォルトのリスナーについて、[**有効**] オプションをオフにします。  
![Network Load Balancer の設定例 - デフォルトのリスナーを無効にする](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listeners-disabled.png)

## EB CLI を使用した Network Load Balancer の設定
<a name="environments-cfg-nlb-ebcli"></a>

[**eb create**](eb3-create.md) の実行時に、EB CLI によりロードバランサータイプの選択が求められます。

```
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF

Select a load balancer type
1) classic
2) application
3) network
(default is 1): 3
```

`--elb-type` オプションでロードバランサータイプを指定することもできます。

```
$ eb create test-env --elb-type network
```

## Network Load Balancer の名前空間
<a name="environments-cfg-nlb-namespaces"></a>

Network Load Balancer に関連する設定は、以下の名前空間にあります。
+ `aws:elasticbeanstalk:environment` - 環境のロードバランサーのタイプを選択します。Network Load Balancer の値は `network` です。
+ `aws:elbv2:listener` - Network Load Balancer のリスナーを設定します。これらの設定は、Classic Load Balancer に対する `aws:elb:listener` の設定にマッピングされます。
+ `aws:elasticbeanstalk:environment:process` - ヘルスチェックを設定し、環境のインスタンスで実行するプロセス用のポートとプロトコルを指定します。ポートとプロトコル設定は Classic Load Balancer のリスナー用の `aws:elb:listener` のインスタンスポートおよびインスタンスプロトコル設定にマッピングされます。ヘルスチェックの設定は、`aws:elb:healthcheck` および `aws:elasticbeanstalk:application` 名前空間の設定にマッピングされます。

**Example .ebextensions/network-load-balancer.config**  
Network Load Balancer の使用を開始するには、[設定ファイル](ebextensions.md)を使用してロードバランサータイプを `network` に設定します。  

```
option_settings:
  aws:elasticbeanstalk:environment:
    LoadBalancerType: network
```

**注記**  
環境の作成中にのみ、ロードバランサータイプを設定できます。

**Example .ebextensions/nlb-default-process.config**  
以下の設定ファイルでは、デフォルトプロセスのヘルスチェックの設定を変更します。  

```
option_settings:
  aws:elasticbeanstalk:environment:process:default:
    DeregistrationDelay: '20'
    HealthCheckInterval: '10'
    HealthyThresholdCount: '5'
    UnhealthyThresholdCount: '5'
    Port: '80'
    Protocol: TCP
```

**Example .ebextensions/nlb-tls-listener.config**  
次の設定ファイルは、SSL 証明書を使用してポート 443 に TLS リスナーを追加します。ロードバランサーは安全な接続を処理し、トラフィックをポート 80 のデフォルトプロセスに転送します。  

```
option_settings:
  aws:elbv2:listener:443:
    ListenerEnabled: 'true'
    Protocol: TLS
    SSLCertificateArns: {{arn:aws:acm:us-east-2:1234567890123:certificate/####################################}}
    SSLPolicy: {{ELBSecurityPolicy-TLS13-1-2-2021-06}}
```

**Example .ebextensions/nlb-secure-listener.config**  
次の設定ファイルは、TCP リスナーを使用して暗号化されたトラフィックをインスタンスに転送します。インスタンスは安全な接続を直接処理します。  

```
option_settings:
  aws:elbv2:listener:443:
    DefaultProcess: https
    ListenerEnabled: 'true'
  aws:elasticbeanstalk:environment:process:https:
    Port: '443'
```
この `DefaultProcess` オプションは、Application Load Balancer によりこのように名前が付けられており、特定のパスのトラフィックの同一ポートのデフォルトでないリスナーを設定することができます (詳細については [Application Load Balancer](environments-cfg-alb.md) を参照)。Network Load Balancer の場合、このオプションでは、このリスナーの唯一のターゲットプロセスを指定します。  
この例では、セキュアな (HTTPS) トラフィックをリッスンするため、プロセスは `https` という名前になります。リスナーは、TCP プロトコルを使用して、指定されたポートのプロセスにトラフィックを送信します。HTTP および HTTPS のネットワークトラフィックは TCP の上で実装されるため、これは問題ありません。