有一个由自动扩展组启动的 AWS EC2 实例。我希望将此实例放到待办的初始化期间的状态。
使用生命周期钩子可以很容易地实现这一点:
此钩子将等待 3600 秒,然后放弃实例。
我希望调用aws autoscaling complete-lifecycle-action
正在初始化的 EC2 实例,但是我总是得到:
无法找到凭证。您可以通过运行“aws configure”来配置凭证。
然后我发现我可以创建一个 IAM角色,然后我可以将其附加到 EC2 实例,但是这也不起作用:
角色定义如下:
但是,当我选择在正在运行的实例上修改 IAM 角色时:
我怎样才能complete-lifecycle-action
以最简单、最安全的方式从 EC2 实例发回?(即,我希望授予它仅发回此消息的权限;我希望该角色不包含任何扩大/缩小、修改 asg 详细信息等的权限)
答案1
对于第一个问题“无法找到凭证。您可以通过运行“aws configure”来配置凭证
您需要通过运行“aws configure”来配置 CLI 凭证。正确设置后,您应该能够运行任何 aws cli 命令。
使用 IAM 角色时情况会有所不同。您需要创建一个新角色,附加正确的策略,添加信任关系。然后,您需要使用 Event Bridge 创建自动化来捕获输出(令牌、instanceid 等),并将其传递给 SSM 或 Lambda 以完成生命周期挂钩
https://docs.aws.amazon.com/autoscaling/ec2/userguide/warm-pool-events-eventbridge-rules.html