网关端点
网关 VPC 端点可提供与 Amazon S3 和 DynamoDB 的可靠连接,而无需为您的 VPC 提供互联网网关或 NAT 设备。与其他类型的 VPC 端点不同,网关端点不使用 AWS PrivateLink。
Amazon S3 和 DynamoDB 同时支持网关端点和接口端点。有关各选项的比较,请参阅以下内容:
定价
使用网关端点不会发生任何额外费用。
概述
您可以通过 Amazon S3 和 DynamoDB 的公有服务端点或网关端点访问。本概述比较了这些方法。
通过互联网网关访问
下图显示了实例如何通过其公有服务端点访问 Amazon S3 和 DynamoDB。从公有子网中的实例流向 Amazon S3 或 DynamoDB 的流量路由到 VPC 的互联网网关,然后路由到服务。私有子网中的实例无法向 Amazon S3 或 DynamoDB 发送流量,因为根据定义,私有子网没有通往互联网网关的路由。若要使私有子网中的实例能够向 Amazon S3 或 DynamoDB 发送流量,您需要向公有子网添加 NAT 设备并将私有子网中的流量路由到 NAT 设备。当流向 Amazon S3 或 DynamoDB 的流量遍历互联网网关时,它不会离开 AWS 网络。
通过网关端点进行访问
下图显示了实例如何通过网关端点访问 Amazon S3 和 DynamoDB。从您的 VPC 流向 Amazon S3 或 DynamoDB 的流量将路由到网关端点。每个子网路由表都必须有一条路由,该路由使用服务的前缀列表将以服务为目的地的流量发送到网关端点。有关更多信息,请参阅《Amazon VPC 用户指南》中的 AWS 托管的前缀列表。
路由
创建网关端点时,选择您启用的子网的 VPC 路由表。以下路由将自动添加到您选择的各个路由表。目的地是 AWS 所拥有服务的前缀列表,而目标是网关端点。
目标位置 | 目标 |
---|---|
prefix_list_id |
gateway_endpoint_id |
注意事项
-
您可以查看我们添加到您的路由表中的端点路由,但不能修改或删除它们。要向路由表添加端点路由,请将其与网关端点关联。当您取消路由表与网关端点的关联或删除网关端点时,我们会删除端点路由。
-
与网关端点关联的路由表关联的子网中的所有实例会自动使用该网关端点来访问该服务。未与这些路由表关联的子网中的实例使用公有服务端点,而不是网关端点。
-
路由表既可以有通往 Amazon S3 的端点路由,也可以有通往 DynamoDB 的端点路由。您可以在多个路由表中拥有通往同一服务(Amazon S3 或 DynamoDB)的端点路由。您不能在一个路由表中拥有通往同一服务(Amazon S3 或 DynamoDB)的多个端点路由。
-
我们使用与流量匹配的最明确路由以判断数据流的路由方式 (最长前缀匹配)。对于带有端点路由的路由表,这意味着以下内容:
-
如果存在一条向互联网网关发送所有互联网流量 (0.0.0.0/0) 的路由,端点路由优先于以当前区域中的服务(Amazon S3 或 DynamoDB)为目的地的流量。以不同 AWS 服务 为目的地的流量使用互联网网关。
-
以不同区域的服务(Amazon S3 或 DynamoDB)为目的地的流量会流向互联网网关,因为前缀列表特定于某个区域。
-
如果在同一区域中存在为服务(Amazon S3 或 DynamoDB)指定确切 IP 地址范围的路由,则该路由优先于端点路由。
-
安全性
当您的实例通过网关端点访问 Amazon S3 或 DynamoDB 时,它们会使用其公有端点访问服务。这些实例的安全组必须允许进出服务的流量。以下是出站规则的示例。它引用服务的前缀列表的 ID。
目标位置 | 协议 | 端口范围 |
---|---|---|
prefix_list_id |
TCP | 443 |
这些实例的子网的网络 ACL 还必须允许进出服务的流量。以下是出站规则的示例。您不能在网络 ACL 规则中引用前缀列表,但可以从其前缀列表中获取服务的 IP 地址范围。
目标位置 | 协议 | 端口范围 |
---|---|---|
service_cidr_block_1 |
TCP | 443 |
service_cidr_block_2 |
TCP | 443 |
service_cidr_block_3 |
TCP | 443 |