本頁面適用於 Apigee,但不適用於 Apigee Hybrid。
查看
Apigee Edge 說明文件。
Apigee 和具有公開 IP 位址的目標後端之間的南向流量會使用 Cloud NAT,將 Apigee 執行個體的私人 IP 位址轉譯為公開 IP 位址。如果目標後端需要 IP 許可清單,您可以為出站流量保留並啟用靜態 NAT IP。本主題說明如何計算支援預期流量所需的靜態 NAT IP 數量下限。
事前準備
如果您選擇使用靜態 NAT IP 分配功能來支援許可清單,就必須計算出支援預期流量所需的靜態 IP 數量下限。進行這項計算時,您需要提供下列資訊:
- 每筆交易的時間上限:這是指從請求開始到回應結束,交易所需的時間上限 (以秒為單位)。
- 每秒最大交易數 (TPS):這是 Apigee 執行個體可能支援的每秒最大交易數。
- 單一獨特後端的 TPS 上限:這是單一後端每秒可支援的交易數量上限。
- 環境數量上限:這個 Apigee 執行個體的環境數量上限。
計算所需的靜態 IP 數量
您可以使用下列公式計算需要靜態指派的 NAT IP 數量下限:
- 計算每個後端所需的 NAT 來源連接埠數量上限為 $ S $。$$ S = \lceil (150 + T) \times B \rceil $$
其中:
- $ T $ 為每筆交易的最長時間,以秒為單位。
- $ B $ 是任何單一不重複後端的最大 TPS。
- $ \lceil \rceil $ 是天花板 (最小整數) 函式,表示無條件進位至下一個整數
- 計算 Apigee 執行個體使用的最少連接埠為 $ N $。$$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$
其中:
- $ E $ 為 Apigee 環境數量。
- $ R $ 是 Apigee 執行個體的 TPS 上限。
- $ \lceil \rceil $ 是天花板 (最小整數) 函式,表示無條件進位至下一個整數
- $ \mathit{max}() $ 函式會取兩個值中的最大值。
- 假設所需的連接埠數量上限為 $ P $。$$ P = max(S, N) $$
其中:
- $ S $ 是所需的 NAT 來源連接埠數量上限,如步驟 1 所計算。
- $ N $ 是 Apigee 執行個體使用的最低通訊埠數量,如步驟 2 所計算。
- $ \mathit{max}() $ 函式會取兩個值中的最大值。
- 計算所需的 NAT IP 數量下限為 $ I $。$$ I = \lceil P / 64512 \rceil $$
其中:
- $ P $ 是所需的連接埠數量上限,在步驟 3 中計算。
- $ \lceil \rceil $ 是天花板 (最小整數) 函式,表示無條件進位至下一個整數
範例
範例 1
在本例中,我們預期在 1 個環境中,TPS 最多可達 10,000。交易都是 HTTP GET
要求,且第 99 百分位數的交易時間為 50 毫秒 (ms)。這些要求由 3 個負載平衡器後端後方的伺服器池提供服務,其中一個負載平衡器負責處理 5,000 TPS,另一個負責處理 3,000 TPS,最後一個負責處理 2,000 TPS。
在這個範例中,鍵值如下:
- 每筆交易的時間上限:50 毫秒
- Apigee 執行個體的 TPS 上限:10,000
- 單一後端的最高 TPS:5,000
- Apigee 環境數量:1
我們可以使用前述的公式計算所需的 NAT IP 數量:
-
$$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$
假設不會重複使用連線,則每個後端所需的 NAT 來源埠數量上限為 750,250。
-
$$ max(4096 \times 1, \lceil {512 \over 75} \times 10000 \rceil) + 6144 $$$$ max(4096, \lceil 6.827 \times 10000 \rceil) + 6144 $$$$ max(4096, \lceil 68270 \rceil) + 6144 $$$$ 68270 + 6144 = 74414 $$
Apigee 執行階段使用的 NAT 來源通訊埠數量下限為 74,414。
-
$$ max(750250, 74414) = 750250 $$
每個執行個體所需的 NAT 來源通訊埠數量上限為 750,250。
-
$$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$
如要支援每秒 50 毫秒 (或更短) 10,000 次的最高交易次數,需要的 NAT IP 數量下限為 12,其中單一後端 IP 和連接埠組合可支援的最高交易次數為 5,000 次。
範例 2
在本例中,我們預期 20 個 Apigee 環境的 TPS 上限為 1,000。這些交易的第 99 百分位數持續時間為 5 秒。這些要求會由 8 個目標後端提供服務,且流量通常會平均分配給所有後端。考量維護和中斷情形,單一後端的服務 TPS 不會超過 250。
在這個範例中,鍵值如下:
- 每筆交易的時間上限:5 秒
- 每秒交易數上限 (TPS):1,000
- 單一後端的最高 TPS:250
- Apigee 環境數量:20
我們可以使用前述的公式計算所需的 NAT IP 數量:
-
$$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$
假設不會重複使用連線,則每個後端所需的 NAT 來源連接埠數量上限為 38,750。
-
$$ max(4096 \times 20, \lceil {512 \over 75} \times 1000 \rceil) + 6144 $$$$ max(81920, \lceil 6.827 \times 1000 \rceil) + 6144 $$$$ max(81920, \lceil 6827 \rceil) + 6144 $$$$ 81920 + 6144 = 88064 $$
Apigee 執行階段使用的 NAT 來源通訊埠數量最少為 88,064。
-
$$ max(38750, 88064) = 88064 $$
每個執行個體所需的 NAT 來源通訊埠數量上限為 88,064。
-
$$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$
若要支援每 5 秒 1,000 個 TPS (或更少),且單一後端 IP 和連接埠組合支援最多 250 個 TPS,則需要的 NAT IP 數量下限為 2。
範例 3
在本例中,我們要計算使用 2 個 NAT IP 可達到的單一目標後端的最大 TPS。每筆交易的預估最大時間為 100 毫秒。
在這個範例中,鍵值如下:
- 每筆交易的時間上限:100 毫秒
- NAT IP 數量:2 個
在這種情況下,我們可以使用步驟 4 和步驟 1 中的公式,計算提供的 NAT 來源連接埠數量上限,以及這些來源連接埠可支援的 TPS 數量:
-
$$ 2 = \lceil P / 64512 \rceil $$$$ 129024 = P $$
提供的 NAT 來源連接埠數量上限為 129,024。
-
$$ 129024 = \lceil (150 + 0.100) \times B \rceil $$$$ 129024 = \lceil 150.1 \times B \rceil $$$$ \lfloor 129024 / 150.1 \rfloor = B $$$$ \lfloor 859.587 \rfloor = B $$$$ 859 = B $$
假設沒有重複使用連線,單一後端的最大 TPS 為 859 (使用 2 個 NAT IP)。