`nlb` Map
nlb セクションは Service を Network Load Balancer と統合するためのパラメーターを含みます。
Network Load Balancerは、`nlb` フィールドを指定した場合のみ有効になります。
Load Balanced Web Service では、Application Load Balancer と Network Load Balancer のいずれかが有効になっている必要があることに注意してください。
nlb.`port` String
必須項目。Network Load Balancer がリッスンするポートとプロトコルを指定します。
使用可能なプロトコルは `tcp` と `tls` です。プロトコルを指定しない場合、デフォルトで `tcp` が使用されます。
設定例:
```yaml
nlb:
port: 80
```
`tcp` リクエストをポート 80 で待ち受けるようにするためには、以下のように設定します。
設定例:
```yaml
nlb:
port: 80/tcp
```
簡単に TLS 終端を有効にすることができます。
設定例:
```yaml
nlb:
port: 443/tls
```
nlb.`healthcheck` Map
Network Load Balancer のヘルスチェックの設定を指定します。
```yaml
nlb:
healthcheck:
port: 80
healthy_threshold: 3
unhealthy_threshold: 2
interval: 15s
timeout: 10s
```
nlb.healthcheck.`port` String
ヘルスチェックのリクエストが送信されるポート。ヘルスチェックが、コンテナターゲットポートとは異なるポートで実行される必要がある場合に指定します。
nlb.healthcheck.`healthy_threshold` Integer
unhealthy なターゲットを healthy とみなすために必要な、連続したヘルスチェックの成功回数を指定します。デフォルト値は 3 で、設定可能な範囲は、2 〜 10 です。
nlb.healthcheck.`unhealthy_threshold` Integer
ターゲットが unhealthy であると判断するまでに必要な、連続したヘルスチェックの失敗回数を指定します。デフォルト値は 3 で、設定可能な範囲は、2 〜 10 です。
nlb.healthcheck.`grace_period` Duration
コンテナ起動時にターゲットグループのヘルスチェックが失敗した場合の、それを無視する時間を指定します。デフォルトは 60 秒です。これは、healthy であることを担保しながら着信を待機するまでに時間がかかるコンテナのデプロイ時の問題を修正したり、迅速な起動が保証されているコンテナのデプロイを高速化したりするのに役立ちます。
!!! info
この説明を書いている時点では、[ドキュメント](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/network/target-group-health-checks.html)によると、Network Load Balancer の 'unhealthy threshold' は 'healthy threshold' と同じである必要があるとされています。
nlb.healthcheck.`interval` Duration
個々のターゲットへのヘルスチェックを行う際の、おおよその間隔を秒単位で指定します。設定可能な値は 10s (10 秒) または 30s (30 秒) で、デフォルト値は 30s です。
nlb.healthcheck.`timeout` Duration
ターゲットからの応答がない場合、ヘルスチェックが失敗したとみなすまでの時間を秒単位で指定します。デフォルト値は 10s (10 秒)です。
nlb.`target_container` String
サイドカーコンテナを指定することで、Service のメインコンテナの代わりにサイドカーでロードバランサからのリクエストを受け取れます。
nlb.`target_port` Integer
トラフィックを受信するコンテナのポート。コンテナポートがリスナーポートの `nlb.port` と異なる場合、このフィールドを指定します。
nlb.`ssl_policy` String
どのようなプロトコルや暗号をサポートするかを定義するセキュリティポリシーです。詳しくは[このドキュメント](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)をご覧ください。
nlb.`stickiness` Boolean
スティッキーセッションの有効化、あるいは無効化を指定します。
nlb.`alias` String or Array of Strings
Service のドメインエイリアス
```yaml
# 文字列で指定する場合
nlb:
alias: example.com
# 別の方法として、文字列配列の場合
nlb:
alias: ["example.com", "v1.example.com"]
```
nlb.`additional_listeners` Array of Maps
複数の NLB リスナーを設定します。
{% include 'nlb-additionallisteners.ja.md' %}