本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从多个私密访问中央AWS服务端点 VPCs
由马丁·根斯纳 (AWS) 和塞缪尔·戈登 () 创作 AWS
代码存储库:VPC端点共享 | 环境:生产 | 技术:网络;基础架构 |
AWS服务:AWSRAM;亚马逊 Route 53;亚马逊SNS;T AWS ransit Gateway;亚马逊 VPC |
Summary
您的环境的安全与合规要求可能会规定,Amazon Web Services (AWS) 服务或终端节点的流量不得通过公共互联网。这种模式是一种专为拓扑设计的解决方案,在这种hub-and-spoke拓扑中,中央集线VPC器连接到多个分布式分支VPCs。在此解决方案中,您可以使用AWS PrivateLink 在中心账户中为AWS服务创建接口VPC终端节点。然后,您可以使用传输网关和分布式域名系统 (DNS) 规则将请求解析到连接的终端节点的私有 IP 地址VPCs。
此模式描述了如何使用 T AWS ransit Gateway、入站亚马逊 Route 53 Resolver 终端节点和共享的 Route 53 转发规则来解析来自所连接资源的DNS查询。VPCs您可在中心账户中创建端点、中转网关、解析程序和转发规则。然后,您可以使用 Res AWS ource Access Manager (AWSRAM) 与分支共享传输网关和转发规则VPCs。提供的AWS CloudFormation 模板可帮助您在中心和分支中部署VPC和配置资源VPCs。
先决条件和限制
先决条件
在 Organizations 的同一个AWS组织中管理的中心账户和一个或多个分支账户。有关更多信息,请参阅创建并管理组织。
AWSResource Access Manager (AWSRAM) 在 Organizations 中AWS被配置为可信服务。有关更多信息,请参阅将 Organizati AWSons 与其他AWS服务配合使用。
DNS必须在中心和分支中启用分辨率VPCs。有关更多信息,请参阅您的DNS属性 VPC(亚马逊 Virtual Private Cloud 文档)。
限制
这种模式连接同一AWS区域中的中心账户和分支账户。对于多区域部署,您必须对每个区域重复该模式。
AWS服务必须 PrivateLink 作为接口VPC终端节点与集成。有关完整列表,请参阅与集成的AWS服务 AWS PrivateLink(PrivateLink 文档)。
无法保证可用区域的亲和性。例如,来自可用区 A 的查询可能会使用可用区 B 的 IP 地址进行响应。
与VPC终端节点关联的 elastic network interface 限制为每秒 10,000 次查询。
架构
目标技术堆栈
中心AWS账户VPC中的中心
一个或多个在口头AWS账户VPCs中讲话
中心账户中的一个或多个接口VPC终端节点
中心账户中的入站与出站 Route 53 解析程序
部署在中心账户中并与分支账户共享的 Route 53 解析程序转发规则
部署在中心账户中并与分支账户共享的中转网关
AWS连接中心和辐条的 Transit Gateway VPCs
目标架构
下图显示了此解决方案的示例架构。在此架构中,中心账户中的 Route 53 解析程序转发规则与其他架构组件具有以下关系:
使用与分支VPC共享转发规则AWSRAM。
转发规则与集VPC线器中的出站解析器相关联。
转发规则以集线器中的入站解析器VPC为目标。
下图显示了通过示例架构的流量流:
分支中的资源(例如亚马逊弹性计算云 (AmazonEC2) 实例)向VPC发出DNS请求
<service>.<region>.amazonaws.com
。该请求已由 Spoked Amazon DNS Resolver 接收。Route 53 转发规则(从中心账户共享并与分支VPC账户关联)会拦截请求。
在集线器中VPC,出站解析器使用转发规则将请求转发给入站解析器。
入站解析器使用中心 VPC Amazon DNS Resolver 将的 IP 地址解析
<service>.<region>.amazonaws.com
为终端节点的私有 IP 地址。VPC如果不存在VPC端点,它将解析为公有 IP 地址。
工具
AWS工具和服务
AWS CloudFormation帮助您设置AWS资源,快速一致地配置资源,并在各个AWS账户和地区的整个生命周期中对其进行管理。
亚马逊弹性计算云 (AmazonEC2) 在AWS云中提供可扩展的计算容量。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。
AWSIdentity and Access Management (IAM) 通过控制谁经过身份验证并有权使用AWS资源,从而帮助您安全地管理对资源的访问权限。
AWSResource Access Manager (AWSRAM) 可帮助您安全地跨AWS账户共享资源,从而减少运营开销并提供可见性和可审计性。
Amazon Route 53 是一项高度可用且可扩展的域名系统 (DNS) 网络服务。
AWSSystems Manager 可帮助您管理在AWS云中运行的应用程序和基础架构。它简化了应用程序和资源管理,缩短了检测和解决操作问题的时间,并帮助您大规模安全地管理AWS资源。
AWSTransit Gatew ay 是一个连接本地网络VPCs的中央枢纽。
Amazon Virtual Private Cloud(亚马逊VPC)可帮助您将AWS资源启动到您定义的虚拟网络中。此虚拟网络类似于您在自己的数据中心中运行的传统网络,其优点是使用的可扩展基础架构。AWS
其他工具和服务
nslookup
是一个用于查询记录的命令行工具。DNS在这种模式中,您可使用此工具来测试解决方案。
代码存储库
此模式的代码可在 GitHubvpc-endpoint-sharing
用于在中心账户中部署以下资源模板:
rSecurityGroupEndpoints
— 控制VPC端点访问权限的安全组。rSecurityGroupResolvers
— 控制对 Route 53 Resolver 的访问权限的安全组。rKMSEndpoint
、rSSMMessagesEndpoint
rSSMEndpoint
、和rEC2MessagesEndpoint
— 中心账户中的接口VPC端点示例。您的使用案例自定义此端点。rInboundResolver
— 一个 Route 53 解析器,用于解决针对中心 Ama DNS zon Resolver 的DNS查询。rOutboundResolver
— 将查询转发给入站解析程序的出站 Route 53 解析程序。rAWSApiResolverRule
— 与所有分支VPCs共享的 Route 53 解析器转发规则。rRamShareAWSResolverRule
— 允许AWSRAM分支使用VPCsrAWSApiResolverRule
转发规则的共享。*
rVPC
— 集线器VPC,用于对共享服务进行建模。*
rSubnet1
— 用于存放中心资源私有子网。*
rRouteTable1
— 集线器的路由表VPC。*
rRouteTableAssociation1
— 对于集线器中的rRouteTable1
路由表VPC,指私有子网的关联。*
rRouteSpoke
— 从中心VPC到分支的路由VPC。*
rTgw
— 与所有分支共享的传输网关VPCs。*
rTgwAttach
— 允许集线器将流量路由VPC到中rTgw
转网关的附件。*
rTgwShare
— 允许AWSRAM分支账户使用rTgw
传输网关的共享。
用于在分支账户中部署以下资源的模板:
rAWSApiResolverRuleAssociation
— 允许分支VPC使用中心账户中的共享转发规则的关联。*
rVPC
— 发言人VPC。*
rSubnet1, rSubnet2, rSubnet3
— 每个可用区的子网,用于存放分支私有资源。*
rTgwAttach
— 允许分支服务器将流量路由VPC到rTgw
传输网关的附件。*
rRouteTable1
— 分支的路由表VPC。*
rRouteEndpoints
— 从分支中的资源VPC到传输网关的路由。*
rRouteTableAssociation1/2/3
— 对于分支中的rRouteTable1
路由表VPC,指私有子网的关联。*
rInstanceRole
— 用于测试解决方案的IAM角色。*
rInstancePolicy
— 用于测试解决方案的IAM策略。*
rInstanceSg
— 用于测试解决方案的安全组。*
rInstanceProfile
— 用于测试解决方案的IAM实例配置文件。*
rInstance
— 预先配置为通过 S AWS ystems Manager 访问的EC2实例。使用此实例测试解决方案。
* 这些资源支持示例架构,在现有登录区中实现此模式时可能不需要这些资源。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
克隆代码存储库。 |
| 网络管理员、云架构师 |
修改模板。 | 网络管理员、云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
测试对该AWS服务的私密DNS查询。 |
| 网络管理员 |
测试对AWS服务的公共DNS查询。 |
| 网络管理员 |
相关资源
构建可扩展且安全的多VPCAWS网络基础架构
(AWS白皮书) 使用共享资源(AWSRAM文档)
使用公交网关(Tr AWS ansit Gateway 文档)