Azure VM无法连接到AWS s3

Azure VM无法连接到AWS s3,azure,amazon-web-services,amazon-s3,Azure,Amazon Web Services,Amazon S3,我正在测试一个web应用程序,它通常部署在AzureVM中的AWSLinuxVM上。 (java)应用程序访问AWS s3以获取某些存储功能,并列出AWS s3存储桶中的对象。 在Azure VM中运行应用程序列表为空 由于怀疑存在连接问题,我在Azure VM上安装了AWS CLI,配置了密钥,然后运行: $ aws s3 ls 这导致了 Could not connect to the endpoint URL: "https://s3.us-east.amazonaws.com/" 证

我正在测试一个web应用程序,它通常部署在AzureVM中的AWSLinuxVM上。 (java)应用程序访问AWS s3以获取某些存储功能,并列出AWS s3存储桶中的对象。 在Azure VM中运行应用程序列表为空

由于怀疑存在连接问题,我在Azure VM上安装了AWS CLI,配置了密钥,然后运行:

$ aws s3 ls
这导致了

Could not connect to the endpoint URL: "https://s3.us-east.amazonaws.com/"
证实我的怀疑

检查应用程序堆栈跟踪以了解应用程序的“listObjects”请求

Request: http://azuredev.gpo.epacube.com/dps/job/listprojects raised com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: A2494E7A540B5B20), S3 Extended Request ID: 6+Nv1AtCTe0xz3i7Ra5lrmdEdxiIfXgxYapY9KbomblhYL4Q85L3iTLchpQcwRnixyE5El0WKwM=
com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: A2494E7A540B5B20), S3 Extended Request ID: 6+Nv1AtCTe0xz3i7Ra5lrmdEdxiIfXgxYapY9KbomblhYL4Q85L3iTLchpQcwRnixyE5El0WKwM=
当在AWS上从CENTos运行时,同样的代码也能工作,但当在Azure上的Ubuntu 13.04上运行时,它会失败

为什么会出现无效日期错误?
如何修改Azure VM设置以使AWS s3连接成功?

您所在的地区错误。

https://s3.us-east.amazonaws.com/
不是有效的终结点。您可能将一个区域配置为
us-east
,而它应该是
us-east-1

我可以通过指定不正确的端点来重现问题:

这项工作:

$ aws s3 ls --region us-east-1
这不起作用:

$ aws s3 ls --region us-east

Could not connect to the endpoint URL: "https://s3.us-east.amazonaws.com/"

有关端点的完整列表,请参见:

事实证明,这是JDK8和较早版本的aws sdk java对joda time的依赖的混合。将joda时间依赖项升级到2.8.1版修复了此问题


发现

Azure没有配置任何出站防火墙,并且没有任何东西会阻止从Azure VM解析aws域名。而且。。。作为记录,我在本地开发机器上运行
awss3ls
时得到了相同的错误(我刚刚尝试过)。我怀疑这不是与Azure相关的问题。谢谢,使用us-east-1运行重新配置修复了“aws s3 ls”,但不是应用程序的列表对象调用。不过绝对值得投一票。