EC2 队列 事件类型
注意
只有类型 maintain
和 request
的队列才能触发事件。类型 instant
的队列不会触发事件,因为它们提交同步一次性请求,并且队列的状态立即可在响应中获知。
EC2 队列 事件类型有五种。对于每种事件类型,都有几个子类型。
事件以 JSON 格式发送到 EventBridge。事件中的下列字段构成规则中定义并触发操作的事件模式:
"source": "aws.ec2fleet"
-
识别来自 EC2 队列 的事件。
"detail-type": "
EC2 Fleet State Change
"-
识别事件类型。
"detail": { "sub-type": "
submitted
" }-
识别事件子类型。
EC2 队列状态变化
当 EC2 队列 状态变化时,EC2 队列 会将 EC2 Fleet State Change
事件发送到 Amazon EventBridge。
以下是此事件的示例数据。
{
"version": "0",
"id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
"detail-type": "EC2 Fleet State Change",
"source": "aws.ec2fleet",
"account": "123456789012",
"time": "2020-11-09T09:00:20Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
],
"detail": {
"sub-type": "active"
}
}
sub-type
可使用的值为:
active
-
EC2 队列 请求已验证,并且 Amazon EC2 正在尝试使正在运行的实例保持目标数量。
deleted
-
EC2 队列 请求已删除,没有正在运行的实例。EC2 队列 将在其实例终止两天后被删除。
deleted_running
-
EC2 队列 请求已删除,且不启动其他实例。现有实例将继续运行,直至被中断或终止。请求会保持此状态,直到所有实例都已中断或终止。
deleted_terminating
-
EC2 队列 请求已删除,正在终止其实例。请求会保持此状态,直到所有实例都已终止。
expired
-
EC2 队列 请求已过期。如果请求使用
TerminateInstancesWithExpiration
集创建,则随后的terminated
事件指示实例已终止。 modify_in_progress
-
正在修改 EC2 队列 请求。请求将保持该状态,直到完全处理修改。
modify_succeeded
-
EC2 队列 请求已修改。
submitted
-
EC2 队列 正在接受评估,并且 Amazon EC2 正准备启动目标数量的实例。
progress
-
该 EC2 队列 请求正在执行过程中。
EC2 实例集竞价型实例请求更改
当队列中的 Spot 实例请求状态变化时,EC2 队列 会将 EC2 Fleet Spot Instance Request Change
事件发送到 Amazon EventBridge。
以下是此事件的示例数据。
{
"version": "0",
"id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
"detail-type": "EC2 Fleet Spot Instance Request Change",
"source": "aws.ec2fleet",
"account": "123456789012",
"time": "2020-11-09T09:00:05Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
],
"detail": {
"spot-instance-request-id": "sir-rmqske6h",
"description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
"sub-type": "cancelled"
}
}
sub-type
可使用的值为:
active
-
竞价型实例请求已执行并有关联的竞价型实例。
cancelled
-
您取消了竞价型实例请求,或竞价型实例请求已过期。
disabled
-
您停止了竞价型实例。
submitted
-
已提交竞价型实例请求。
EC2 队列实例更改
当队列中的实例状态变化时,EC2 队列 会将 EC2 Fleet Instance Change
事件发送到 Amazon EventBridge。
以下是此事件的示例数据。
{
"version": "0",
"id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
"detail-type": "EC2 Fleet Instance Change",
"source": "aws.ec2fleet",
"account": "123456789012",
"time": "2020-11-09T09:00:23Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
],
"detail": {
"instance-id": "i-0c594155dd5ff1829",
"description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
"sub-type": "launched"
}
}
sub-type
可使用的值为:
launched
-
启动了一个新实例。
terminated
-
实例已终止。
termination_notified
-
当 Amazon EC2 在缩减期间终止竞价型实例时,机群的目标容量被缩减,例如,从目标容量 4 减至目标容量 3 时,会发送实例终止通知。
EC2 队列信息
在履行过程中出错时,EC2 队列 会将 EC2 Fleet Information
事件发送到 Amazon EventBridge。信息事件不会阻止队列尝试实现其目标容量。
以下是此事件的示例数据。
{
"version": "0",
"id": "76529817-d605-4571-7224-d36cc1b2c0c4",
"detail-type": "EC2 Fleet Information",
"source": "aws.ec2fleet",
"account": "123456789012",
"time": "2020-11-09T08:17:07Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
],
"detail": {
"description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
"sub-type": "launchSpecUnusable"
}
}
sub-type
可使用的值为:
fleetProgressHalted
-
每个启动规范中的价格无效,因为它低于 Spot 价格(所有启动规范都已生成
launchSpecUnusable
事件)。如果 Spot 价格发生变化,启动规范可能会变为有效。 launchSpecTemporarilyBlacklisted
-
配置无效,多次启动实例的尝试都已失败。有关更多信息,请参阅事件的描述。
launchSpecUnusable
-
启动规范中的价格无效,因为它低于 Spot 价格。
registerWithLoadBalancersFailed
-
尝试向负载均衡器注册实例失败。有关更多信息,请参阅事件的描述。
EC2 队列错误
在履行过程中出错时,EC2 队列 会将 EC2 Fleet Error
事件发送到 Amazon EventBridge。错误事件阻止了队列尝试实现其目标容量。
以下是此事件的示例数据。
{
"version": "0",
"id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
"detail-type": "EC2 Fleet Error",
"source": "aws.ec2fleet",
"account": "123456789012",
"time": "2020-10-07T01:44:24Z",
"region": "us-east-1",
"resources": [
"arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
],
"detail": {
"description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
"sub-type": "spotFleetRequestConfigurationInvalid"
}
}
sub-type
可使用的值为:
iamFleetRoleInvalid
-
EC2 机群没有启动或终止实例所需的权限。
allLaunchSpecsTemporarilyBlacklisted
-
所有配置均无效,多次启动实例的尝试已失败。有关更多信息,请参阅事件的描述。
spotInstanceCountLimitExceeded
-
您已达到可启动的竞价型实例的数量限制。
spotFleetRequestConfigurationInvalid
-
该配置无效。有关更多信息,请参阅事件的描述。