

# REL 2. 如何規劃您的網路拓撲？
<a name="rel-02"></a>

工作負載通常存在於多個環境中。其中包括多個雲端環境 (可公開存取與私有)，也可能包含您現有的資料中心基礎設施。計畫必須包括系統內和系統間連線、公有 IP 位址管理、私有 IP 位址管理和網域名稱解析等網路考量因素。

**Topics**
+ [

# REL02-BP01 針對工作負載公有端點使用高可用性網路連線
](rel_planning_network_topology_ha_conn_users.md)
+ [

# REL02-BP02 在雲端中的私有網路與內部部署環境之間佈建冗餘連線能力
](rel_planning_network_topology_ha_conn_private_networks.md)
+ [

# REL02-BP03 確保 IP 子網路分配帳戶具有擴展性和可用性
](rel_planning_network_topology_ip_subnet_allocation.md)
+ [

# REL02-BP04 偏好軸輻式拓撲而非多對多網狀拓撲
](rel_planning_network_topology_prefer_hub_and_spoke.md)
+ [

# REL02-BP05 在連線的所有私有地址空間中強制使用不重疊的私有 IP 位址範圍
](rel_planning_network_topology_non_overlap_ip.md)

# REL02-BP01 針對工作負載公有端點使用高可用性網路連線
<a name="rel_planning_network_topology_ha_conn_users"></a>

 建置與您的工作負載公有端點的高度可用網路連線，可協助您減少由於遺失連線的停機時間，並且改善您的工作負載的可用性和 SLA。為達成此目的，請使用高度可用的 DNS、內容交付網路 (CDN)、API 閘道、負載平衡或反向代理。

 **預期成果：**為您的公用端點規劃、建置和操作高可用性網路連線至關重要。如果您的工作負載由於遺失連線而無法連線，即使您的工作負載正在執行且可用，您的客戶還是會看到您的系統是停機。藉由結合工作負載公有端點高度可用和具彈性的網路連線與工作負載本身的彈性架構，為您的客戶提供可行的最佳可用性和服務水準。

 AWS Global Accelerator、Amazon CloudFront、Amazon API Gateway、AWS Lambda Function URL、AWS AppSync API 以及 Elastic Load Balancing (ELB) 全都可提供高可用性公用端點。Amazon Route 53 針對網域名稱解析提供高可用性的 DNS 服務，以確認您的公有端點地址是否可以解析。

 您也可以評估用於負載平衡和代理的 AWS Marketplace 軟體設備。

 **常見的反模式：**
