从该子网实例中发现AWS子网的成员

时间:2019-02-11 15:43:56

标签: amazon-ec2 aws-cli

我期待获得有关如何在不配置EC2实例中的AWS CLI的情况下查询AWS API的信息? 实际上,我想在同一子网中的实例上自动创建GRE隧道。为此,在每个EC2实例中,我需要“发现”该子网的其他EC2实例成员,但是我不想在aws cli中配置机密。 我知道我可以使用:

aws ec2 describe-network-interfaces --filters "Name=subnet-id,Values=${SUBNET}" "Name=status,Values=in-use"

它与我的EC2所在的子网中的所有ENI一起产生。但是,要做到这一点,我必须在每个实例上创建一个aws configure,并且我不想传输任何秘密。还有另一种方法吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

正是出于这个目的,

EC2实例IAM角色已经存在很多年了,并且不需要任何秘密存储在实例上。如果在实例上配置,aws-cli将自动使用它们。分配的实例角色需要必要的权限才能发出要发出的API请求。

https://aws.amazon.com/blogs/aws/iam-roles-for-ec2-instances-simplified-secure-access-to-aws-service-apis-from-ec2/

没有某种凭证就无法访问服务API。实例角色为分配了角色的每个实例提供自动旋转的,有时间限制的临时凭证。

还请注意,aws ec2 describe-network-interfaces还将返回非实例的接口(如果有的话),例如负载平衡器,RDS和EFS端点。