[SEO 副标题]
本指南演示了在多账户环境中使用自定义域名创建 Amazon VPC Lattice 服务时,创建所需的 DNS 解析的自动化方法。该方法根据 Amazon VPC Lattice 服务的创建和删除操作,通过自动设置 Amazon Route 53 DNS,简化了配置流程,从而减少了大规模创建资源的运营工作。通过允许应用程序透明地访问所需的 DNS 解析,您可以获益于跨多个 AWS 账户连接服务的简化方法。
注意:[免责声明]
架构图

[架构图描述]
第 1 步
当新的分支账户创建一个新的 Amazon VPC Lattice 时,Amazon EventBridge 规则会检查该 VPC 网格服务是否带有正确的标签。该 EventBridge 规则(默认事件总线)还会验证移除该标签时,VPC Lattice 是否会被删除。
第 2 步
该事件会被转发到“获取 VPC 网格服务信息”的 AWS Step Functions 状态机。根据操作(创建或删除),该状态机将事件发布到自定义事件总线。此外,对于创建的带有自定义域名的资源,该状态机将检索域名配置详细信息,包括 VPC Lattice 生成的域、VPC Lattice 管理的托管区域以及自定义域名。
第 3 步
分支账户中的“vpclattice_information”自定义事件总线会配置一个目标,指向网络账户中的“cross_account”事件总线。
第 4 步
交付过程中处理失败的事件将存储在分支账户内的 Amazon Simple Queue Service(Amazon SQS)死信队列(DLQ)中,以便进行监控。
第 5 步
网络账户中的“cross_account”自定义事件总线会调用“DNS 配置” Step Functions 状态机。该状态机将处理来自分支账户的通知。
第 6 步
未成功处理的事件将存储在网络账户的 DLQ 中,以便进行监控。
第 7 步
“DNS 配置”状态机将在私有托管区域中创建或删除相应的别名记录。
第 8 步
使用 AWS Systems Manager 和 AWS Resource Access Manager(AWS RAM)进行安全的参数存储和跨账户数据共享。
Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
创建新的 VPC Lattice 服务时,EventBridge 会触发一个自动化流程。该流程会调用一个 Step Functions 状态机,以获取 VPC Lattice 服务的 DNS 信息,并将事件发布到自定义的 EventBridge 事件总线。在负责管理 DNS 的 AWS 账户中,另一个 Step Functions 状态机通过跨账户事件总线接收此事件,并通过添加别名记录来创建相应的 DNS 配置。这一自动化操作省去了针对新创建或已删除的 VPC Lattice 服务进行手动 DNS 配置的步骤,降低了多账户、大规模环境中的运营成本,同时实现了应用程序服务的透明 DNS 解析。
-
安全性
Amazon SQS 策略将访问权限限制在特定的账户、组织或资源。 AWS Identity & Access Management(IAM)为 Step Functions 设置的角色,将访问权限限定在 EventBridge、Route 53 或 VPC Lattice 等相关资源上。AWS RAM 仅在同一 AWS 组织内安全共享 EventBridge 事件总线等的资源。这些措施执行最低权限原则,仅允许必要的配置资源和 AWS 账户访问 VPC Lattice DNS 解析自动化。
-
可靠性
使用 EventBridge、Step Functions 和 Amazon SQS 等托管服务可以最大程度地降低连续事件处理过程中的故障风险,确保零停机时间。具体而言,EventBridge 目标中的 Amazon SQS DLQ 支持对失败消息处理进行监控和重试。以无服务器模式运行的 Step Functions 状态机则负责处理这些事件,并收集日志以实现全面的可视化。
-
性能效率
本指南在跨账户处理自动化过程中实现了最低延迟,确保使用者能够快速连接到新创建的 VPC Lattice 服务。此外,EventBridge 以托管服务形式提供实时事件处理。而且,Step Functions 和 Amazon SQS 均为区域托管的无服务器服务,可以较低的运营成本实现最佳性能。这些服务的组合为 VPC Lattice DNS 解析自动化系统提供了快速响应和高效的资源利用,可满足对近乎实时的服务可用性的需求。
-
成本优化
AWS 采用无服务器模式管理此架构中使用的计算资源。EventBridge、Step Functions 和 Amazon SQS 按需运行,仅在创建新的 VPC Lattice 服务时才会激活。这种无服务器方法可确保计算能力仅可短时间用于特定操作,避免了与长时间运行的进程相关的成本。通过使用这些托管服务,VPC Lattice DNS 解析自动化系统可在保持高性能和可靠性的同时优化资源利用率。
-
可持续性
按需计算服务和实时事件处理可最大程度地减少资源使用并降低环境影响。例如,EventBridge、Step Functions 和 Amazon SQS 是完全托管的 AWS 服务,在事件驱动的基础上运行,为短期任务提供高效率和低成本。与持续运行的进程相比,VPC Lattice DNS 解析自动化系统中这种事件驱动型架构有助于降低对环境的影响。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指南是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。