ECS執行個體通過安全性群組控制流程量進出,安全性群組會記錄建立的每個串連,以確保資料包能夠按照預期正確送達。如果串連長時間處於空閑狀態,可能會耗盡執行個體的串連資源,從而導致新的串連無法被正常建立及管理,甚至造成資料包丟失。您可以在彈性網卡上配置針對空閑串連的逾時時間,以釋放不再活躍的串連所佔用的資源。
ECS執行個體的串連
串連又稱網路會話,是用戶端與伺服器建立串連並傳輸資料的過程。
網路五元組(包括源IP、目的IP、源連接埠、目的連接埠、協議)唯一確定一個串連,ECS執行個體的串連數包括通過TCP、UDP、ICMP協議建立的串連。如果您的業務對網路並發敏感,請根據業務需求選擇明確標註了串連數參數的執行個體。詳細資料,請參見執行個體規格類型系列。
空閑串連的逾時時間
在TCP協議中,如果一個已經建立的串連在一段時間內沒有任何資料交換活動,這並不意味著串連已被關閉;實際上,它可能只是暫時沒有活躍的資料轉送。然而,長時間存在的空閑串連會佔用伺服器資源,並可能導致達到最大並發串連數限制,從而阻礙新的串連請求被接受。
UDP本身是無狀態的,但它依舊會在一定程度上佔用系統的網路頻寬、記憶體以及連接埠等資源,特別是在大規模應用或者高頻率的資料交換情境中。
合理設定ECS上的TCP空閑連線逾時時間、UDP流的逾時時間對於最佳化網路效能、資源使用率以及安全性都至關重要:
提高資源使用率:如果一個TCP串連長時間處於空閑狀態而沒有被關閉或重用,它會佔用伺服器的記憶體等資源。通過適當縮短空閑串連的逾時時間,可以更有效地釋放這些資源給其他活動串連使用。
為UDP會話設定適當的逾時策略也有助於防止不必要的資源消耗。
安全增強:較短的逾時設定有助於減少攻擊者利用長期存在的串連進行惡意活動的機會,比如發起DDoS攻擊或是嘗試破解密碼等。
不過,設定過短的逾時時間可能會影響需要較長時間保持連線應用程式程式正常工作,如某些檔案傳輸服務等,建議您在更改之前,先充分瞭解ECS上所啟動並執行服務特點及其對網路條件的具體要求。
配置空閑連線逾時時間
為了最大限度地減少串連中的延遲問題,應該確保資料流經過的所有裝置的逾時設定盡量相匹配。
當您的ECS執行個體配合NLB/CLB使用時,建議您配置執行個體網卡的逾時時間與NLB/CLB設定的監聽中的空閑連線逾時時間相匹配。關於NLB/CLB配置監聽及串連空閑時間,請參見NLB監聽。
修改串連的逾時時間,僅對建立串連生效,已建立的串連不受影響。
ECS當前支援配置以下三種類型的空閑連線逾時時間:
已建狀態的TCP連線逾時時間:處於
ESTABLISHED狀態的空閑TCP串連的逾時時間。在一個TCP串連上,如果沒有資料轉送發生的時間長度超過了該值,則該串連將被認為不再活躍,並可能被網路裝置(如路由器、防火牆等)或者作業系統自動關閉。單位為秒。最小值為30秒,最大值為910秒, 預設值為910秒。
可以設定為30、60、80、100、200、300、500、700或910。
TCP等待與關閉逾時時間:處於
TIME_WAIT狀態、CLOSED狀態的TCP串連的逾時時間。在TCP串連關閉過程中,需要進行四次揮手來正常關閉串連,當一端發送了 FIN(結束)標誌位,表示自己沒有資料要發送時,它會等待對方的ACK(確認)。如果在這個等待過程中沒有收到ACK,就會開始計時,這個計時的時間就是TCP等待與關閉逾時時間。單位為秒。最小值為3秒,最大值為15秒。
預設值為3秒。
說明如果您的ECS執行個體配合NLB/CLB使用,
TIME_WAIT狀態的連線逾時時間預設值為15秒。可以將
TIME_WAIT、CLOSED狀態的TCP連線逾時時間同步設定為3s~15s內的任意整數值。
UDP流逾時時間:UDP流逾時時間是指在接收或發送UDP資料包的過程中,對於一個被認為是 “流”(可以是一系列相關的 UDP 資料包,如即時視頻流中的 UDP 資料包序列)的時間限制。如果在這個時間內沒有收到或發送新的UDP資料包,就可能會認為這個UDP流已經結束或者出現異常。單位為秒。
最小值為10秒,最大值為100秒。
預設值為30秒。
說明如果您的ECS執行個體配合NLB/CLB使用,預設值為100秒。
可以設定為10、20、30、60、80或100。
具體操作
您可以在單獨建立彈性網卡時或者在網卡建立後,查看並配置連線逾時時間:
單獨建立網卡時配置
您也可以通過CreateNetworkInterface建立彈性網卡,並通過指定ConnectionTrackingConfiguration參數下的TcpEstablishedTimeout、TcpClosedAndTimeWaitTimeout、UdpTimeout分別配置對應串連的逾時時間。
訪問ECS控制台-彈性網卡。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
單擊建立彈性網卡。
在建立彈性網卡頁面的SESSION逾時時間部分,您可以調整預設值進行設定。

編輯網卡時配置
您也可以通過ModifyNetworkInterfaceAttribute修改彈性網卡屬性,並通過指定ConnectionTrackingConfiguration參數下的TcpEstablishedTimeout、TcpClosedAndTimeWaitTimeout、UdpTimeout分別配置對應串連的逾時時間。
您可以通過DescribeNetworkInterfaceAttribute,並指定Attribute為connectionTrackingConfiguration查看指定網卡的連線逾時時間。
訪問ECS控制台-彈性網卡。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
單擊目標彈性網卡的ID,進入彈性網卡詳情頁。
在SESSION逾時時間部分,可以看到網卡的已建狀態的TCP連線逾時時間、TCP等待與關閉逾時時間、UDP流逾時時間。您可以點擊
,進行修改。