

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

# 自訂路由加速器如何在 AWS Global Accelerator 中運作
<a name="about-custom-routing-how-it-works"></a>

透過在 AWS Global Accelerator 中使用自訂路由加速器，您可以使用應用程式邏輯，將一個或多個使用者直接對應到多個目的地之間的特定目的地，同時還能獲得全球加速器的效能優勢。自訂路由加速器會將接聽程式連接埠範圍對應至虛擬私有雲 (VPC) 子網路中的 EC2 執行個體目的地。這可讓全球加速器確定性地將流量路由到子網路中的特定 Amazon EC2 私有 IP 位址和連接埠目的地。

例如，您可以將自訂路由加速器搭配線上即時遊戲應用程式使用，您可以根據您選擇的因素 (例如地理位置、玩家技能和遊戲模式)，將多位玩家指派給 Amazon EC2 遊戲伺服器上的單一工作階段。或者，您可能會使用 VoIP 或社交媒體應用程式，將多位使用者指派給特定媒體伺服器，以進行語音、視訊和訊息工作階段。

您的應用程式可以呼叫全域加速器 API，並接收全域加速器連接埠及其相關聯的目的地 IP 位址和連接埠的完整靜態對應。您可以保存該靜態映射，然後您的配對服務使用它將用戶路由到特定的目的地 EC2 執行個體。您不用對用戶端軟體進行任何修改，即可開始使用 Global Accelerator。

若要設定自訂路由加速器，請選取 VPC 子網路端點。然後，您可以定義要對應傳入連線的目的地連接埠範圍，以便您的軟體可以在所有執行個體上偵聽相同的連接埠集。全域加速器會建立靜態對應，讓配對服務能夠將工作階段的目的地 IP 位址和連接埠號碼轉譯為您提供給使用者的外部 IP 位址和連接埠。

應用程式的網路堆疊可能會透過單一傳輸通訊協定來運作，或者您可能會使用 UDP 來快速傳遞，而 TCP 可靠傳遞。您可以為每個目的地連接埠範圍設定 UDP、TCP 或 UDP 和 TCP，以提供最大的彈性，而不必為每個通訊協定複製設定。

**注意**  
根據預設，自訂路由加速器中的所有 VPC 子網路目的地不允許接收流量。默認情況下，這是安全的，並且還可以讓您精細控制子網中允許哪些私有 EC2 實例目的地接收流量。您可以允許或拒絕傳輸到子網路，或特定 IP 位址和連接埠組合 (目的地通訊端)。如需詳細資訊，請參閱 [新增、編輯或移除 VPC 子網路端點](about-custom-routing-endpoints.md#about-custom-routing-endpoints-adding-endpoints)。您也可以使用全域加速器 API 來指定目的地。如需詳細資訊，請參閱「」[允許自訂路由流量](https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html)和[拒絕自訂路由流量](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DenyCustomRoutingTraffic.html)。

## 自訂路由如何在全域加速器中運作的範例
<a name="about-custom-routing-how-it-works.example"></a>

舉例來說，假設您想要支援 10,000 個工作階段，讓使用者群組在全球加速器後方 1,000 個 Amazon EC2 執行個體之間互動，例如遊戲工作階段或 VoIP 通話工作階段。在此範例中，我們將指定 10001—20040 的接聽程式連接埠範圍，以及 81—90 的目的地連接埠範圍。我們會說，我們在東 1 中有四個 VPC 子網：子網-1，子網-2，子網 3 和子網 4。

在我們的範例配置中，每個 VPC 子網路的區塊大小為 /24，因此可以支援 251 個 Amazon EC2 執行個體。五個位址會保留且無法從每個子網路中使用，而且這些位址不會對應)。在每個 EC2 執行個體上執行的每個伺服器都提供以下 10 個連接埠，我們針對端點群組中的目的地連接埠指定：81-90 這意味著我們有 2510 個與每個子網相關聯的端口（10 x 251）。每個連接埠都可以與工作階段相關聯。

