

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 更新 Network Load Balancer 接聽程式的 TCP 閒置逾時
<a name="update-idle-timeout"></a>

對於透過 Network Load Balancer 提出的每個 TCP 請求，會追蹤該連線的狀態。若在比閒置逾時更長的時間內沒有由用戶端或目標透過連線傳送的資料，連線將關閉。

**考量事項**
+ TCP 流程的預設閒置逾時值為 350 秒。
+ TLS 接聽程式的連線閒置逾時為 350 秒，無法修改。

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

**更新 TCP 閒置逾時**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格的 **Load Balancing (負載平衡)** 下方，選擇 **Load Balancers (負載平衡器)**。

1. 選取 Network Load Balancer 的核取方塊。

1. 在接聽程式索引標籤上，選取 TCP 接聽程式的核取方塊，然後選擇**動作**、**檢視接聽程式詳細資訊**。

1. 在接聽程式詳細資訊頁面的**屬性**索引標籤中，選取**編輯**。如果接聽程式使用 TCP 以外的通訊協定，則此標籤不存在。

1. 輸入 **TCP 閒置逾時** 60-6000 秒的值。

1. 選擇**儲存變更**。

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

**更新 TCP 閒置逾時**  
使用 [modify-listener-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-listener-attributes.html) 命令搭配 `tcp.idle_timeout.seconds` 屬性。

```
aws elbv2 modify-listener-attributes \
    --listener-arn {{listener-arn}} \
    --attributes Key=tcp.idle_timeout.seconds,Value={{500}}
```

以下為範例輸出。

```
{
    "Attributes": [
        {
            "Key": "tcp.idle_timeout.seconds",
            "Value": "500"
        }
    ]
}
```

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

**更新 TCP 閒置逾時**  
更新 [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) 資源以包含`tcp.idle_timeout.seconds`接聽程式屬性。

```
Resources:
  myTCPListener:
    Type: 'AWS::ElasticLoadBalancingV2::Listener'
    Properties:
      LoadBalancerArn: !Ref myLoadBalancer
      Protocol: TCP
      Port: 80
      DefaultActions:
        - Type: forward
          TargetGroupArn: !Ref myTargetGroup
      ListenerAttributes:
        - Key: "tcp.idle_timeout.seconds"
          Value: "{{500}}"
```

------