

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

# 多帳戶架構的網路連線能力
<a name="network-connectivity"></a>

## 與 VPC 連線
<a name="connecting-vpcs"></a>

許多公司在 Amazon Virtual Private Cloud (Amazon VPC) 中使用 VPC 對等互連，以連接開發和生產 VPC。使用 VPC 對等互連，您可以使用私有 IP 地址在兩個 VPC 之間路由流量。連線VPCs 可以位於不同的 AWS 帳戶 和不同的 AWS 區域。如需詳細資訊，請參閱 [VPC 對等互連是什麼](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) (Amazon VPC 文件)。隨著公司的成長和 VPC 數量的增加，維護所有 VPC 之間的對等互連可能會成為維護負擔。您也可能受到每個 VPC 的 VPC 對等互連數目上限的限制。如需詳細資訊，請參閱 [VPC 對等互連配額](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-peering) (Amazon VPC 文件)。

如果您有多個開發、測試和預備環境跨多個託管非生產資料 AWS 帳戶，建議您在所有這些 VPCs之間提供網路連線，但不允許存取任何生產環境。您可以使用 [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 在多個帳戶間連接多個 VPC。您可以分隔路由表，以防止開發 VPC 透過傳輸閘道 (充當集中式路由器) 與生產 VPC 通訊。如需詳細資訊，請參閱[集中式路由器](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-centralized-router.html) (Transit Gateway 文件)。

Transit Gateway 還支援與其他傳輸閘道的對等互連，包括其他 AWS 帳戶 或 AWS 區域中的閘道。由於 Transit Gateway 是一項全受管、高可用性服務，因此您只需要為每個區域佈建一個傳輸閘道。

如需詳細資訊和詳細的網路架構，請參閱[建置可擴展且安全的多 VPC AWS 網路基礎設施](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) (AWS 白皮書）。

## 連接應用程式
<a name="connecting-applications"></a>

如果您需要在相同環境 （例如生產） AWS 帳戶 中不同 的應用程式之間建立通訊，您可以使用下列其中一個選項：
+ 如果您想要開放對多個 IP 地址和連接埠的廣泛存取，[VPC 對等互連](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)或者 [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 可在網路層級提供連線。
+ [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) 在 VPC 的私有子網路中建立端點，並在 [Amazon Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html) 中將這些端點註冊為 DNS 項目。透過使用 DNS，應用程式可以解析端點並連線到已註冊的服務，而不需要 VPC 中的 NAT 閘道或網際網路閘道。
+ [Amazon VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-service-network.html) 會在多個帳戶和 VPC 中關聯服務 (例如應用程式)，並將其收集到服務網路中。與服務網路相關聯之 VPC 中的用戶端可以將請求傳送到與服務網路相關聯的所有其他服務，無論其是否位於同一帳戶中。VPC Lattice 與 AWS Resource Access Manager (AWS RAM) 整合，因此您可以與其他帳戶或透過 共用資源 AWS Organizations。您只能將 VPC 與一個服務網路相關聯。此解決方案不需要使用 VPC 對等互連或 AWS Transit Gateway 進行跨帳戶通訊。

## 網路連線的最佳實務
<a name="connectivity-best-practices"></a>
+ 建立 AWS 帳戶 您用於集中式聯網的 。將此帳戶命名為**網路生產者**，並將其用於 AWS Transit Gateway 和 [Amazon VPC IP Address Manager](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) (IPAM)。將此帳戶新增至 **Infrastructure\$1Prod** 組織單位。
+ 使用 [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) (AWS RAM) 與組織的其他成員共用傳輸閘道、VPC Lattice 服務網路和 IPAM 集區。這可讓 AWS 帳戶 組織內的任何 與這些服務互動。
+ 透過使用 IPAM 集區集中管理 IPv4 和 IPv6 地址配置，可以允許最終使用者透過使用 [AWS Service Catalog](https://aws.amazon.com/servicecatalog/) 自行佈建 VPC。這可協助您適當調整 VPC 的大小，並防止 IP 地址空間重疊。
+ 針對連接到網際網路的流量使用集中式輸出方法，並針對從網際網路進入環境的流量使用分散式輸入方法。如需詳細資訊，請參閱[集中式輸出](centralized-egress.md)及[分散式輸入](decentralized-ingress.md)。

# 集中式輸出
<a name="centralized-egress"></a>

*集中式輸出*是針對目的地為網際網路的所有網路流量使用單一通用進入點的原則。您可以在此進入點設定檢查，而且只能允許流向指定網域的流量，也只能透過指定的連接埠或通訊協定。集中式輸出也可協助您降低成本，不需要在每個 VPC 中部署 NAT 閘道以連線至網際網路。從安全角度來看，這是有益的，因為它限制了暴露於外部可存取的惡意資源，例如惡意軟體命令和控制 (C&C) 基礎設施。如需集中輸出的詳細資訊和架構選項，請參閱[集中輸出至網際網路 ](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-egress-to-internet.html)(AWS 白皮書）。

您可以使用 [AWS Network Firewall](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html)，它是一個具有狀態、受管的網路防火牆和入侵偵測與防護服務，作為輸出流量的中央檢查點。您可以在專用 VPC 中為輸出流量設定此防火牆。Network Firewall 支援有狀態規則，可用於限制特定域的網際網路存取。如需詳細資訊，請參閱[域篩選](https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-examples.html#suricata-example-domain-filtering) (Network Firewall 文件)。

您也可以使用 [Amazon Route 53 Resolver DNS 防火牆](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html)以限制流量輸出至特定域名稱，主要是為了防止未經授權的資料外洩。在 DNS 防火牆規則中，可以套用[域清單](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall-domain-lists.html) (Route 53 文件)，允許或拒絕存取指定域。您可以使用 AWS 受管網域清單，其中包含與惡意活動或其他潛在威脅相關聯的網域名稱，也可以建立自訂網域清單。可以建立 DNS 防火牆規則群組，然後將其套用至 VPC。傳出 DNS 請求會透過 VPC 中的解析器進行路由以解析域名，而 DNS 防火牆會根據套用至 VPC 的規則群組篩選請求。傳送至解析器的遞迴 DNS 請求不會通過傳輸閘道和網路防火墻路徑。Route 53 Resolver 和 DNS Firewall 應被視為 VPC 外的單獨輸出路徑。

下圖顯示集中式輸出的範例架構。在網路通訊開始之前，DNS 請求會傳送至 Route 53 Resolver，DNS 防火牆會允許或拒絕用於通訊的 IP 地址解析。傳送至網際網路的流量會路由至集中式網路帳戶中的傳輸閘道。傳輸閘道會將流量轉送至 Network Firewall 以進行檢查。如果防火牆政策允許輸出流量，則流量會透過 NAT 閘道、網際網路閘道和網際網路進行路由。您可以使用 AWS Firewall Manager 跨多帳戶基礎設施集中管理 DNS 防火牆規則群組和 Network Firewall 政策。

![\[流量透過網路帳戶從其他帳戶路由至網際網路。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/3_egress.png)


## 保護輸出流量的最佳實務
<a name="best-practices-egress"></a>
+ 在[僅登入模式](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall-rule-actions.html)中開始 (Route 53 文件)。驗證合法流量不受影響後，請變更為封鎖模式。
+ 使用[AWS Firewall Manager 網路存取控制清單的政策](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms-network-acl.html)或使用 來封鎖流向網際網路的 DNS 流量 AWS Network Firewall。所有 DNS 查詢都應透過 Route 53 Resolver 路由，您可以在其中使用 Amazon GuardDuty （如果啟用） 監控它們，並使用 [Route 53 Resolver DNS Firewall](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html) （如果啟用） 篩選它們。如需詳細資訊，請參閱[解析 VPC 與網路之間的 DNS 查詢](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-overview-DSN-queries-to-vpc.html) (Route 53 文件)。
+ 使用 DNS Firewall 和 Network Firewall 中的 [AWS 受管域清單](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall-managed-domain-lists.html) (Route 53 文件)。
+ 請考慮封鎖高風險、未使用的頂層域，例如 .info、.top、.xyz 或一些國家/地區代碼域。
+ 請考慮封鎖高風險且未使用的連接埠，例如連接埠 1389、4444、3333、445、135、139 或 53。
+ 作為起點，您可以使用包含 AWS 受管規則的拒絕清單。然後，您可以逐步實作允許清單模型。例如，不是只將完整網域名稱的嚴格清單包含在允許清單中，請先使用一些萬用字元，例如 *\$1.example.com*。您甚至只能允許您預期的頂層網域，並封鎖所有其他網域。然後，隨著時間的推移，也可以縮小範圍。
+ 使用 [Route 53 Profiles](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) (Route 53 文件） 將 DNS 相關的 Route 53 組態套用至許多 VPCs和不同 VPC AWS 帳戶。
+ 定義處理這些最佳實務例外狀況的程序。

# 分散式輸入
<a name="decentralized-ingress"></a>

*分散式輸入*的原則是在個人帳戶層級定義來自網際網路的流量如何到達該帳戶中的工作負載。在多帳戶架構中，分散式輸入的優點之一是每個帳戶都可以針對其工作負載使用最合適的輸入服務或資源，例如 Application Load Balancer、Amazon API Gateway 或 Network Load Balancer。

雖然分散式輸入意味著您必須單獨管理每個帳戶，但您可以透過 [AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html) 集中管理和維護組態。Firewall Manager 支援保護，例如 [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) 和 [Amazon VPC 安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。您可以 AWS WAF 與 Application Load Balancer、Amazon CloudFront、API Gateway 或 建立關聯 AWS AppSync。如果您使用的是輸出 VPC 和傳輸閘道 (如 [集中式輸出](centralized-egress.md) 中所述)，則每個分支 VPC 包含公有和私有子網路。不過，不需要部署 NAT 閘道，因為流量會經過網路帳戶中的輸出 VPC 路由。

下圖顯示具有單一 VPC 的個人範例 AWS 帳戶 ，其中包含可存取網際網路的工作負載。來自網際網路的流量透過網際網路閘道存取 VPC，並達到公有子網路中託管的負載平衡和安全服務。(*公有子網路*包含目的地為網際網路閘道的預設路由。) 將負載平衡器部署至公有子網路，並連接 AWS WAF 存取控制清單 (ACLs)，以協助防範惡意流量，例如跨網站指令碼。將託管應用程式的工作負載部署到*私有子網路*中，這些子網路不能直接存取網際網路。



![\[透過網際網路閘道 AWS WAF和負載平衡器從網際網路存取 VPC 的流量。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/4_ingress.png)


如果您的組織中有很多 VPC，您可能想透過在專用和共用的 AWS 帳戶中建立介面 VPC 端點或私有託管區域，來共用常見的 AWS 服務 。如需詳細資訊，請參閱[AWS 服務 使用介面 VPC 端點 （文件） 存取 ](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)和[使用私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) (Route 53 文件）。AWS PrivateLink 

下圖顯示 的範例 AWS 帳戶 ，其中託管可跨組織共用的資源。透過在專用 VPC 中建立 VPC 端點，可以在多個帳戶之間共用 VPC 端點。建立 VPC 端點時，您可以選擇讓 AWS 管理端點的 DNS 項目。若要共用端點，請清除此選項，然後在單獨的 Route 53 私有託管區域 (PHZ) 中建立 DNS 項目。然後，可以將 PHZ 與組織中的所有 VPC 產生關聯，以便對 VPC 端點進行集中的 DNS 解析。還需要確保傳輸閘道路由表包含共用 VPC 到其他 VPC 的路由。如需詳細資訊，請參閱[介面 VPC 端點的集中存取](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#interface-vpc-endpoints) (AWS 白皮書）。



![\[託管服務端點和資源以與其他成員帳戶共用的共用帳戶。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/5_shared.png)


共用 AWS 帳戶 也是託管 AWS Service Catalog 產品組合的好地方。*產品組合*是您要用於部署的一組 IT 服務 AWS，而產品組合包含這些服務的組態資訊。您可以在共用帳戶中建立產品組合，將其分享給組織，然後每個成員帳戶將產品組合匯入自己的區域 Service Catalog 執行個體。如需詳細資訊，請參閱[與 AWS Organizations共用](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing_how-to-share.html#portfolio-sharing-organizations) (Service Catalog 文件)。

同樣地，透過 Amazon VPC Lattice，您可以使用共用帳戶將環境和服務範本集中管理為實體，然後設定與組織成員帳戶的帳戶連線。如需詳細資訊，請參閱[共用 VPC Lattice 實體](https://docs.aws.amazon.com/vpc-lattice/latest/ug/sharing.html) (VPC Lattice 文件）。