Amazon web services 将EIP分配给EC2实例

Amazon web services 将EIP分配给EC2实例,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,试图将EIP(控制台已分配但未连接到任何实例)关联到正在运行的实例。此实例具有IAM策略,该策略允许它分配地址、AssociateAddress、DescripteBinstances、DisassociateAddress、DescripteBinstances和IAM:PassRole 希望能够调用ec2关联地址-i i-some\u instance\u id some\u eip [注]:一些eip确实存在。我可以在aws仪表板上看到它 但是,继续获取错误Client.AuthFailu

试图将EIP(控制台已分配但未连接到任何实例)关联到正在运行的实例。此实例具有IAM策略,该策略允许它分配地址、AssociateAddress、DescripteBinstances、DisassociateAddress、DescripteBinstances和IAM:PassRole

希望能够调用
ec2关联地址-i i-some\u instance\u id some\u eip

[注]:
一些eip
确实存在。我可以在aws仪表板上看到它

但是,继续获取错误
Client.AuthFailure:地址“some\u eip”不属于您

另外,当我尝试运行
ec2 descripe addresses some\u eip
时,我得到以下响应
Client.InvalidAddress.NotFound:Address'some\u eip'NotFound

另一方面,我能够运行
ec2 descripe instances--region us-east-1
,因为它返回所提供区域中的所有实例


这个角色是由我们的系统管理员设置的,他的权限与我的不同。上述错误是否与我们拥有不同的用户权限有关

这花了一段时间,但最终发现需要指定区域才能工作。所以正确的方法调用是
ec2 associate address-i-some\u instance\u id some\u eip--region some\u region

但是,方法
ec2关联地址
的文档没有指出这一点(感谢亚马逊)


PS:请参阅John Rotenstein关于ec2 api工具与awscli使用的评论。我留下这个答案是因为我使用的工具是EC2API工具,而不是awscli

顺便说一句,现在建议使用而不是单独的脚本,如
ec2 description addresses
@JohnRotenstein,谢谢你指出这一点。当你说脚本时,我想你指的是我自己编写的程序:
ec2 descripe addresses
不是脚本;它是由aws创建的软件包。看见我可能错了,但我相信AWSCLI比EP2API工具做的多得多。如果安装的工具功能有限,与我需要的功能完全匹配,不是更好吗?它实际上是一个存储在
/opt/aws/apitools/ec2-1.7.3.0/bin/ec2中的脚本,描述调用
/opt/aws/bin/ec2 cmd
的地址,它也是一个脚本,调用Java webservices jar。相反,使用boto3,这是AWS的Python SDK。它也得到了很好的维护,在发布后的几天内(有时甚至之前!)就有更新可用。@JohnRotenstein-ha!不知道,将更新我的答案。谢谢你提供的信息。