更新ECS服务时,新的docker容器将被一个接一个地部署,直到每个容器都被新版本替换为止。
我们想知道何时完全部署新版本,我想这可能意味着其中任何一个
我们可以收到两个事件中的任何一个的通知吗?
(可能通过堆栈)
答案 0 :(得分:0)
这两个事件似乎都与Task State Change Event相关,都与任务级事件相关。
所有旧版本任务均已注销,并且至少有一个新任务 版本任务已注册
由于注销过程,容器已停止或已终止,似乎您需要将状态从运行中更改为已停止。
为此,您可以创建云监视规则,该规则将在发生STOPPED事件时触发。
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"STOPPED"
],
"clusterArn": [
"arn:aws:ecs:us-west-2:123456789:cluster/cluster-a",
"arn:aws:ecs:us-west-2:123456789:cluster/cluster-b"
]
}
}
将目标SNS或lambda设置为接收事件,只要上述两个集群中的任务统计信息发生变化,这就会触发通知。
每个旧版本的任务都已替换为较新的版本
此事件与服务级别事件更相关,AWS最近宣布了此功能,因为您对适当的部署事件感兴趣,而只有在任务启动并在服务中运行时,服务才会触发SERVICE_STEADY_STATE
。
以前,客户可以接收针对ECS任务的CloudWatch Events 和实例,但ECS服务事件仅可通过ECS获得 API,要求客户轮询API并实现自己的逻辑 用于自动化和记录服务事件。借助ECS服务行动 通过CloudWatch Events中的事件,客户可以轻松实现实时自动化 对事件的响应。例如,客户可以 根据特定情况自动触发AWS Lambda函数 ECS服务操作。或者,客户可以流式传输所有ECS服务操作 事件到CloudWatch Logs组,从而启用事件后取证 分析。
amazon-ecs-service-events-now-available-as-cloudwatch-events-2019-11
SERVICE_STEADY_STATE
该服务运行状况良好,并按预期的任务数量运行,从而达到稳定状态。
您可以尝试类似
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Service Action"
],
"detail": {
"eventName": [
"SERVICE_STEADY_STATE"
]
}