为什么 Lambda 需要权限才能完成生命周期挂钩?

Why does Lambda need permissions to complete lifecycle hooks?

来自 AWS tutorial page 关于配置生命周期挂钩:

Before you create a Lambda function, you must first create an execution role and a permissions policy to allow Lambda to complete lifecycle hooks.

完成需要权限的生命周期挂钩有什么风险或特殊之处?

我看不出与我们在 EC2 中配置的任何其他东西有什么质的不同。一切都是有风险的,但我们不需要设置角色和权限。

“完成生命周期挂钩”实际上是一个 API 调用,您的 lambda 应该针对您的 ASG 执行:

因此您的 lambda 执行角色 必须具有执行此类操作的权限。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "autoscaling:CompleteLifecycleAction",
            "Resource": "*"
        }
    ]
}