我想排查网关 Amazon Virtual Private Cloud(Amazon VPC)端点的连接问题。
网关 VPC 端点连接问题可能是由于网络访问或者允许连接的安全规则导致。
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
使用 Reachability Analyzer 对源和网关端点之间的连接问题进行故障排除。有关详细信息,请参阅如何使用 Amazon VPC Reachability Analyzer 来解决 Amazon VPC 资源的连接问题?
网关端点仅在创建它们的区域中可用。请务必在与 Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon DynamoDB 表相同的区域创建网关端点。要查找存储桶所在的区域,请运行 AWS CLI 命令 get-bucket-location。
此外,当您使用 SDK 从网关端点访问服务时,请将该区域配置为与服务资源相同的位置。您可以针对 Boto3 使用 Config object,针对 AWS CLI 使用 aws configure。
**注意:**发送到错误区域的请求可能会导致超时,或者允许通过互联网访问服务。具体取决于您在源子网上配置的路由表。
更新您的 VPC 中的 DNS 属性以激活 DNS 解析。如果您使用自己的 DNS 服务器,请确保将发往 AWS 服务的 DNS 请求解析到 AWS 维护的 IP 地址。
检查路由表设置,以确认存在使用网关 VPC 端点通往 Amazon S3 和 DynamoDB 的路由。
针对发起与 Amazon S3 和 DynamoDB 连接的源,检查与其关联的安全组。确认可用的出站规则,使其允许流向 Amazon S3 或 DynamoDB 的流量。如果安全组的规则比默认出站规则更严格,请确认下面其中一项:
要查看特定区域中 Amazon S3 和 DynamoDB 的公有 IP 地址 CIDR,请运行 AWS CLI 命令 describe-prefix-lists:
aws ec2 describe-prefix-lists --region example-Region
**注意:**请将 example-Region 替换为您的区域。
子网网络访问控制列表(网络 ACL)必须允许与区域内的 Amazon S3 或 DynamoDB 服务 CIDR 建立入站和出站 TCP 连接。
添加执行以下操作的网络 ACL 规则:
**注意:**默认情况下,网络 ACL 允许所有入站和出站 IPv4 和 IPv6 流量。如果您的网络 ACL 规则对流量有限制,请为您为其创建网关端点的服务指定 CIDR 块。最佳实践是设置服务 IP 地址更改通知,并使用脚本自动更新网络 ACL 规则。有关详细信息,请参阅如何获取 Amazon S3 IP 地址更改通知?
检查 VPC 端点策略,确定该策略为自定义策略还是默认策略。自定义端点策略必须允许访问才能对服务执行操作。默认端点策略允许对服务进行完全访问。有关详细信息,请参阅使用端点策略控制对 VPC 端点的访问。
检查 Amazon S3 存储桶策略,确认该策略允许来自网关 VPC 端点和 VPC 的访问。有关详细信息,请参阅使用存储桶策略控制来自 VPC 端点的访问。
**注意:**您的存储桶策略只能限制来自与 VPC 中的实例关联的特定公共 IP 地址或弹性 IP 地址的访问。该策略可以根据与实例关联的私有 IP 地址限制访问权限。有关详细信息,请参阅 Amazon S3 存储桶策略示例。
如果使用代理服务器,请确认该服务器允许您的 VPC 连接。如果不使用 Amazon S3 代理服务器,请在访问存储桶时运行以下命令,以绕过代理服务器:
export no_proxy = s3.example-Region.amazonaws.com
检查 AWS Identity and Access Management (IAM) 策略,确认 IAM 用户或角色的关联用户具有访问 Amazon S3 所需的权限。有关详细信息,请参阅 How to restrict Amazon S3 bucket access to a specific IAM role 和使用用户策略控制对存储桶的访问。
要检查流量是流经网关端点还是接口端点,请参阅 How do I check if my Amazon S3 traffic is going through a gateway Amazon VPC endpoint or an interface Amazon VPC endpoint?
适用于 AWS 资源的 Access Management