Amazon VPC Lattice 常见问题

Page Topics

一般性问题

一般性问题

Amazon VPC Lattice 是一种应用层联网服务,它为您提供了一种一致的方式来连接、保护和监控服务到服务的通信,无需任何联网专业知识。借助 VPC Lattice,您可以配置网络访问、流量管理和网络监控,不管底层计算类型如何,均可在 VPC 和账户之间实现一致的服务到服务通信。

VPC Lattice 有助于处理以下使用案例:

大规模连接服务 – 在不增加网络复杂性的情况下,跨 VPC 和账户连接数千个服务。

应用精细访问权限 – 通过集中式访问控制、身份验证和特定于上下文的授权,提高服务到服务的安全性并支持零信任架构。

实施高级流量控制 – 采用精细流量控制,例如针对蓝/绿和金丝雀部署的请求级路由和加权目标。

观察服务到服务的交互 – 针对请求类型、流量、错误、响应时间等对服务到服务的通信进行监控和问题排查。

VPC Lattice 通过提供特定于角色的特性和功能,帮助在开发人员和云管理员之间架起了一座桥梁。VPC Lattice 将吸引那些不想学习和执行快速运行现代应用程序所需的通用基础设施和联网任务的开发人员。开发人员应能够将精力集中在构建应用程序而不是网络上。VPC Lattice 还将吸引那些希望通过跨混合计算环境(实例、容器、无服务器)以及跨 VPC 和账户以一致的方式实现身份验证、授权和加密来改善其组织安全状况的云和网络管理员。

您可以使用 VPC Lattice 创建逻辑应用层网络,称为服务网络,支持跨虚拟私有云(VPC)和账户边界的服务到服务通信,降低网络复杂性。它通过 VPC 中的专用数据面板提供采用 HTTP/HTTPS 和 gRPC 协议的连接。此数据面板通过只能从 VPC 内部访问的链路本地端点公开。

管理员可以使用 AWS Resource Access Manager(AWS RAM)来控制哪些账户和 VPC 可以通过服务网络建立通信。当 VPC 与服务网络关联时,VPC 内的资源可以自动发现并连接到服务网络中的服务集合。服务拥有者可以使用 VPC Lattice 计算集成,以便从 Amazon Elastic Compute Cloud(Amazon EC2)、Amazon Elastic Kubernetes Service(Amazon EKS)和 AWS Lambda 载入他们的服务,并选择一个或多个要加入的服务网络。服务拥有者还可以配置高级流量管理规则,以定义应该如何处理请求,从而支持常见模式,如蓝/绿和金丝雀式部署。除了流量管理,服务拥有者和管理员还可以通过 VPC Lattice 身份验证策略实施身份验证和授权,从而实现额外的访问控制。管理员可以在服务网络级别实施防护机制,并对单个服务应用精细访问控制。VPC Lattice 是非侵入性的,并与现有的架构模式配合使用,允许整个组织的开发团队随着时间的推移逐渐增加他们的服务。

VPC Lattice 包括四个主要组成部分:

服务 – 提供特定任务或功能的可独立部署的软件单元。服务可以存在于任何 VPC 或账户中,可以在实例、容器或无服务器计算环境中运行。服务由侦听器、规则和目标组组成,类似于 AWS Application Load Balancer。

服务目录 – 一个集中的注册表,记录了您创建的或通过 AWS RAM 与您的账户共享的已在 VPC Lattice 注册的所有服务。

服务网络 – 一种逻辑分组机制,用于简化用户启用连接以及将通用策略应用于一组服务的方式。服务网络可以通过 AWS RAM 在账户之间共享,并与 VPC 关联,以实现到一组服务的连接。

身份验证策略 – 身份验证策略是一种 AWS Identity and Access Management(IAM)资源策略,可以与服务网络和单个服务关联,以定义访问控制。身份验证策略使用 IAM,您可以指定丰富的“主体-操作-资源-条件”(PARC)样式的问题,以在 VPC Lattice 服务上实施特定于上下文的授权。通常,组织会在服务网络上应用精细身份验证策略,例如“只允许我的 org-id 内经过身份验证的请求”,并在服务级别应用更精细的策略。

VPC Lattice 目前已在以下 AWS 区域推出:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(爱尔兰)、欧洲地区(法兰克福)、欧洲地区(伦敦)、欧洲地区(斯德哥尔摩)和加拿大(中部)。

