【问题标题】:Elastic Beanstalk Autoscaling Group Lifecycle HooksElastic Beanstalk 自动缩放组生命周期挂钩
【发布时间】:2019-12-02 22:57:00
【问题描述】:

我想将生命周期挂钩添加到我的 Elastic Beanstalk 的自动缩放组。我了解如何通过 cloudformation 将生命周期挂钩添加到自动缩放组,但我不知道如何通过 Elastic Beanstalk 完成。

要在自动扩缩组上创建生命周期挂钩,您需要自动扩缩组的名称。这似乎是不可能的,因为 Elastic Beanstalk 资源没有 ASG 名称的导出。

Type: AWS::AutoScaling::LifecycleHook
Properties: 
  AutoScalingGroupName: String
  DefaultResult: String
  HeartbeatTimeout: Integer
  LifecycleHookName: String
  LifecycleTransition: String
  NotificationMetadata: String
  NotificationTargetARN: String
  RoleARN: String

Elastic Beanstalk 也不允许定义此配置。它确实允许定义一个 sns 主题,但添加一个似乎不会更改控制台中的配置,并且缩放操作似乎没有使用该主题。

    - Namespace: aws:elasticbeanstalk:sns:topics
      OptionName: NotificationTopicARN
      Value: !ImportValue MyLifecycleHookTopic

如何向我的 Elastic Beanstalk 应用程序添加生命周期挂钩,以便终止环境可以通过我的正常关闭过程?

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk lifecycle


    【解决方案1】:

    您也许可以使用.ebextensions 文件来进一步修改这些设置。

    Resources:
      lifecyclehook:
        Type: AWS::AutoScaling::LifecycleHook
        Properties:
          AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
          LifecycleHookName: "autoscaling:EC2_INSTANCE_TERMINATING"
    

    https://github.com/awsdocs/aws-elastic-beanstalk-developer-guide/blob/master/doc_source/environment-resources.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2017-06-07
      • 1970-01-01
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      相关资源
      最近更新 更多