從多個 VPC 私有存取中央 AWS 服務端點 - AWS 方案指引

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

從多個 VPC 私有存取中央 AWS 服務端點

由馬丁·甘特納(AWS)和塞繆爾·戈登(AWS)創建

程式碼儲存庫:VPC 端點共

環境:生產

技術:網路;基礎架構

AWS 服務:AWS RAM;Amazon Route 53;Amazon SNS;AWS Transit Gateway;Amazon VPC

Summary

您環境的安全和合規要求可能會指定到 Amazon Web Services (AWS) 服務或端點的流量不得穿越公有網際網路。此模式是專為hub-and-spoke拓撲而設計的解決方案,其中中央集線器 VPC 連接到多個分散式點 VPC。在此解決方案中,您可 PrivateLink 以使用 AWS 為中樞帳戶中的 AWS 服務建立界面 VPC 端點。然後,您可以使用傳輸閘道和分散式網域名稱系統 (DNS) 規則,跨連線的 VPC 解析對端點私有 IP 位址的要求。

此模式說明如何使用 AWS Transit Gateway、傳入 Amazon Route 53 Resolver 端點和共用 Route 53 轉送規則,以便從連線 VPC 中的資源解析 DNS 查詢。您可以在 Hub 帳戶中建立端點、傳輸閘道、解析器和轉送規則。然後,您可以使用 AWS Resource Access Manager (AWS RAM) 與支點 VPC 共用傳輸閘道和轉送規則。所提供的 AWS CloudFormation 範本可協助您在中樞 VPC 和支點 VPC 中部署和設定資源。

先決條件和限制

先決條件

  • 在 AWS Organizations 的同一個組織中管理的中樞帳戶和一或多個支點帳戶。如需詳細資訊,請參閱建立和管理組織

  • AWS Resource Access Manager (AWS RAM) 在 AWS Organizations 中設定為受信任的服務。如需詳細資訊,請參閱將 AWS Organizations 與其他 AWS 服務搭配使用。

  • 必須在集線器和支點 VPC 中啟用 DNS 解析。如需詳細資訊,請參閱 VPC 的 DNS 屬性 (Amazon V irtual Private Cloud 文件)。

限制

  • 此模式會連接相同 AWS 區域中的中樞和支點帳戶。對於多區域部署,您必須針對每個區域重複此模式。

  • AWS 服務必須 PrivateLink 以接口虛擬私人雲端端點的形式整合。如需完整清單,請參閱與 AWS 整合的 AWS 服務 PrivateLink (PrivateLink 文件)。

  • 不保證可用區域相似性。例如,來自可用區域 A 的查詢可能會以可用區域 B 的 IP 位址回應。

  • 與虛擬私人雲端端點關聯的 elastic network interface 每秒有 10,000 個查詢的限制。

架構

目標技術堆疊

  • 集線器 AWS 帳戶中的集線器 VPC

  • 支點 AWS 帳戶中的一個或多個支點 VPC

  • 集線器帳戶中的一或多個介面 VPC 端點

  • 集線器帳戶中的入站和出站 Route 53 解析器

  • Route 53 解析器轉送規則部署在集線器帳戶中,並與支點帳戶共用

  • 部署在 Hub 帳戶中並與支點帳戶共用的傳輸閘道

  • 連接中樞和支點 VPC 的 AWS Transit Gateway

目標架構

下圖顯示此解決方案的範例架構。在此架構中,集線器帳戶中的 Route 53 解析器轉送規則與其他架構元件具有下列關係:

  1. 轉送規則是透過使用 AWS 記憶體與支點 VPC 人雲端共用。

  2. 轉送規則與中樞 VPC 中的輸出解析程式相關聯。

  3. 轉送規則會鎖定中樞 VPC 中的輸入解析程式。

架構圖顯示支點和中樞帳戶中的資源。

