我想排查网关 Amazon Virtual Private Cloud(Amazon VPC)端点的连接问题。
网关 VPC 端点让您能够从自己的 Amazon VPC 私密连接到 Amazon Simple Storage Service(Amazon S3)和 Amazon DynamoDB。网关 VPC 端点连接问题可能是由于网络访问或者允许连接的安全规则导致。
若要对连接问题进行故障排除,请使用 Reachability Analyzer。此外,请确认以下配置:
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI。
使用 Reachability Analyzer 对源和网关端点之间的连接问题进行故障排除。有关更多信息,请参阅如何使用 Amazon VPC Reachability Analyzer 来解决 Amazon VPC 资源的连接问题?
网关端点仅在创建它们的区域中可用。请务必在与 Amazon S3 存储桶或 DynamoDB 表相同的区域创建网关端点。要查找存储桶所在的区域,请运行 get-bucket-location AWS CLI 命令。
此外,当您使用 SDK 从网关端点访问服务时,请确认区域。确保将区域配置为服务资源所在的区域。例如,针对 Boto3 使用 Config object,针对 AWS CLI 使用 AWS Config。
**注意:**发送到错误区域的请求可能会导致超时,或者通过互联网访问服务。具体取决于在源子网上配置的路由表。
检查 Amazon VPC 中的 DNS 设置。必须在 Amazon VPC 中激活 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。将 example-region 替换为您的区域:
aws ec2 describe-prefix-lists --region <example-Region>
子网网络 ACL 必须允许与区域内的 Amazon S3 或 DynamoDB 服务 CIDR 建立入站和出站 TCP 连接。检查网络 ACL 规则并确认下面的内容:
**注意:**默认情况下,网络 ACL 允许所有入站和出站 IPv4 和 IPv6 流量。如果您的网络 ACL 规则对流量有限制,请为创建网关端点的服务指定 CIDR 块。最佳实践是设置服务 IP 地址更改通知,并使用脚本自动更新网络 ACL 规则。有关更多信息,请参阅如何获取 Amazon S3 IP 地址更改检查通知?
查看 Amazon VPC 端点策略。使用自定义端点策略时,请确认与端点关联的策略允许对服务执行操作的访问权限。默认端点策略允许对服务进行完全访问。有关更多信息,请参阅 Control access to VPC endpoints using endpoint policies。
查看 Amazon S3 存储桶策略,确认该存储桶策略允许来自网关 Amazon VPC 端点和 Amazon VPC 的访问。有关更多信息,请参阅 Control access using bucket policies。
**注意:**您的存储桶策略只能限制来自与 Amazon VPC 中的实例关联的特定公共 IP 地址或弹性 IP 地址的访问。您的存储桶策略可以根据与实例关联的私有 IP 地址限制访问权限。有关更多信息,请参阅根据特定 IP 地址管理访问权限。
如果使用代理服务器,请确认该服务器允许您的 Amazon VPC 连接。如果不使用 Amazon S3 代理服务器,请在访问存储桶时运行以下命令,以绕过代理服务器。将 example-region 替换为您的区域:
export no_proxy = mybucket.s3.<example-Region>.amazonaws.com
检查 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 VPC endpoint or an interface VPC endpoint?
适用于 AWS 资源的 Access Management