Boo*_*aka 21 amazon-ec2 amazon-web-services amazon-elb aws-cli
我已经设置了一些亚马逊AWS CLI工具(EC2,Auto Scaling,MOnitoring和ELB).工具设置正确,工作完美.我的环境变量都已设置,与此Q相关的是:
export EC2_REGION=eu-west-1
export EC2_URL=https://ec2.$EC2_REGION.amazonaws.com
export AWS_ELB_URL=https://elasticloadbalancing.$EC2_REGION.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
当我ec2-describe-instance-status i-XXXXXXXX为任何实例运行时,我得到:
Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist
Run Code Online (Sandbox Code Playgroud)
我知道实例ID存在,我将其从AWS Web控制台复制出来,它位于eu-west-1区域,我的env vars设置为此区域.
对于我的生活,我无法弄清楚为什么它找不到我的实例.我做错了有什么明显的明显吗?
更新:由于某种原因,重新创建x509 cert/pk解决了这个问题.
Juj*_*ngh 37
我有同样的问题.这是因为我没有为我的命令定义一个区域.我假设它将列出所有区域的所有实例,但它默认为us-west-1,我没有任何实例.
为了描述我在爱尔兰的机器,我使用以下内容:
ec2-describe-instances --region eu-west-1
注意:我在其他地方定义我的AWS访问密钥和秘密.
为了避免这个问题,我现在通过我的linux和windows机器上的环境变量设置我的区域:EC2_URL=https://ec2.eu-west-1.amazonaws.com
这样我就不必在命令行上显式了.
2014年5月更新您还可以通过~/.aws/config将以下行添加到主文件夹中的文件(未在Windows上测试)来设置区域.这是我现在的首选方法,特别是在我的VM和容器上:
[default]
region = eu-west-1
Run Code Online (Sandbox Code Playgroud)
奇怪的问题——像往常一样,当在软件开发中遇到奇怪的事情时,我们应该首先质疑这些假设:
我知道实例 ID 存在,我将其从 AWS Web 控制台复制出来,它位于 eu-west-1 区域,并且我的环境变量设置为该区域。
因此,实例 ID 源自与您想要使用它的环境不同的环境 - 我会尝试通过相同的环境派生实例 ID,即:
ec2-describe-instances
Run Code Online (Sandbox Code Playgroud)
我大胆猜测该列表不会返回您期望的实例。这表明您正在使用属于另一个账户的 AWS 凭证,或者这些凭证不具有通过IAM 策略分配的所需Amazon EC2读取权限。
| 归档时间: |
|
| 查看次数: |
13366 次 |
| 最近记录: |