【问题标题】:Autoscaling group lifecycle hook not called when ASG deleted by CloudFromationCloudFormation 删除 ASG 时未调用 Auto Scaling 组生命周期挂钩
【发布时间】:2020-04-04 06:07:18
【问题描述】:

我有一个由 CloudFormation 创建的自动缩放组。当发生横向扩展或缩减事件时,我已配置 SNS 主题以触发 lambda 函数。一切都按预期工作,除非我删除了我的 CloudFormation 堆栈。

当我删除我的 CloudFormation 堆栈(我使用短期堆栈进行集成测试)时,自动缩放组被删除并且实例按预期进入 Terminating:Wait 阶段。但是,从未调用过 autoscaling:EC2_INSTANCE_TERMINATING 生命周期挂钩(Lambda 监控和 CloudWatch 日志均未显示任何生命周期挂钩被调用的证据)。自动扩缩组似乎在等待心跳超时到期,然后删除实例和自动扩缩组。

当 EC2 实例因 ASG 被删除而终止时,我是否可以调用 autoscaling:EC2_INSTANCE_TERMINATING 生命周期挂钩?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-lambda amazon-cloudformation autoscaling


    【解决方案1】:

    我想通了。就我而言,我有一个 AWS::Lambda::Permission 资源,它授予 SNS 调用我的 lambda 函数的权限。权限在 Autoscaling 组之前被删除,因此当消息到达 SNS 主题时,SNS 主题没有权限调用我的 lambda 函数。

    向我的 ASG 添加一个 DependsOn 属性,因此它取决于权限对象解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-10
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 2018-07-27
      • 2018-07-11
      相关资源
      最近更新 更多