Elastic Beanstalk自动扩展组生命周期挂钩

问题描述 投票:0回答:1

我想将生命周期挂钩添加到我的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

如何将Lifecycle挂钩添加到我的Elastic Beanstalk应用程序中,以便终止环境可以通过我的正常关机过程?

amazon-web-services amazon-elastic-beanstalk lifecycle
1个回答
0
投票

您也许可以使用.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/ebextensions-functions.md

© www.soinside.com 2019 - 2024. All rights reserved.