Spot 队列事件类型 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Spot 队列事件类型

Spot 队列事件类型有五种。对于每种事件类型,都有几个子类型。

事件以 JSON 格式发送到 EventBridge。事件中的下列字段构成规则中定义并触发操作的事件模式:

"source": "aws.ec2spotfleet"

识别来自 Spot 队列的事件。

"detail-type": "EC2 Spot Fleet State Change"

识别事件类型。

"detail": { "sub-type": "submitted" }

识别事件子类型。

EC2 Spot 队列状态变化

当 Spot 队列状态变化时,Spot 队列会将 EC2 Spot Fleet State Change 事件发送到 Amazon EventBridge。

以下是此事件的示例数据。

{ "version": "0", "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b", "detail-type": "EC2 Spot Fleet State Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T08:57:06Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55" ], "detail": { "sub-type": "submitted" } }

sub-type 可使用的值为:

active

已验证竞价型实例集请求,并且 Amazon EC2 正在尝试维护目标数量的正在运行的实例。

cancelled

竞价型实例集请求已取消,没有正在运行的实例。Spot 队列将在其实例终止两天后被删除。

cancelled_running

竞价型实例集请求已取消,且不启动其他实例。现有实例将继续运行,直至被中断或终止。请求会保持此状态,直到所有实例都已中断或终止。

cancelled_terminating

竞价型实例集请求已取消,正在终止其实例。请求会保持此状态,直到所有实例都已终止。

expired

Spot 队列请求已过期。如果请求使用 TerminateInstancesWithExpiration 集创建,则随后的 terminated 事件指示实例已终止。

modify_in_progress

Spot 队列请求正在修改中。请求将保持该状态,直到完全处理修改。

modify_succeeded

Spot 队列请求已修改。

submitted

正在评估 Spot 队列请求,并且 Amazon EC2 正准备启动目标数量的实例。

progress

Spot 队列请求正在执行过程中。

EC2竞价型实例集竞价型实例请求更改

当队列中的 Spot 实例请求状态变化时,Spot 队列会将 EC2 Spot Fleet Spot Instance Request Change 事件发送到 Amazon EventBridge。

以下是此事件的示例数据。

{ "version": "0", "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2", "detail-type": "EC2 Spot Fleet Spot Instance Request Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T08:53:21Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1" ], "detail": { "spot-instance-request-id": "sir-a2w9gc5h", "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running", "sub-type": "cancelled" } }

sub-type 可使用的值为:

active

竞价型实例请求已执行并有关联的竞价型实例。

cancelled

您取消了竞价型实例请求,或竞价型实例请求已过期。

disabled

您停止了竞价型实例。

submitted

已提交竞价型实例请求。

EC2 Spot 队列实例更改

当队列中的实例状态变化时,Spot 队列会将 EC2 Spot Fleet Instance Change 事件发送到 Amazon EventBridge。

以下是此事件的示例数据。

{ "version": "0", "id": "11591686-5bd7-bbaa-eb40-d46529c2710f", "detail-type": "EC2 Spot Fleet Instance Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T07:25:02Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61" ], "detail": { "instance-id": "i-08b90df1e09c30c9b", "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}", "sub-type": "launched" } }

sub-type 可使用的值为:

launched

启动了一个新实例。

terminated

实例已终止。

termination_notified

当 Amazon EC2 在缩减期间终止竞价型实例时,机群的目标容量被缩减,例如,从目标容量 4 减至目标容量 3 时,会发送实例终止通知。

EC2 Spot 队列信息

在履行过程中出错时,Spot 队列会将 EC2 Spot Fleet Information 事件发送到 Amazon EventBridge。信息事件不会阻止队列尝试实现其目标容量。

以下是此事件的示例数据。

{ "version": "0", "id": "73a60f70-3409-a66c-635c-7f66c5f5b669", "detail-type": "EC2 Spot Fleet Information", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-08T20:56:12Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1" ], "detail": { "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291", "sub-type": "launchSpecUnusable" } }

sub-type 可使用的值为:

fleetProgressHalted

每个启动规范中的价格无效,因为它低于 Spot 价格(所有启动规范都已生成 launchSpecUnusable 事件)。如果 Spot 价格发生变化,启动规范可能会变为有效。

launchSpecTemporarilyBlacklisted

配置无效,多次启动实例的尝试都已失败。有关更多信息,请参阅事件的描述。

launchSpecUnusable

启动规范中的价格无效,因为它低于 Spot 价格。

registerWithLoadBalancersFailed

尝试向负载均衡器注册实例失败。有关更多信息,请参阅事件的描述。

EC2 Spot 队列错误

在履行过程中出错时,Spot 队列会将 EC2 Spot Fleet Error 事件发送到 Amazon EventBridge。错误事件阻止了队列尝试实现其目标容量。

以下是此事件的示例数据。

{ "version": "0", "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2", "detail-type": "EC2 Spot Fleet Error", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T06:56:07Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17" ], "detail": { "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ", "sub-type": "spotFleetRequestConfigurationInvalid" } }

sub-type 可使用的值为:

iamFleetRoleInvalid

竞价型实例集不具有启动或终止实例所需的权限。

allLaunchSpecsTemporarilyBlacklisted

所有配置均无效,多次启动实例的尝试已失败。有关更多信息,请参阅事件的描述。

spotInstanceCountLimitExceeded

您已达到可启动的竞价型实例的数量限制。

spotFleetRequestConfigurationInvalid

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