尝试将EIP(已分配但未附加到任何实例的控制台)与正在运行的实例相关联。此实例具有IAM策略,允许它使用AllocateAddress,AssociateAddress,DescribeInstances,DisassociateAddress,DescribeInstances和iam:PassRole。
期望能够致电ec2-associate-address -i i-some_instance_id some_eip
。
[注意]:some-eip
确实存在。我可以在aws仪表板上看到它
然而不断收到错误Client.AuthFailure: The address 'some_eip' does not belong to you
。
此外,当我尝试运行ec2-describe-addresses some_eip
时,我收到此回复Client.InvalidAddress.NotFound: Address 'some_eip' not found
。
另一方面,我可以运行ec2-describe-instances --region us-east-1
,因为它返回所提供区域中的所有实例。
该角色由我们的SysAdmin设置 - 他的权限与我的不同。以上错误是否与我们拥有不同的用户权限有关?
答案 0 :(得分:-1)
这需要一段时间,但最终想出了需要指定的区域才能工作。所以正确的方法调用是ec2-associate-address -i i-some_instance_id some_eip --region some_region
。
方法ec2-associate-address
ec2-api-tools的文档虽然没有说明这一点(感谢亚马逊)。
PS:请参阅John Rotenstein关于使用ec2-api-tools和awscli的评论。我正在离开这个答案,因为我使用的工具是ec2-api-tools而不是awscli。