EC2 队列 事件类型 - Amazon Elastic Compute Cloud

EC2 队列 事件类型

注意

只有类型 maintainrequest 的队列才能触发事件。类型 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

该配置无效。有关更多信息,请参阅事件的描述。