Необходимо разрешить запуск экземпляра EC2, если лямбда-механизм слива для завершающего экземпляра не завершается в параметре HeartbeatTimeout, установленном в облачной информации для ловушки жизненного цикла.
У меня есть лямбда-функция, которая истощает экземпляр EC2 и завершает его, когда в облачной форме запускается сигнал уменьшения масштаба. В настоящее время я использую ловушки LifeCycle, чтобы завершить экземпляр в моей облачной информации. Однако я понимаю, что есть параметр HeartbeatTimeout для ловушки жизненного цикла, который убивает случай, когда механизм слива лямбда не завершается в течение этого периода. Я не хочу убивать экземпляр, если лямбда не в состоянии истощить экземпляр внутри HeartbeatTimeout, так как на этом все еще выполняются задачи. Я хотел бы прервать завершение экземпляра и запустить экземпляр в этом случае. Есть ли способ сделать это?
Вот жизненный цикл в облачной информации
"Terminationhook": {
"Type": "AWS::AutoScaling::LifecycleHook",
"Properties": {
"AutoScalingGroupName": { "Ref": "Cluster" },
"DefaultResult": "ABANDON",
"HeartbeatTimeout": "3600",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING",
"NotificationTargetARN": { "Ref" : "SNSTOPIC"},
"RoleARN": {
"Fn::GetAtt": [
"Role",
"Arn"
]
}
},
"DependsOn": "SNSTOPIC"
}
Если лямбда не истощает экземпляр в течение HeartbeatTimeout в течение 3600 секунд, то я хочу прервать завершение экземпляра