amazon-web-services - Elastic Beanstalk 自动缩放组生命周期挂钩
问题描述
我想将生命周期挂钩添加到我的 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 应用程序,以便终止环境可以通过我的正常关闭过程?
解决方案
您也许可以使用.ebextensions
文件来进一步修改这些设置。
Resources:
lifecyclehook:
Type: AWS::AutoScaling::LifecycleHook
Properties:
AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
LifecycleHookName: "autoscaling:EC2_INSTANCE_TERMINATING"
推荐阅读
- selenium - 如何使用 JUnit 将 Selenium Cucumber 结果连接到 TestRail
- javascript - Rails 5 + React 应用程序中的 javascript/workbox/ 文件始终存在 RoutingErrors
- spring - @Transactional 隔离如何在没有锁定的情况下工作?
- ios - 如何使用 NSKeyedArchiver 在 iOS 中复制按钮
- c# - 浏览器链接不刷新 Chrome 中的页面
- android - 没有通过 Google Fit SDK 提供的“引导式呼吸”活动类型
- kubernetes - 将 YAML 转换为 JSON 时出错:未找到预期的密钥
- snowflake-cloud-data-platform - Snowflake - snowsql PUT 命令上传很慢
- c - 不使用在另一台机器上工作的代码接收多播数据
- php - 处理嵌套关系时如何返回单个模型?