带有默认端点的AWS CLI S3列表



我在一些ec2实例上使用以下命令,以便从s3 bucket中获取一些配置文件。ec2有一个带有s3完全权限的实例角色:

aws s3 cp s3://bucket-name/file ./ --region eu-west-1

这在我使用默认ami提供的一些实例上如预期的那样工作,但在同一地区的一些现有实例和具有相同实例角色的AZ上,我面临以下错误:

Connect timeout on endpoint URL: "https://bucket-name.eu-west-1.amazonaws.com/?list-type=2&delimiter=2%F&prefix=&encoding-type=url"
failed to run commands: exit status 255

我的问题是,为什么S3Uris没有以s3://为前缀,并用url字符串https://返回错误?很明显,这个aws-cli版本试图通过https而不是通过我在命令中提供的s3://endpoint来访问s3。是否有要覆盖的内容?

我的问题是为什么S3Uris没有以s3://为前缀并返回url字符串https://的错误?

幕后aws cli使用HTTPS调用AWS服务,所以为什么在超时时会看到https://bucket-name.eu-west-1...超时而不是s3://

默认情况下,AWS CLI通过在TCP端口443上使用HTTPS向AWS服务发送请求。要成功使用AWS CLI,您必须能够在TCP端口443上建立出站连接。

使用的aws cli chap

某些实例的超时可能是因为它们位于没有NAT网关的私有子网中。

您可以简单地通过执行ping google.com来验证这一点。如果它没有响应,则私有子网中的实例没有NAT或没有允许的出站流量。

最新更新