+ 設計高度可用的工作負載，而未規劃 DNS 和網路連線以取得高可用性。
+  在個別執行個體或容器上使用公有網際網路地址，並透過 DNS 管理其連線。
+  使用 IP 位址，而非網域名稱來定位服務。
+  未測試您的公有端點已遺失連線的情境。
+  未分析網路輸送量需求和分發模式。
+  未測試和規劃您的工作負載公有端點的網際網路網路連線可能遭到中斷的情境。
+  提供內容 (例如網頁、靜態資產或媒體檔案) 到大型地理區域，而不使用內容交付網路。
+  未針對分散式阻斷服務 (DDoS) 攻擊加以規劃。DDoS 攻擊所存在的風險會將合法流量阻擋在外，並減少使用者的可用性。

 **建立此最佳實務的優勢：**針對高可用性和高彈性的網路連線進行設計，確保您的工作負載可供使用者存取且可用。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 建置與您的公有端點的高度可用網路連線的核心是流量的路由。若要確認您的流量可以連線到端點，DNS 必須能夠將網域名稱解析為它們的對應 IP 位址。使用 Amazon Route 53 等高可用且可擴展的[網域名稱系統 (DNS)](https://aws.amazon.com/route53/what-is-dns/) 來管理網域的 DNS 記錄。也可以使用 Amazon Route 53 提供的運作狀態檢查。運作狀態檢查會確認您的應用程式可連線、可用並且可運作，它們可以透過模仿您的使用者行為的方式進行設定，例如請求網頁或特定 URL。發生失敗時，Amazon Route 53 會回應 DNS 解析請求，並且僅將流量導向到健康的端點。您也可以考慮使用 Amazon Route 53 提供的 Geo DNS 和以延遲為基礎的路由功能。

 若要確認您的工作負載本身具有高可用性，請使用 Elastic Load Balancing (ELB)。Amazon Route 53 可用於將流量鎖定到 ELB，這會將流量分配到目標運算執行個體。也可以將 Amazon API Gateway 以及 AWS Lambda 一起用於無伺服器解決方案。客戶也可以在多個 AWS 區域 中執行工作負載。透過[多站台主動/主動模式](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud/)，工作負載可以為來自多個區域的流量提供服務。使用多站台主動/被動模式時，工作負載可為來自主動區域的流量提供服務，同時將資料複製到次要區域，並在主要區域發生故障時變為作用中狀態。然後，Route 53 運作狀態檢查可用於控制從主要區域中任何端點到次要區域中的某個端點的 DNS 備援，從而確認您的工作負載是否可存取並可供使用者使用。

 Amazon CloudFront 藉由使用全世界邊緣節點的網路為請求提供服務，以低延遲和高資料傳輸率提供簡易 API 來分發內容。內容交付網路 (CDN) 藉由在靠近使用者的位置提供放置或快取的內容來服務客戶。當內容負載從您的伺服器轉移到 CloudFront 的[邊緣節點](https://aws.amazon.com/products/networking/edge-networking/)時，這也會改善應用程式的可用性。邊緣節點和區域邊緣快取會將您的內容快取複本保存在靠近您觀眾的位置，以便快速擷取並且增加您的工作負載的連線能力和可用性。

 針對具有分散各地使用者的工作負載，AWS Global Accelerator 可協助您改善應用程式的可用性和效能。AWS Global Accelerator 提供任播靜態 IP 位址，可做為一或多個 AWS 區域 中託管之應用程式的固定進入點。這可讓流量盡可能輸入到使用者附近的 AWS 全球網路，改善您的工作負載的連線能力和可用性。AWS Global Accelerator 也會使用 TCP、HTTP 和 HTTPS 運作狀態檢查來監控您的應用程式端點的運作狀態。您的端點的運作狀態或組態的任何變更都允許將使用者流量重新導向到健康的端點，為您的使用者交付最佳效能和可用性。此外，AWS Global Accelerator 有故障隔離設計，使用由獨立網路區域提供服務的兩個靜態 IPv4 地址，增加您的應用程式的可用性。

 為了幫助保護客戶免受 DDoS 攻擊，AWS 會提供 AWS Shield Standard。Shield Standard 會自動開啟並防止一般基礎架構 (第 3 層和第 4 層) 攻擊，例如 SYN/UDP 泛洪和反射攻擊，以支援 AWS 上應用程式的高可用性。針對更複雜和更大型攻擊 (例如 UDP 泛洪)、狀態耗盡攻擊 (例如 TCP SYN 泛洪) 的額外保護，以及協助保護您的應用程式在 Amazon Elastic Compute Cloud (Amazon EC2)、Elastic Load Balancing (ELB)、Amazon CloudFront、AWS Global Accelerator 以及 Route 53 上執行，您可以考慮使用 AWS Shield Advanced。針對應用程式層攻擊的保護，例如 HTTP POST 或 GET 泛洪，請使用 AWS WAF。AWS WAF 可以使用 IP 位址、HTTP 標題、HTTP 本文、URI 字串、SQL injection 隱碼攻擊和跨網站指令碼條件來判斷應該封鎖或允許請求。

 **實作步驟** 

1.  設定高可用 DNS：Amazon Route 53 是一種可用性高、可擴展性強的[網域名稱系統 (DNS)](https://aws.amazon.com/route53/what-is-dns/) Web 服務。Route 53 會將使用者請求連接至在 AWS 上或內部部署中執行的網際網路應用程式。如需詳細資訊，請參閱 [configuring Amazon Route 53 as your DNS service](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html)。

1.  設定運作狀態檢查：當使用 Route 53 時，請確認只有運作狀態良好的目標是可解析的。首先[建立 Amazon Route 53 運作狀態檢查和設定 DNS 備援](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)。以下是設定運作狀態檢查時要考慮的重要層面：

   1. [Amazon Route 53 決定運作狀態檢查是否良好的方式](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)

   1. [建立、更新和刪除運作狀態檢查](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html)

   1. [監控運作狀態檢查狀態和取得通知](https://docs.aws.amazon.com/)

   1. [Amazon Route 53 DNS 的最佳實務](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-monitor-view-status.html)

1. [將您的 DNS 服務連接到端點。](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/best-practices-dns.html)

   1.  使用 Elastic Load Balancing 作為流量的目標時，請使用指向負載平衡器區域端點的 Amazon Route 53 建立[別名記錄](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html)。建立別名記錄期間，將 [評估目標運作狀態] 選項設定為 [是]。

   1.  對於使用 API Gateway 時的無伺服器工作負載或私有 API，請使用 [Route 53 將流量導向至 API Gateway](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)。

1.  決定內容交付網路。

   1.  若要使用更接近使用者的邊緣節點交付內容，請先了解 [CloudFront 如何交付內容](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html)。

   1.  [簡單的 CloudFront 分佈](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.SimpleDistribution.html)入門。CloudFront 接著會知道您想要從哪裡交付內容，以及如何追蹤和管理內容交付的詳細資料。以下是設定 CloudFront 分發時要了解和考慮的重要層面：

      1. [快取如何與 CloudFront 邊緣節點搭配運作](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio-explained.html)

      1. [增加從 CloudFront 快取直接提供的請求比例 (快取命中率)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html)

      1. [使用 Amazon CloudFront Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)

      1. [透過 CloudFront 原始伺服器容錯移轉將高可用性最佳化](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)

1.  設定應用程式層保護：AWS WAF 可協助您保護免受常見 Web 漏洞和機器人的攻擊，這些攻擊會影響可用性、危及安全性或導致消耗過多資源。若要深入了解，請審核 [how AWS WAF works](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html)，當您準備實作來自應用程式層 HTTP POST AND GET 泛洪的保護時，請參閱 [Getting started with AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html)。也可以搭配使用 AWS WAF 與 CloudFront，請參閱有關 [how AWS WAF works with Amazon CloudFront features](https://docs.aws.amazon.com/waf/latest/developerguide/cloudfront-features.html) 的文件。

1.  設定額外 DDoS 保護：根據預設，所有 AWS 客戶都能透過 AWS Shield Standard 獲得以您的網站或應用程式為目標，對於常見、最常發生網路和傳輸層 DDoS 攻擊的保護，不需額外費用。如需有關在 Amazon EC2、Elastic Load Balancing、Amazon CloudFront、AWS Global Accelerator 以及 Amazon Route 53 上執行的面向網際網路應用程式的額外保護，您可以考慮 [AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary.html) 並審核 [DDoS 彈性架構的範例](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-resiliency.html)。若要保護您的工作負載和公有端點免受 DDoS 攻擊，請參閱 [Getting started with AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html)。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [REL10-BP01 將工作負載部署至多個位置](rel_fault_isolation_multiaz_region_system.md) 
+  [REL11-BP04 復原期間需使用資料平面，而非控制平面](rel_withstand_component_failures_avoid_control_plane.md) 
+  [REL11-BP06 當事件影響可用性時傳送通知](rel_withstand_component_failures_notifications_sent_system.md) 

 **相關文件：**
+  [APN 合作夥伴：可以幫助您規劃聯網的合作夥伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [適用於網路基礎設施的 AWS Marketplace](https://aws.amazon.com/marketplace/b/2649366011) 
+  [什麼是 AWS Global Accelerator？](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  [什麼是 Amazon CloudFront？](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
+  [什麼是 Amazon Route 53？](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
+  [什麼是 Elastic Load Balancing？](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
+ [網路連線能力 - 建立您的雲端基礎](https://docs.aws.amazon.com/whitepapers/latest/establishing-your-cloud-foundation-on-aws/network-connectivity-capability.html)
+ [什麼是 Amazon API Gateway？](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)
+ [什麼是 AWS WAF、AWS Shield 和 AWS Firewall Manager？](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html)
+ [什麼是 Amazon 應用程式復原控制器？](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html)
+ [設定 DNS 備援的自訂運作狀態檢查](https://docs.aws.amazon.com/apigateway/latest/developerguide/dns-failover.html)

 **相關影片：**
+ [AWS re:Invent 2022 - 使用 AWS Global Accelerator 改善效能與可用性](https://www.youtube.com/watch?v=s5sjsdDC0Lg)
+ [AWS re:Invent 2020：使用 Amazon Route 53 進行全球流量管理](https://www.youtube.com/watch?v=E33dA6n9O7I)
+ [AWS re:Invent 2022 - 操作高可用性多可用區域應用程式](https://www.youtube.com/watch?v=mwUV5skJJ0s)
+ [AWS re:Invent 2022 – 深入了解 AWS 聯網基礎設施](https://www.youtube.com/watch?v=HJNR_dX8g8c)
+ [AWS re:Invent 2022 - 建置彈性網路](https://www.youtube.com/watch?v=u-qamiNgH7Q)

 **相關範例：**
+ [使用 Amazon 應用程式復原控制器 (ARC) 進行災難復原](https://catalog.us-east-1.prod.workshops.aws/workshops/4d9ab448-5083-4db7-bee8-85b58cd53158/en-US/)
+ [AWS Global Accelerator 研討會](https://catalog.us-east-1.prod.workshops.aws/workshops/effb1517-b193-4c59-8da5-ce2abdb0b656/en-US)

# REL02-BP02 在雲端中的私有網路與內部部署環境之間佈建冗餘連線能力
<a name="rel_planning_network_topology_ha_conn_private_networks"></a>

 在雲端和內部部署環境中的私有網路之間的連線中實作備援，以實現連線恢復能力。這可以透過部署兩個或多個連結和流量路徑來實現，從而在發生網路故障時保持連接。

 **常見的反模式：**
+  您只依賴一個網路連線，這會產生單點故障。
+  您只能使用一個 VPN 通道或結束於相同可用區域的多個通道。
+  您依賴一個 ISP 進行 VPN 連線，這可能會導致 ISP 中斷期間完全失敗。
+  不實作類似 BGP 的動態路由通訊協定，這對於在網路中斷期間重新路由流量至關重要。
+  忽略了 VPN 通道的頻寬限制，並高估了其備份功能。

 **建立此最佳實務的優勢：**透過在您的雲端環境與您的公司或內部部署環境之間實作備援連線，即可確保兩個環境之間的相依服務能夠可靠地進行通訊。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 使用 AWS Direct Connect 將內部部署網路連線至 AWS 時，您可以使用結束於多個內部部署位置和多個 AWS Direct Connect 位置的不同裝置上的不同連線，以實現最大的網路復原能力 (99.99% 的 SLA)。此拓撲可針對裝置故障、連線問題和完全的位置中斷提供復原能力。或者，可以使用多個位置的兩個單獨連線 (每個內部部署位置連線至單一 Direct Connect 位置) 實現高復原能力 (99.9% 的 SLA)。此方法可防止因光纖斷裂或裝置故障而造成的連線中斷，並有助於減輕完全的位置故障。Direct Connect 彈性工具組可協助您設計 AWS Direct Connect 拓撲。

 您也可以考慮將結束於 AWS Transit Gateway 的 AWS Site-to-Site VPN 作為對主要 AWS Direct Connect 連線的具有成本效益的備份。此設定可在多個 VPN 通道中實現等價多路徑 (ECMP) 路由，即使每個 VPN 通道的上限為 1.25 Gbps，也能達到高達 50Gbps 的輸送量。但是，請務必注意，AWS Direct Connect 仍然是最大程度地減少網路中斷並提供穩定連接的最有效選擇。

 透過網際網路使用 VPN 將雲端環境連線至內部部署資料中心時，請將兩個 VPN 通道設定為單一站台對站台 VPN 連線的一部分。每個通道都應該在不同的可用區域結束，以獲得高可用性，並使用備援硬體來防止內部部署裝置故障。此外，請考慮內部部署位置來自不同網際網路服務供應商 (ISP) 的多個網際網路連線，以避免因單一 ISP 中斷而造成 VPN 連線完全中斷。選擇具有多種路由和基礎設施的 ISP，尤其是那些到 AWS 端點具有不同實體路徑到的 ISP，可提供高連線可用性。

 除了具有多個 AWS Direct Connect 連線和多個 VPN 通道 (或兩者的組合) 的實體備援之外，實作邊界閘道協定 (BGP) 動態路由也很重要。動態 BGP 可根據即時網路條件和設定的政策，將流量從一個路徑自動重新路由到另一個路徑。這種動態行為對於在發生連結或網路故障時維持網路可用性和服務連續性特別有益。它可以快速選擇替代路徑，提高網路的彈性和可靠性。

### 實作步驟
<a name="implementation-steps"></a>
+  獲得 AWS 與內部部署環境之間的高可用連線。
  +  在單獨部署的私有網路之間使用多個 AWS Direct Connect 連線或 VPN 通道。
  +  使用多個 Direct Connect 位置以實現高可用性。
  +  如果使用多個 AWS 區域，請至少在其中兩個區域中建立備援。
+  如果可能，請使用 AWS Transit Gateway 來結束 [VPN 連線](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html)。
+  評估 AWS Marketplace 設備以結束 VPN 或將 [SD-WAN 擴展到 AWS](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/aws-transit-gateway-sd-wan.html)。如果您使用 AWS Marketplace 設備，可在不同的可用區域中部署冗餘執行個體以實現高可用性。
+  提供內部部署環境的備援連線。
  +  您可能需要多個 AWS 區域的冗餘連線才能滿足可用性需求。
  +  使用 [Direct Connect 彈性工具組](https://docs.aws.amazon.com/directconnect/latest/UserGuide/resilency_toolkit.html)以開始使用。

## 資源
<a name="resources"></a>

 **相關文件：**
+  [AWS Direct Connect 恢復能力建議](https://aws.amazon.com/directconnect/resiliency-recommendation/) 
+  [使用備援的站台對站台 VPN 連接來提供容錯移轉](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNConnections.html) 
+  [路由政策和 BGP 社群](https://docs.aws.amazon.com/directconnect/latest/UserGuide/routing-and-bgp.html) 
+  [AWS Direct Connect 中的主動/主動和主動/被動組態](https://docs.aws.amazon.com/architecture-diagrams/latest/active-active-and-active-passive-configurations-in-aws-direct-connect/active-active-and-active-passive-configurations-in-aws-direct-connect.html) 
+  [APN 合作夥伴：可以幫助您規劃聯網的合作夥伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [AWS Marketplace適用於網路基礎設施的](https://aws.amazon.com/marketplace/b/2649366011) 
+  [Amazon Virtual Private Cloud 連線選項白皮書](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html) 
+  [建立可擴展且安全的多個 VPC AWS 網路架構](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [使用備援的站台對站台 VPN 連接來提供容錯移轉](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNConnections.html) 
+  [使用 Direct Connect 彈性工具組以開始使用](https://docs.aws.amazon.com/directconnect/latest/UserGuide/resilency_toolkit.html) 
+  [VPC 端點和 VPC 端點服務 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) 
+  [什麼是 Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 
+  [什麼是傳輸閘道？](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 
+  [什麼是 AWS Site-to-Site VPN？](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) 
+  [使用 Direct Connect 閘道](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-gateways.html) 

 **相關影片：**
+  [AWS re:Invent 2018：進階 VPC 設計及 Amazon VPC 的新功能](https://youtu.be/fnxXNZdf6ew) 
+  [AWS re:Invent 2019：適用於許多 VPC 的 AWS Transit Gateway 參考架構](https://youtu.be/9Nikqn_02Oc) 

# REL02-BP03 確保 IP 子網路分配帳戶具有擴展性和可用性
<a name="rel_planning_network_topology_ip_subnet_allocation"></a>

 Amazon VPC IP 位址範圍必須足夠大，以因應工作負載的要求，包括考慮將來擴展 IP 位址以及跨可用區域將 IP 位址分配給子網路。這包括負載平衡器、EC2 執行個體和容器型應用程式。

 規劃您的網路拓樸時，首先要定義 IP 位址空間。私有 IP 位址範圍 (依循 RFC 1918 指引) 應分配給各 VPC。在此流程中請滿足下列要求：
+ 允許每個區域為多於一個 VPC 準備 IP 位址空間。
+ 在 VPC 內，允許多個子網路，以便可涵蓋多個可用區域。
+ 考慮在 VPC 內留下未用 CIDR 區塊空間，以供未來擴展。
+ 確保有 IP 位址空間可以滿足您可能會用到之 Amazon EC2 執行個體的任何臨時機群需求，例如，用於機器學習的 Spot 機群、Amazon EMR 叢集或 Amazon Redshift 叢集。Kubernetes 叢集 (例如 Amazon Elastic Kubernetes Service (Amazon EKS)) 也應考慮類似的考量，因為預設情況下，每個 Kubernetes Pod 都會從 VPC CIDR 區塊指派一個可路由的位址。
+ 請注意，在各子網路 CIDR 區塊中，前四個 IP 位址和最後一個 IP 位址均預留起來，無法供您使用。
+ 請注意，雖然無法變更或刪除分配給 VPC 的最初 VPC CIDR 區塊，但您可以將不重疊的其他 CIDR 區塊新增至 VPC。無法變更子網路 IPv4 CIDR，但可以變更 IPv6 CIDR。
+ 最大可能的 VPC CIDR 區塊是 /16，最小的是 /28。
+ 考慮使用其他連線網路 (VPC、內部部署或其他雲端供應商)，並確保不重疊的 IP 位址空間。如需詳細資訊，請參閱 [REL02-BP05 在連線的所有私有位址空間中強制使用不重疊的私有 IP 位址範圍。](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html)

 **預期成果：**可擴展的 IP 子網路可以幫助您適應未來的成長，並避免不必要的浪費。

 **常見的反模式：**
+ 未能考慮未來的成長，導致 CIDR 區塊太小且需要重新設定，進而可能造成停機。
+ 錯誤預估 Elastic Load Balancer 可以使用的 IP 位址數量。
+ 在相同的子網路中部署許多高流量負載平衡器
+ 使用自動擴展機制，同時無法監控 IP 位址使用情況。
+ 定義過大的 CIDR 範圍遠遠超出了未來的成長預期，這可能會導致難以與具有重疊位址範圍的其他網路進行對等互連。

 **建立此最佳實務的優勢：**如此可確保您可以適應工作負載的增長，並在向上擴展時繼續提供可用性。

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

規劃網路以適應增長、法規要求以及與其他網路整合。增長可能會被低估，合規要求可能會發生變化，並且如果沒有適當的規劃，採購或私有網路連線可能會難以實作。
+  根據您的服務要求、延遲、法規和災難復原 (DR) 要求，選取相關的 AWS 帳戶和區域。
+  確定您對區域 VPC 部署的需求。
+  確定 VPC 的大小。
  +  確定是否要部署多 VPC 連線。
    +  [什麼是 Transit Gateway？](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 
    +  [單區域多 VPC 連線](https://aws.amazon.com/answers/networking/aws-single-region-multi-vpc-connectivity/) 
  +  確定您是否需要區隔聯網以滿足法規要求。
  + 使用適當大小的 CIDR 區塊製作 VPC，以滿足當前和未來需求。
    + 如果您有未知的增長預測，您可能希望選擇較大的 CIDR 區塊，以減少未來重新配置的可能性
  + 請考慮使用子網路的 [IPv6 定址](https://aws.amazon.com/vpc/ipv6/)做為雙堆疊 VPC 的一部分。IPv6 非常適合在包含暫時性執行個體或容器的私有子網路中使用，否則需要大量 IPv4 位址。

## 資源
<a name="resources"></a>

 **相關 Well-Architected 的最佳實務：**
+  [REL02-BP05 在連線的所有私有位址空間中強制使用不重疊的私有 IP 位址範圍](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html) 

 **相關文件：**
+  [APN 合作夥伴：可以幫助您規劃聯網的合作夥伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [AWS Marketplace適用於網路基礎設施的](https://aws.amazon.com/marketplace/b/2649366011) 
+  [Amazon Virtual Private Cloud 連線選項白皮書](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html) 
+  [多個資料中心 HA 網路連線能力](https://aws.amazon.com/answers/networking/aws-multiple-data-center-ha-network-connectivity/) 
+  [單區域多 VPC 連線](https://aws.amazon.com/answers/networking/aws-single-region-multi-vpc-connectivity/) 
+  [什麼是 Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 
+  [ 上的 IPv6AWS](https://aws.amazon.com/vpc/ipv6) 
+  [參考架構上的 IPv6](https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/IPv6-reference-architectures-for-AWS-and-hybrid-networks-ra.pdf) 
+  [Amazon Elastic Kubernetes Service 推出 IPv6 支援](https://aws.amazon.com/blogs/containers/amazon-eks-launches-ipv6-support/) 
+ [ VPC 的建議 - Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-backend-instances.html#set-up-ec2)
+ [可用區域子網路 - Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#availability-zones)
+ [ 可用區域 - Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#availability-zones)

 **相關影片：**
+  [AWS re:Invent 2018：進階 VPC 設計及 Amazon VPC 的新功能 (NET303)](https://youtu.be/fnxXNZdf6ew) 
+  [AWS re:Invent 2019：適用於許多 VPC 的 AWS Transit Gateway 參考架構 (NET406-R1)](https://youtu.be/9Nikqn_02Oc) 
+  [AWS re:Invent 2023: AWS 是否為下一步做好準備？ 設計網路實現增長和靈活性 (NET310)](https://www.youtube.com/watch?v=FkWOhTZSfdA) 

# REL02-BP04 偏好軸輻式拓撲而非多對多網狀拓撲
<a name="rel_planning_network_topology_prefer_hub_and_spoke"></a>

 連接多個私有網路 (例如虛擬私有雲端 (VPC) 和內部部署網路時，請選擇軸輻式拓撲而非網狀拓撲。與網狀拓撲不同，其中每個網路都直接連接到其他網路並增加了複雜性和管理開銷，軸輻式架構會透過單一中樞集中連線。這種集中化簡化了網路結構，並增強了其可操作性、可擴展性和控制能力。

 AWS Transit Gateway 是一項受管理、可擴展且高可用性的服務，專為在 AWS 上建構軸輻式網路而設計。它可作為網路的中心樞紐，提供網路分段、集中式路由以及與雲端和內部部署環境的簡化連線。下圖說明如何使用 AWS Transit Gateway 來建置軸輻式拓撲。

![\[AWS Transit Gateway connecting various services like VPCs, Direct Connect, and third-party appliances.\]](http://docs.aws.amazon.com/zh_tw/wellarchitected/latest/framework/images/hub-and-spoke.png)


 

 **預期成果：**您已透過中樞連接虛擬私有雲端 (VPC) 和內部部署網路。您能透過中樞設定對等連線，而此中樞可做為高度擴展的雲端路由器。您不需要處理複雜的對等關係，因此路由更簡單。網路之間的流量會經過加密，而且可以隔離網路。

 **常見的反模式：**
+  您會建置複雜的網路對等規則。
+  您在彼此不應相互通訊的網路之間提供路由 (例如，彼此互不相依的個別工作負載)。
+  中樞執行個體的管控無效。

 **建立此最佳實務的優勢：**隨著連線網路數量的增加，網狀連線的管理和擴充變得越來越具有挑戰性。網格架構會帶來額外的挑戰，例如額外的基礎設施元件、組態需求和部署考量。網格也會帶來額外的負荷，因為需要管理和監控資料平面和控制平面元件。您必須思考如何提供高度可用的網格架構、如何監控網格運作狀態和效能，以及如何處理網格元件的升級。

 另一方面來說，軸輻式模型會在多個網路之間建立集中式流量路由。該模型提供更簡單的方法來管理和監控資料平面和控制平面元件。

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

 若還沒有網路服務帳戶，請先建立帳戶。在組織的網路服務帳戶中設置中樞。此方法可讓網路工程師集中管理中樞。

 軸輻式模型的中樞是做為虛擬路由器，可讓流量在您的虛擬私有雲端 (VPC) 與內部部署網路之間傳遞。這種方法降低了網路的複雜性，同時也更容易對網路問題進行故障診斷。

 考慮您的網路設計，包括要互連的 VPC、AWS Direct Connect 和 Site-to-Site VPN 連線。

 考慮針對每個傳輸閘道 VPC 連接使用個別子網路。對於每個子網路，請使用小型 CIDR (例如 /28)，以便擁有更多位址空間可供運算資源使用。此外，建立一個網路 ACL，並將它與中樞的所有關聯子網路建立關聯。在輸入和輸出方向上保持網路 ACL 開啟。

 設計和實作您的路由表，以便僅在應通訊的網路之間提供路由。省略彼此不應相互通訊的網路之間的路由 (例如，彼此互不相依的個別工作負載之間)。

### 實作步驟
<a name="implementation-steps"></a>

1.  規劃您的網路。決定要連線的網路，並確認這些網路提供的 CIDR 範圍不會重疊。

1.  建立 AWS Transit Gateway 並連接您的 VPC。

1.  如有需要，請建立 VPN 連線或 Direct Connect 閘道，並將其與 Transit Gateway 建立關聯。

1.  透過 Transit Gateway 路由表的組態，定義如何在連線的 VPC 和其他連線之間路由流量。

1.  使用 Amazon CloudWatch，視需要來監控和調整組態，以進行效能和成本最佳化。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [REL02-BP03 確保 IP 子網路配置帳戶具有擴展性和可用性](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_ip_subnet_allocation.html) 
+  [REL02-BP05 在連線的所有私有位址空間中強制使用不重疊的私有 IP 位址範圍](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html) 

 **相關文件：**
+  [什麼是 Transit Gateway？](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 
+  [傳輸閘道設計最佳實務](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-best-design-practices.html) 
+  [建立可擴展且安全的多個 VPC AWS 網路架構](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [使用 AWS Transit Gateway 區域間對等互連建置全球網路](https://aws.amazon.com/blogs/networking-and-content-delivery/building-a-global-network-using-aws-transit-gateway-inter-region-peering/) 
+  [Amazon Virtual Private Cloud 連線選項](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html) 
+  [APN 合作夥伴：可以幫助您規劃聯網的合作夥伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [AWS Marketplace適用於網路基礎設施的](https://aws.amazon.com/marketplace/b/2649366011) 

 **相關影片：**
+  [AWS re:Invent 2023 - AWS 聯網基礎](https://www.youtube.com/watch?v=8nNurTFy-h4) 
+  [AWS re:Invent 2023 - 進階 VPC 設計及新功能](https://www.youtube.com/watch?v=cRdDCkbE4es) 

 **相關研討會：**
+  [AWS Transit Gateway 研討會](https://catalog.workshops.aws/trasitgw/en-US) 

# REL02-BP05 在連線的所有私有地址空間中強制使用不重疊的私有 IP 位址範圍
<a name="rel_planning_network_topology_non_overlap_ip"></a>

在對等互連、透過 Transit Gateway 連線或透過 VPN 連線時，每個 VPC 的 IP 位址範圍不得重疊。避免 VPC 與內部部署環境或您所使用之其他雲端供應商之間出現 IP 位址衝突。您也必須有一種在需要時分配私有 IP 位址範圍的方法。IP 位址管理 (IPAM) 系統可以協助實現此自動化。

 **預期成果：**
+  VPC、內部部署環境或其他雲端供應商之間沒有 IP 位址範圍衝突。
+  適當的 IP 位址管理可以更輕鬆地擴展網路基礎設施，以適應網路需求的成長和變化。

 **常見的反模式：**
+  在 VPC 中使用與內部部署、公司網路或其他雲端供應商相同的 IP 範圍 
+  不追蹤用來部署工作負載之 VPC 的 IP 範圍。
+  仰賴手動 IP 位址管理程序，例如試算表。
+  大小過大或過小的 CIDR 區塊會導致 IP 位址浪費或位址空間不足以滿足您的工作負載。

 **建立此最佳實務的優勢：**主動規劃網路，可確保在互連網路中不會出現多個相同的 IP 位址。這可防止使用不同應用程式的工作負載部分發生路由問題。

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

 利用 IPAM，例如 [Amazon VPC IP Address Manager](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) 來監控和管理 CIDR 的使用情況。AWS Marketplace 也提供多套 IPAM 系統。評估您在 AWS 上的潛在使用情況，將 CIDR 範圍新增到現有 VPC，並建立 VPC 以允許計劃的用量增長。

### 實作步驟
<a name="implementation-steps"></a>
+  擷取當前的 CIDR 消耗 (例如，VPC 和子網路等)。
  +  使用服務 API 操作來收集當前的 CIDR 消耗。
  +  使用 [Amazon VPC IP Address Manager 來探索資源](https://docs.aws.amazon.com/vpc/latest/ipam/res-disc-work-with-view.html)。
+  記錄當前的子網路用量。
  +  使用服務 API 操作來收集每個區域中每個 VPC 的[子網路](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)。
  +  使用 [Amazon VPC IP Address Manager 來探索資源](https://docs.aws.amazon.com/vpc/latest/ipam/res-disc-work-with-view.html)。
+  記錄當前用量。
+  確定是否建立了任何重疊的 IP 範圍。
+  計算備用容量。
+  識別重疊的 IP 範圍。如果需要連線重疊的範圍，可以移轉至新的位址範圍，也可以考慮使用[私有 NAT 閘道](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/private-nat-gateway.html)或 [AWS PrivateLink](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/aws-privatelink.html) 之類的技術。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+ [保護網路](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/protecting-networks.html)

 **相關文件：**
+  [APN 合作夥伴：可以幫助您規劃聯網的合作夥伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [適用於網路基礎設施的 AWS Marketplace](https://aws.amazon.com/marketplace/b/2649366011) 
+  [Amazon Virtual Private Cloud 連線選項白皮書](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html) 
+  [多個資料中心 HA 網路連線能力](https://aws.amazon.com/answers/networking/aws-multiple-data-center-ha-network-connectivity/) 
+ [連線具有重疊 IP 範圍的網路](https://aws.amazon.com/blogs/networking-and-content-delivery/connecting-networks-with-overlapping-ip-ranges/)
+  [什麼是 Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 
+  [什麼是 IPAM？](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) 

 **相關影片：**
+ [AWS re:Invent 2023 - 進階 VPC 設計及新功能](https://www.youtube.com/watch?v=cRdDCkbE4es)
+  [AWS re:Invent 2019：適用於許多 VPC 的 AWS Transit Gateway 參考架構](https://youtu.be/9Nikqn_02Oc) 
+ [AWS re:Invent 2023 - 是否為下一步做好準備？ 設計網路實現增長和靈活性](https://www.youtube.com/watch?v=FkWOhTZSfdA)
+ [AWS re:Invent 2021 - \$1最新發佈\$1 在 AWS 上大規模管理 IP 位址](https://www.youtube.com/watch?v=xtLJgJfhPLg)