我想解决在使用接口 Amazon Virtual Private Cloud(Amazon VPC)端点连接到我的 Amazon Simple Storage Service(Amazon S3)桶时遇到的问题。
简短描述
若要解决连接问题,请完成下面的步骤:
- 检查与接口 Amazon VPC 端点和 Amazon S3 桶关联的策略。
- 检查您的网络是否与接口 Amazon S3 端点相连接。
- 检查您的 DNS 是否解析为接口 Amazon S3 端点的 IP 地址。
- 修复 SSL 验证错误。
解决方法
**注意:**在下面的命令中,请将示例值替换为您的值。
查看与 Amazon VPC 端点和 Amazon S3 桶关联的策略
默认情况下,在创建 Amazon S3 桶时,策略不会与桶相关联。当您创建 Amazon S3 接口端点时,可以关联一个策略。默认情况下,您关联的策略允许对桶执行任何操作。有关信息,请参阅使用接口 VPC 端点访问 AWS 服务。
检查您的网络是否与接口 Amazon S3 端点相连接
如需检查与您的接口 Amazon S3 端点的连接,请完成下面的步骤:
- 检查源和目标之间的连接。检查网络访问控制列表(网络 ACL)以及与 Amazon S3 接口端点关联的安全组。确保允许流量进入接口端点。
- 测试 AWS 资源或本地主机与 Amazon S3 端点之间的连接:
telnet bucket.example_S3_interface_endpoint_DNS 443
- 如需确定安全组或网络 ACL 的连接问题,请使用 Amazon Elastic Compute Cloud(Amazon EC2)实例来测试源端点所在子网中的连接。检查从源到目标 AWS 资源是否存在第 3 层连接。确保在测试实例中使用与 Amazon S3 接口端点相同的安全组。
检查您的 DNS 是否解析为接口 Amazon S3 端点的 IP 地址
如需检查您的 DNS 是否解析为正确的 IP 地址,请使用 nslookup 和 dig 等工具。
dig 命令示例:
dig *example_s3_interface_endpoint_DNS@example_local_nameserver
**注意:**Amazon 提供的 DNS 服务器是 Amazon VPC CIDR 的 .2 IP 地址。您的本地主机是 /etc/resolv.conf 文件中列出的主机的本地名称服务器。
解决 SSL 验证错误
如需解决或防止 SSL 验证失败,请确保端点 URL 与域匹配。在此 URL 验证完成后,访问 s3 桶并列出桶中的对象。
注意:AWS PrivateLink for Amazon S3 端点的证书有三个子域,即桶、接入点和管控。在寻址 AWS PrivateLink for Amazon S3 端点时,请确保指定正确的子域。
如需对 SSL 错误进行故障排除,请运行下面的命令:
检查 URL 验证:
aws s3 ls s3://<example-bucket-name>/ --region <example-region> --endpoint-url https://bucket.<example-endpoint-id>.s3.<example-region>.
检查支持的证书:
openssl s_client -connect <example-endpoint-URL>:443 </dev/null 2>/dev/null | openssl x509 -noout -text | grep DNS
检查通过 SSL 协议建立的连接:
openssl s_client -connect <Endpoint URL>:443
相关信息
从 S3 接口端点访问桶、接入点和 Amazon S3 管控 API 操作
通过 AWS PrivateLink 共享您的服务
适用于 Amazon S3 的网关端点