我期待获得有关如何在不配置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
,并且我不想传输任何秘密。还有另一种方法吗?
预先感谢
答案 0 :(得分:1)
EC2实例IAM角色已经存在很多年了,并且不需要任何秘密存储在实例上。如果在实例上配置,aws-cli将自动使用它们。分配的实例角色需要必要的权限才能发出要发出的API请求。
没有某种凭证就无法访问服务API。实例角色为分配了角色的每个实例提供自动旋转的,有时间限制的临时凭证。
还请注意,aws ec2 describe-network-interfaces
还将返回非实例的接口(如果有的话),例如负载平衡器,RDS和EFS端点。