S4 NAT
針對 Amazon VPC 的成本優化 NAT
何時收回成本?
範例:NAT 類出站流量每月 10 TB
如果每月有 10 TB 經過 NAT 類資料處理,可避免的總使用費約為 $450/月 — 不含 S4 軟體費、EC2 和工作負載差異。
S4 NAT 為 Amazon VPC 中的 private subnets 提供運行在標準 EC2 instance 上的成本優化 internet egress (source NAT):固定按小時計費的軟體費用加你選擇的 EC2 instance — 沒有按 GB 收取的 data-processing charge,因此成本可預測,並與 egress volume 解耦。以 Amazon Linux 2023 AMI 交付,包含 active/standby high availability (通常低於 10 秒)、針對 IPv6-only subnets 的內建 NAT64,以及可選 XDP fast path。可使用隨附的 CloudFormation templates 在數分鐘內部署。
S4 NAT 為 Amazon VPC 中的 private subnets 提供構建在標準 EC2 instance 上的成本優化 internet egress。它執行 source NAT (MASQUERADE),讓 private subnets 可以存取 internet;你只需支付固定按小時計費的軟體費用和所選 instance 的價格 — 沒有按 GB 收取的 data-processing charge,因此成本可預測,並與 egress volume 解耦。頻寬隨 instance type 擴充。內建 HA:部署 active/standby template 後,standby 會對 active 進行 heartbeat;發生故障時,它會透過 ec2:ReplaceRoute 重寫 route table(s),並移動共享 Elastic IP,通常在十秒內完成。
面臨挑戰
除了每小時的費率外,AWS NAT Gateway 還會對您的私有子網路透過它傳送的每個位元組收取 $0.045/GB 的資料處理費。該費用與流出流量線性增加,因此對於高吞吐量的工作負載,在 10 TB/月時它會佔據帳單的大部分,在 50 TB/月時甚至可達數千美元,這使得支出難以預測。您的成本取決於您的傳輸量,而不是 NAT 實際處理的工作。
運作原理
- 1
透過 CloudFormation 部署
一個 CloudFormation 範本(單執行個體或 HA)即可建立 NAT 執行個體、停用來源/目的地檢查的 ENI、最小權限的 IAM 角色以及 VPC 作用域的安全群組。
- 2
將私有路由指向它
該堆疊將您私有子網路的 0.0.0.0/0 路由重寫到 NAT 執行個體的 ENI,隨後 natd 使用 nftables MASQUERADE 對流量進行來源 NAT。
- 3
備用節點傳送心跳,隨後接管
在 HA 雙機中,備用節點透過 UDP 心跳對作用中節點進行健康檢查,並在發生故障時將路由表重寫為指向其自身的 ENI(ec2:ReplaceRoute)並移動共享的 Elastic IP,通常不到 10 秒。
產品亮點
無按 GB 收取的 data-processing fee:你只需支付固定按小時計費的軟體費用加所選 EC2 instance,因此 NAT 帳單可預測,並與 egress volume 解耦。
內建 high availability:跨 AZ 的 active/standby pair 透過重寫 route table(s) 並移動共享 Elastic IP 完成 failover,通常低於 10 秒 — 已透過 60 次連續演練驗證,0 failures。
功能齊全,無 lock-in:針對 IPv6-only subnets 的內建 NAT64 (RFC 6146)、可選 XDP fast path,以及 CloudFormation templates (single + HA) — 全部運行在你自己 VPC 內的標準 Amazon Linux 2023 AMI 上。
包含內容
- Amazon Linux 2023 AMI,預設採用 Graviton arm64(提供 x86_64 版本)
- nftables MASQUERADE 資料平面(Linux IPv4 轉發,停用 ENI 的來源/目的地檢查,$0/GB 資料處理費)
- 跨兩個可用區(AZ)的主備高可用(HA)(透過 ec2:ReplaceRoute 重寫路由,並配合重新關聯至存活節點的共享 Elastic IP,以保持流出公用 IP 不變)
- NAT64(RFC 6146)— 內建的 tayga 轉換器允許純 IPv6 子網路存取 IPv4 網際網路(已在真實 EC2 上通過驗證)
- 可選的 XDP 快速路徑(核心 nftables 是支援的 v1 資料平面;XDP 是可選的加速路徑)
- CloudFormation 範本 — 一鍵部署單執行個體(cfn-single.yaml)或高可用(HA)雙機(cfn-ha.yaml)
- S4/NAT 命名空間下的 CloudWatch 指標(吞吐量、conntrack 利用率、容錯移轉、心跳)以及隨附的警示和儀表板
適用場景
每 GB 的 NAT 費用佔據帳單主要部分的高流量流出私有子網路
尋求與流量解耦、可預測的固定 NAT 成本的團隊
仍需存取 IPv4 網際網路的純 IPv6 子網路(NAT64)
替代代管的 NAT Gateway,以實現私有子網路的流出網際網路存取
常見問題
它真的比代管的 NAT Gateway 更便宜嗎?
它完全免除了 $0.045/GB 的資料處理費($0/GB),只留下固定的每小時軟體費加上您選擇的 EC2 執行個體費用。由於該設備的成本是固定的,節省 of 費用會隨著流量的增加而增長 — 在說明性工作表中,單執行個體在 NAT 流量約為 1 TB/月時達到收支平衡,並在 10 TB/月時節省約 84%。坦白地說,收支平衡取決於您的流量、執行個體規格和運作時間,而跨 AZ 和網際網路流出的傳輸費仍照常計費。
容錯移轉是無縫的嗎?
容錯移轉速度很快,但並非無損。備用節點會重寫路由表並移動 Elastic IP,通常不到 10 秒(平均約 4 秒;100 次演練全部成功,零失敗)。接管時傳輸中的連線會重設;用戶端重新連線,新連線會立即成功。在 AWS 上使用執行個體 NAT 無法實現無損的流出容錯移轉,因此我們不作此聲明。
它能處理多少頻寬?
頻寬受限於您選擇的 EC2 執行個體類型,而不是固定的代管上限。我們使用 iperf3 在 c6in.large 上測得透過 NAT 的頻寬約為 4.78 Gbps;更大的網路最佳化型執行個體可以進一步擴展。請根據您所需的吞吐量來規劃執行個體規格。
它支援純 IPv6 子網路嗎?
是的。內建的 NAT64(RFC 6146)使用隨附的 tayga 轉換器將來自純 IPv6 用戶端的流量轉換為 IPv4 網際網路流量。它已在真實 EC2 上通過驗證,存取外部 IPv4 主機時封包遺失率為 0%。
它安全嗎?如何部署它?
S4 NAT 完全運作在您自己的 VPC 內部,因此沒有何流量會離開您的帳戶。NAT 的 ENI 停用了來源/目的地檢查,並被授予了最小權限的 IAM 角色和 VPC 作用域的安全群組。您可以使用隨附 of CloudFormation 範本進行部署:單執行個體使用 cfn-single.yaml,或者主/備 HA 對使用 cfn-ha.yaml。
為什麼更便宜
假設在 us-east-1 從私有子網路到網際網路每月產生 50 TB 出向流量。
- NAT Gateway 按小時 ($0.045/h)
- $33 / 月
- 資料處理 (50 TB × $0.045/GB)
- $2,304 / 月
- 月度合計
- $2,337 / 月
- S4 NAT 執行個體 (c5n.large + 軟體費)
- $120 / 月
- 月度合計
- $120 / 月
按出向流量選擇 S4 NAT 執行個體
| 出向流量 | 推薦執行個體 | S4 NAT 執行個體費用 | 月度合計對比 NAT Gateway |
|---|---|---|---|
| ~10 TB / 月 | c5n.large | $120 / 月 | $120 / 月 (NAT GW $494, −76%) |
| ~50 TB / 月 | c5n.large | $120 / 月 | $120 / 月 (NAT GW $2,337, −95%) |
| ~500 TB / 月 | c5n.2xlarge | $400 / 月 | $400 / 月 (NAT GW $23,073, −98%) |
僅供參考。AWS NAT Gateway 使用 us-east-1 公開價格 ($0.045/小時 + $0.045/GB 處理)。S4 NAT 是 EC2 NAT 執行個體 + Marketplace 軟體, 無資料處理費 (AWS 資料傳出費用兩種方案下相同)。1 年 Savings Plan 通常可將 EC2 部分降低 30–40%。如需 HA, 使用 ASG / 備用節點。
計費模式
按小時計費的軟體費用 + EC2 (t4g / c6g class, Arm or x86)。無按 GB 收取的 data-processing fee。按 instance type 計量,提供年度選項。