下圖顯示了通過範例架構的流量:

  1. 支點 VPC 中的資源 (例如亞馬遜彈性運算雲端 (Amazon EC2) 執行個體,會向<service>.<region>.amazonaws.com其發出 DNS 請求。該請求由支點 Amazon DNS 解析器接收。

  2. Route 53 轉送規則 (從集線器帳戶共用並與支點 VPC 相關聯) 會攔截要求。

  3. 在中樞 VPC 中,輸出解析程式會使用轉送規則將要求轉送至輸入解析器。

  4. 輸入解析器使用集線器 VPC Amazon DNS 解析器將的 IP 位址解析為 VPC 端點<service>.<region>.amazonaws.com的私有 IP 位址。如果沒有 VPC 端點,它會解析為公用 IP 位址。

流量從支點 VPC 中的資源流到集線器 VPC 中的服務端點。

工具

AWS 工具和服務

  • AWS 可 CloudFormation協助您設定 AWS 資源、快速且一致地佈建 AWS 資源,並在 AWS 帳戶和區域的整個生命週期中進行管理。

  • 亞馬遜彈性運算雲 (Amazon EC2) 在 AWS 雲端提供可擴展的運算容量。您可以根據需要啟動任意數量的虛擬伺服器,並快速擴展或縮減它們。

  • AWS Identity and Access Management (IAM) 可透過控制誰經過身份驗證和授權使用 AWS 資源,協助您安全地管理對 AWS 資源的存取。

  • AWS Resource Access Manager (AWS RAM) 可協助您在 AWS 帳戶之間安全地共用資源,以減少營運開銷,並提供可見性和可稽核性。

  • Amazon Route 53 是一種可用性高、可擴展性強的網域名稱系統 (DNS) Web 服務。

  • AWS Systems Manager 可協助您管理在 AWS 雲端中執行的應用程式和基礎設施。它可簡化應用程式和資源管理、縮短偵測和解決操作問題的時間,並協助您安全地大規模管理 AWS 資源。

  • AWS Transit Gateway 是連接 VPC 和現場部署網路的中央中樞。

  • Amazon Virtual Private Cloud (Amazon VPC) 可協助您將 AWS 資源啟動到您已定義的虛擬網路中。這個虛擬網路類似於您在自己的資料中心中操作的傳統網路,並具有使用 AWS 可擴展基礎設施的好處。

其他工具和服務

  • nslookup 是用來查詢 DNS 記錄的命令列工具。在此模式中,您可以使用此工具來測試解決方案。

代碼存儲庫

此模式的程式碼可在 GitHubvpc-endpoint-sharing存放庫中取得。此模式提供兩個 AWS CloudFormation 範本:

  • 在 Hub 帳戶中部署下列資源的範本:

    • rSecurityGroupEndpoints— 控制 VPC 端點存取權的安全群組。

    • rSecurityGroupResolvers— 控制 Route 53 解析程式存取權的安全性群組。

    • rKMSEndpointrSSMMessagesEndpointrSSMEndpoint、和 rEC2MessagesEndpoint — 中樞帳戶中的介面 VPC 端點範例。針對您的使用案例自訂這些端點。

    • rInboundResolver— Route 53 解析器,解決針對集線器的 DNS 查詢 Amazon DNS 解析器.

    • rOutboundResolver— 將查詢轉發到入站解析器的出站 Route 53 解析器。

    • rAWSApiResolverRule— 與所有支點 VPC 共用的 Route 53 解析器轉送規則。

    • rRamShareAWSResolverRule— 允許支點 VPC 使用rAWSApiResolverRule轉送規則的 AWS RAM 共用。

    • * rVPC — 集線器 VPC,用於建模共用服務。

    • * rSubnet1 — 用來容納集線器資源的私有子網路。

    • * rRouteTable1 — 集線器 VPC 的路由表。

    • * rRouteTableAssociation1 — 對於集rRouteTable1線器 VPC 中的路由表,則為私有子網路的關聯。

    • * rRouteSpoke — 從集線器 VPC 到支點 VPC 的路由。

    • * rTgw — 與所有支點 VPC 共用的傳輸閘道。

    • * rTgwAttach — 允許集線器 VPC 將流量路由到rTgw傳輸閘道的附件。

    • * rTgwShare — 允許支點帳戶使用rTgw傳輸閘道的 AWS RAM 共用。

  • 在支點帳戶中部署下列資源的範本:

    • rAWSApiResolverRuleAssociation— 允許分支 VPC 使用 Hub 帳戶中共用轉送規則的關聯。

    • * rVPC — 該輻條 VPC.

    • * rSubnet1, rSubnet2, rSubnet3 — 每個可用區域的子網路,用來容納分支式私有資源。

    • * rTgwAttach — 允許分支 VPC 將流量路由到rTgw傳輸閘道的附件。

    • * rRouteTable1 — 輪輻 VPC 的路由表。

    • * rRouteEndpoints — 從支點 VPC 中的資源到傳輸閘道的路由。

    • * rRouteTableAssociation1/2/3 — 對於網輻 VPC 中的rRouteTable1路由表,是私有子網路的關聯。

    • * rInstanceRole — 用來測試解決方案的 IAM 角色。

    • * rInstancePolicy — 用來測試解決方案的 IAM 政策。

    • * rInstanceSg — 用來測試解決方案的安全性群組。

    • * rInstanceProfile — 用於測試解決方案的 IAM 執行個體設定檔。

    • * rInstance — 預先設定為透過 AWS Systems Manager 存取的 EC2 執行個體。使用此執行個體來測試解決方案。

* 這些資源支援範例架構,在現有的 landing zone 實作此模式時,可能不需要這些資源。

史诗

任務描述所需技能

克隆代碼存儲庫。

  1. 在指令行介面中,將工作目錄變更為要儲存範例檔案的位置。

  2. 輸入以下命令:

    git clone https://github.com/aws-samples/vpc-endpoint-sharing.git
網路管理員、雲端架構師

修改範本。

  1. 在克隆的存儲庫中,打開 hub.yml 和欺騙 .yml 文件。

  2. 檢閱這些範本所建立的資源,並根據您的環境需要調整範本。如需完整清單,請參閱工具中的程式碼儲存庫一節。如果您的帳戶已擁有其中一些資源,請將其從 CloudFormation 範本中移除。如需詳細資訊,請參閱使用範本 (CloudFormation 文件集)。

  3. 保存並關閉 hub.yml 並欺騙 .yml 文件。

網路管理員、雲端架構師
任務描述所需技能

部署集線器資源。

使用 hub.yml 模板,創建一個堆棧。 CloudFormation 出現提示時,請為樣板中的參數提供值。如需詳細資訊,請參閱建立堆疊 (CloudFormation 文件集)。

雲端架構師、網路管理員

部署支點資源。

使用 spoke.yml 模板,創建一個堆棧。 CloudFormation 出現提示時,請為樣板中的參數提供值。如需詳細資訊,請參閱建立堆疊 (CloudFormation 文件集)。

雲端架構師、網路管理員
任務描述所需技能

測試 AWS 服務的私有 DNS 查詢。

  1. 使用工作階段管理員 (AWS Systems Manager 的一項功能) Connect 至 rInstance EC2 執行個體。如需詳細資訊,請參閱使用工作階段管理員 Connect 到 Linux 執行個體 (Amazon EC2 文件)。

  2. 對於中樞帳戶中具有 VPC 端點的 AWS 服務,請使用nslookup來確認傳回傳入 Route 53 解析器的私有 IP 地址。

    以下是使用連nslookup接 Amazon Systems Manager 端點的示例。

    nslookup ssm.<region>.amazonaws.com
  3. 在 AWS Command Line Interface (AWS CLI) (AWS CLI) 中,輸入可協助您確認變更不會影響服務功能的命令。如需命令清單,請參閱 AWS CLI 命令參考

    例如,下列命令應傳回 Amazon Systems Manager 文件清單。

    aws ssm list-documents
網路管理員

測試 AWS 服務的公用 DNS 查詢。

  1. 對於中樞帳戶中有 VPC 端點的 AWS 服務,請使用nslookup來確認傳回公用 IP 地址。以下是使用nslookup連接亞馬遜簡單通知服務 (Amazon SNS) 端點的範例。

    nslookup sns.<region>.amazonaws.com
  2. 在 AWS CLI 中,輸入可協助您確認變更不會影響服務功能的命令。如需命令清單,請參閱 AWS CLI 命令參考

    例如,如果集線器帳戶中有任何 Amazon SNS 主題,則下列命令應傳回主題清單。

    aws sns list-topics
網路管理員

相關資源