您提供的链接是用于检测现场中断通知的旧方法。也许这正是您想要执行此操作的方式,但这些天您将使用CloudWatch 事件规则来处理EC2 Spot Instance Interruption Warning
.
使用该规则,您可以设置一个 lambda 函数,该函数将对您计划终止的实例执行操作。这些操作可以包括从 ASG 中删除,或通过SSM Command Run
.
此外,您可以轻松模拟事件,因为它具有已知格式,并且您可以使用测试事件调用 lambda。
有关这方面的更多信息,请参阅利用 Amazon EC2 Spot 实例中断通知。您的 lambda 函数需要处理/模拟的现场中断事件示例是:
{
"version": "0",
"id": "1e5527d7-bb36-4607-3370-4164db56a40e",
"detail-type": "EC2 Spot Instance Interruption Warning",
"source": "aws.ec2",
"account": "123456789012",
"time": "1970-01-01T00:00:00Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1b:instance/i-0b662ef9931388ba0"
],
"detail": {
"instance-id": "i-0b662ef9931388ba0",
"instance-action": "terminate"
}
}