簡體   English   中英

錯誤:沒有這樣的Amazon EC2版本

[英]Error: No Such Version of Amazon EC2

我正在嘗試向我的一個安全組添加一個Ingress規則。 我要做的就是將我的IP地址192.88.137.28添加到我的EC2安全組sg-fakegrpid

User Type: IAM
region: eu-west-1

所以,我應該將端點設置為ec2.eu-west-1.amazonaws.com/而不是ec2.amazonaws.com/嗎?

這是一個簽名的請求,也已編碼。

https://ec2.amazonaws.com/?AWSAccessKeyId=THISISFAKEAWSDRACULA
&Action=AuthorizeSecurityGroupIngress
&GroupId=sg-fakegrpid
&IpPermissions.1.FromPort=3389
&IpPermissions.1.IpProtocol=tcp
&IpPermissions.1.IpRanges.1.CidrIp=192.88.137.28%2F32
&IpPermissions.1.ToPort=3389
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2014-06-09T10%3A57%3A31Z
&Signature=hIKzcwPDdYKw4HsxozCFzzzzl8LxzsdC6XlX83DV4NU=

我使用Java SDK創建簽名。 這是它的鏈接。

http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html

當我在瀏覽器中運行上述給定的URL時,得到以下響應。

服務AmazonEC2的請求版本(2005-10-05)不存在

然后,我訪問了該頁面http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html

我從那里生成了一個簽名的URL。 但是簽名與上述url的簽名不同。

http://ec2.amazonaws.com/onca/xml?AWSAccessKeyId=THISISFAKEAWSDRACULA
&Action=AuthorizeSecurityGroupIngress
&GroupId=sg-fakegrpid
&IpPermissions.1.FromPort=3389
&IpPermissions.1.IpProtocol=tcp
&IpPermissions.1.IpRanges.1.CidrIp=192.88.137.28%2F32
&IpPermissions.1.ToPort=3389
&SignatureMethod=HmacSHA256&SignatureVersion=2
&Timestamp=2014-06-09T11%3A22%3A14.000Z
&Signature=hr%2FwZBMi3duJpOgud6Hzx2MIhd8QUuqzockqyysRQCY%3D

但是我得到和以前一樣的錯誤。

這是要簽名的字符串:

GET
ec2.amazonaws.com
AWSAccessKeyId=THISISFAKEAWSDRACULA
&Action=AuthorizeSecurityGroupIngress
&GroupId=sg-fakegrpid
&IpPermissions.1.FromPort=3389
&IpPermissions.1.IpProtocol=tcp
&IpPermissions.1.IpRanges.1.CidrIp=192.88.137.28%2F32
&IpPermissions.1.ToPort=3389
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2014-06-09T11%3A22%3A14.000Z

我添加了此“&Version = 2014-05-01”,一切正常。

此參數用於指定我們嘗試使用的服務的版本。 這是EC2的最新版本。

當我沒有提及特定版本時,aws會尋找此版本(2005-10-05)的服務,可能是,它不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM