跳至主要内容

AWS 解决方案库

从外部连接到 Amazon VPC Lattice 的指南

概览

重要说明:本指引需要使用 AWS CodeCommit,但这项服务不再面向新客户提供。AWS CodeCommit 的现有客户可以继续照常使用和部署本指南。

本指南演示了如何配置虚拟私有云(VPC)中的代理,以便将外部服务连接到您的 Amazon VPC Lattice 服务网络,从而实现公共、混合或跨区域访问。虽然 VPC Lattice 简化了 AWS 区域内的服务间消费,但如果您的应用程序位于区域之外,则需要创建和管理代理解决方案。按照本指南构建入口 VPC 并配置适当的 DNS 解析,您就可以轻松地从 VPC Lattice 服务网络建立与外部资源的连接。

工作原理

概览

此架构图展示了如何在虚拟私有云(VPC)中配置代理,以将外部服务连接到 Amazon VPC Lattice。有三种方法可以使用 Amazon VPC Lattice 实现公共、混合或跨区域访问。每种方法都将在相应的选项卡中进一步概述。

Architecture diagram showing AWS external connectivity using VPC Lattice, featuring AWS CodePipeline, CodeCommit, CodeBuild, CodeDeploy, Amazon ECR, NGINX, Amazon ECS Fargate clusters, network load balancers, internet and VPN gateways, and a multi-AZ VPC with public and private subnets.

公共访问

此架构图展示了在关联的 VPC 中布置代理解决方案如何通过调整 DNS 解析实现 VPC Lattice 服务的外部消费。

Architecture diagram showing how AWS VPC Lattice enables external connectivity and public access, illustrating the networking flow between consumer applications on the internet and backend services such as AWS Lambda via VPC Lattice, Network Load Balancer, AWS Fargate proxy fleet, resolvers, and hosted zones.

混合访问

此架构图展示了在关联的 VPC 中布置代理解决方案如何使本地应用程序能够通过调整混合 DNS 解析实现 VPC Lattice 服务的外部消费。

Architecture diagram illustrating AWS VPC Lattice hybrid access and external connectivity. Shows how on-premises data centers, DNS servers, and consumer applications connect to AWS services such as VPC Lattice, Lambda, Route 53, and network load balancers through a combination of gateways, VPCs, resolvers, and service associations. Includes record setup examples for DNS configurations.

跨区域访问

此架构图展示了在关联的 VPC 中布置代理解决方案如何通过调整混合 DNS 解析实现 VPC Lattice 服务的跨区域消费。

Architecture diagram showing AWS VPC Lattice cross-region external connectivity, including a consumer VPC in Region 1, a service network and provider in Region 2, network load balancer, proxy fleet, VPC Lattice service network, and DNS records for service discovery.

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

CodePipeline 让您能够使用管道通过 NGINX 代理解决方案的构件存储库实施受控且可审计的变更,从而帮助您避免不必要的更新。此外,CloudFormation 使用基础设施即代码来部署所有资源,使您可以查看和控制创建的资源。

阅读“卓越运营”白皮书

VPC Lattice 通过在 VPC Lattice 服务网络和服务中使用可选的授权策略来处理身份验证和授权。AWS 身份和访问管理 (IAM) 使用 AWS 上的零信任安全模型,为服务间通信建立安全的身份验证和授权机制。IAM 安全凭证可生成 AWS Signature 版本 4 签名,并将其传递给 VPC Lattice。VPC 和应用程序的常用网络安全措施增加了第二层安全控制。例如,您可以使用安全组和网络访问控制列表,NGINX 配置能够让您定义可连接到代理目标的源 IP 允许列表。

阅读《安全性》白皮书

本指南在三个可用区中部署资源,为您的代理解决方案提供高可用性,该解决方案使用网络负载均衡器和 Amazon ECson Fargate 队列制作。此外,CodePipeline 使用默认情况下在区域内高度可用的托管 AWS 服务,包括 CodeCommitCodeBuildCloudFormation

注意:本指南建立在一种假设的基础之上,即它将使用 Amazon ECS 服务的平均 CPU 指标作为维度,自动扩展和缩减。负载测试表明,根据所选任务规模的规格,随着负载的增加,指南会受到 CPU 的限制。您可以调整本指南,使用最适合应用程序配置文件和负载的指标。

阅读《可靠性》白皮书

本指南结合使用了 AWS 原生服务和可定制选项。它使用网络负载均衡器作为入口点,因为在连接到 VPC Lattice 时,它可以提供高吞吐量、灵活的协议,以及功能支持。Fargate 上的 Amazon ECS 代理实例集可以灵活地将 VPC Lattice 生成的域名解析到链路本地地址(可能会有所不同)。实例集使用 Fargate 来获得无服务器技术的可扩展性,并简化容器管理。

阅读《性能效率》白皮书

本指南可根据 CPU 利用率,按需自动扩展 Fargate 任务上的 Amazon ECSAmazon ECS 的这种自动可扩展性意味着代理解决方案只会使用所需的计算容量,因此您无需为不必要的计算付费。

阅读《成本优化》白皮书

Fargate 上的 Amazon ECS 可自动处理扩展,让您的代理解决方案能够根据 CPU 负载情况,占用最佳计算资源量。此外,这些任务使用轻量级版本的 NGINX,以便在向 VPC Lattice 发送请求时尽量减少计算负荷。通过使用经过配置和测试的工作负载弹性,本指南可帮助您有效地根据需求匹配云资源利用率,避免过度预置容量,最终减少碳足迹。

阅读《可持续性》白皮书

自信地进行部署

为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。 

访问示例代码

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。