如何解决在使用接口 VPC 端点连接到我的 Amazon S3 桶时出现的连接问题?

2 分钟阅读
0

我想解决在使用接口 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 地址,请使用 nslookupdig 等工具。

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 的网关端点

AWS 官方
AWS 官方已更新 8 个月前