Lattice 是 VPC 的一项功能,不需要另行评估/标注。范围内服务的功能均被视为“已评估/已涵盖”,按合规性计划提供的范围内 AWS 服务中也有相关说明。除非明确排除,否则正式发布的每项服务的功能均被视为处于保障计划的范围内。

Amazon VPC Lattice 不额外收取跨可用区数据传输费用。跨可用区的数据传输费用已包含在 VPC Lattice 服务定价的数据处理部分中。

要监控流量和可访问性,您可以在服务网络和服务层级使用访问日志。要实现环境的全面可观测性,您还可以查看服务和 Lattice 目标组的指标。服务网络和服务层级的日志可以导出到 CloudWatch Logs、S3 或 Kinesis Data Firehose。此外,还可以使用其他 AWS 可观测性功能(例如 VPC Flow Logs 和 AWS X-Ray)来跟踪网络流、服务交互和 API 调用。

创建 VPC Lattice 服务时,会在由 AWS 管理的 Route 53 公有托管区中创建一个完全限定域名(FQDN)。您可以在与服务网络关联的 VPC 关联的私有托管区中的 CNAME 别名记录中使用这些 DNS 名称。您可以指定自定义域名来解析自定义服务名称。如果指定自定义域名,则必须在创建服务后配置 DNS 路由。这是为了将自定义域名的 DNS 查询映射到 VPC Lattice 端点。如果您使用 Route 53 作为 DNS 服务,则可以在 Amazon Route 53 公有或私有托管区内配置 CNAME 别名记录。对于 HTTPS,您还必须指定与自定义域名匹配的 SSL/TLS 证书。

可以。Amazon VPC Lattice 支持 HTTPS,并为每个服务生成一个通过 Amazon Certificate Manager(ACM)进行管理的证书。在客户端身份验证方面,Lattice 使用 AWS SIGv4。

可以。Amazon VPC Lattice 是一种高度可用、分布式的区域性服务。在 VPC Lattice 中注册服务时,最佳做法是将目标分布在多个可用区中。VPC Lattice 服务将根据配置的规则和条件,确保流量路由到运行良好的目标。

Amazon VPC Lattice 通过 AWS Gateway API ControllerKubernetes Gateway API 的实现)与您的 Amazon Elastic Kubernets Service(EKS)和自我管理的 Kubernetes 工作负载原生集成。 这有助于将现有或新服务注册到 Lattice,以及将 HTTP 路由动态映射到 Kubernetes 资源。

Amazon VPC Lattice 服务和服务网络为区域性组件。如果您的环境涵盖多个区域,则每个区域都可以拥有服务和服务网络。对于跨区域和本地通信模式,您目前可以使用 AWS 全球连接服务,例如跨区域 VPC 对等、AWS Transit Gateway、AWS Direct Connect 或 AWS 云 WAN。请参阅此博客,详细了解跨区域连接模式。

是。Amazon VPC Lattice 支持 IPv6,并且可以跨 VPC Lattice 服务和 VPC,执行重叠的 IPv4 和 IPv6 地址空间之间的网络地址转换。Amazon VPC Lattice 可帮助您以简单且一致的方式跨各种计算类型安全连接 IPv4 和 IPv6 服务并监控通信流。它提供了 IP 服务之间的本机互操作性,不受底层 IP 寻址方式影响,有助于促进 AWS 上的各个服务采用 IPv6。请参阅此博客了解更多详细信息。

您可以使用标签自动添加和删除 Amazon VPC Lattice 资源关联,以及使用 Amazon EventBridge、AWS LambdaAWS CloudTrailAWS Resource Access Manager(AWS RAM) 进行跨账户资源共享。这些方法可在单个 AWS 组织内或跨多个 AWS 账户 使用,支持多种使用案例,例如供应商/客户端应用程序。请参阅此博客,以获取更多详细信息和实现示例。

您的服务网络分布的设计应匹配您的组织结构和运营模式。您可以选择拥有整个组织范围内特定域的服务网络,并相应地配置访问策略。您也可以采用更加细分的方法来实现服务网络的互联,将其与您的每个路由域以及组织内的各个独立业务部门进行关联。一个 VPC 一次只能关联一个服务网络,而一个服务则可以注册到多个服务网络。