因為我們已在子網路中的每個 EC2 執行個體上指定了 10 個目的地連接埠，所以全域加速器會在內部將它們與 10 個接聽程式連接埠相關聯，您可以用來存取 EC2 執行個體。為了簡單地說明這一點，我們將說有一個接聽程式連接埠區塊，其開頭是第一組 10 的端點子網路的第一個 IP 位址，然後移至下一組 10 個接聽程式連接埠的下一個 IP 位址。

**注意**  
映射實際上是不可預測的，但我們在這裡使用順序映射來幫助顯示端口映射的工作原理。若要判斷接聽程式連接埠範圍的實際對應，請使用下列 API 作業：[列出自訂路由連接埠對應](https://docs.aws.amazon.com/global-accelerator/latest/api/API_ListCustomRoutingPortMappings.html)和[依目的地列出自訂路由連接埠對應](https://docs.aws.amazon.com/global-accelerator/latest/api/API_ListCustomRoutingPortMappingsByDestination.html)。

在我們的範例中，第一個接聽程式連接埠是 10001。該連接埠與第一個子網路 IP 位址 192.0.2.4 和第一個 EC2 連接埠 81 相關聯。下一個接聽程式連接埠 10002 與第一個子網路 IP 位址 192.0.2.4 和第二個 EC2 連接埠 82 相關聯。下表說明此範例對應如何繼續執行第一個 VPC 子網路的最後一個 IP 位址，然後繼續執行至第二個 VPC 子網路的第一個 IP 位址。


| Global Accelerator | VPC 子網路 | EC2 執行個體連接埠 | 
| --- | --- | --- | 
| 10001 | 192.0.2.4 | 81 | 
| 10002 | 192.0.2.4 | 82 | 
| 10003 | 192.0.2.4 | 83 | 
| 10004 | 192.0.2.4 | 84 | 
| 10005 | 192.0.2.4 | 85 | 
| 10006 | 192.0.2.4 | 86 | 
| 10007 | 192.0.2.4 | 87 | 
| 10008 | 192.0.2.4 | 88 | 
| 10009 | 192.0.2.4 | 89 | 
| 10010 | 192.0.2.4 | 90 | 
| 10011 | 192.0.2.5 | 81 | 
| 10012 | 192.0.2.5 | 82 | 
| 10013 | 192.0.2.5 | 83 | 
| 10014 | 192.0.2.5 | 84 | 
| 10015 | 192.0.2.5 | 85 | 
| 10016 | 192.0.2.5 | 86 | 
| 10017 | 192.0.2.5 | 87 | 
| 10018 | 192.0.2.5 | 88 | 
| 10019 | 192.0.2.5 | 89 | 
| 10020 | 192.0.2.5 | 90 | 
| ... | ... | ... | 
| 12501 | 192.0.2.244 | 81 | 
| 12502 | 192.0.2.244 | 82 | 
| 12503 | 192.0.2.244 | 83 | 
| 12504 | 192.0.2.244 | 84 | 
| 12505 | 192.0.2.244 | 85 | 
| 12506 | 192.0.2.244 | 86 | 
| 12507 | 192.0.2.244 | 87 | 
| 12508 | 192.0.2.244 | 88 | 
| 12509 | 192.0.2.244 | 89 | 
| 12510 | 192.0.2.244 | 90 | 
| 12511 | 192.0.3.4 | 81 | 
| 12512 | 192.0.3.4 | 82 | 
| 12513 | 192.0.3.4 | 83 | 
| 12514 | 192.0.3.4 | 84 | 
| 12515 | 192.0.3.4 | 85 | 
| 12516 | 192.0.3.4 | 86 | 
| 12517 | 192.0.3.4 | 87 | 
| 12518 | 192.0.3.4 | 88 | 
| 12519 | 192.0.3.4 | 89 | 
| 12520 | 192.0.3.4 | 90 | 