데몬 이벤트

데몬 이벤트 (Daemon events)

Amazon ECS는 데몬 태스크 관리와 배포 수명 주기 변화에 대한 가시성을 제공하기 위해 데몬 이벤트를 보내요. 이 이벤트를 사용해 데몬 상태를 모니터링하고, 배포 진행 상황을 추적하고, 자동화된 워크플로를 트리거할 수 있어요. Amazon ECS는 다음 데몬 이벤트 유형을 지원해요.

출처: 문서

본문

  • 데몬 서비스 액션 이벤트 (Daemon service action events) – 데몬 태스크 배치 및 시작 문제와 관련된 이벤트.
  • 데몬 배포 상태 변경 이벤트 (Daemon deployment state change events) – 데몬 배포 수명 주기 전환과 관련된 이벤트.

이 이벤트에 대한 규칙을 만드는 방법을 배우려면 Creating rules for daemon events를 참고하세요.

데몬 서비스 액션 이벤트 (Daemon service action events)

Amazon ECS는 ECS Daemon Service Action detail type으로 데몬 서비스 액션 이벤트를 보내요. 이 이벤트는 Amazon ECS가 컨테이너 인스턴스에서 데몬 태스크를 시작할 때 문제가 발생하면 알려 줘요. Amazon ECS는 데몬 태스크가 시작에 실패하면 중요(critical) 및 비중요(non-critical) 데몬 모두에 대해 EventBridge 이벤트를 내보내요.

DAEMON_TASK_START_IMPAIRED

Amazon ECS는 컨테이너 인스턴스에서 데몬 태스크를 성공적으로 시작할 수 없을 때 DAEMON_TASK_START_IMPAIRED 이벤트를 보내요. 이벤트에는 실패 원인을 나타내는 failureType 필드가 포함돼요.

  • TASK_FAILED_TO_RUN – 데몬 태스크가 생성됐지만 RUNNING 상태에 도달하지 못했어요. 일반적인 원인으로는 컨테이너 이미지 pull 실패, 컨테이너 상태 검사 실패, 필수 컨테이너 종료가 있어요. 이벤트에 taskArn 필드가 있어요.
  • TASK_CREATION_FAILED – 데몬 태스크가 컨테이너 인스턴스에 생성될 수 없었어요. 일반적인 원인으로는 인스턴스의 CPU, 메모리 또는 기타 리소스 부족이 있어요. 태스크가 생성되지 않았으므로 이벤트에 taskArn 필드가 없어요.

예: TASK_FAILED_TO_RUN 이벤트 – 다음 이벤트는 컨테이너 이미지 pull 실패로 인해 생성됐지만 RUNNING 상태에 도달하지 못한 데몬 태스크를 보여 줘요.

{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "ECS Daemon Service Action",
    "source": "aws.ecs",
    "account": "123456789012",
    "time": "2026-03-24T12:00:00Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:ecs:us-west-2:123456789012:task/my-cluster/a1b2c3d4e5f6"
    ],
    "detail": {
        "eventType": "WARNING",
        "eventName": "DAEMON_TASK_START_IMPAIRED",
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster",
        "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/my-cluster/a1b2c3d4e5f6",
        "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/my-cluster/a1b2c3d4e5f6",
        "daemonRevisionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-revision/my-cluster/my-daemon/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "capacityProviderName": "my-capacity-provider",
        "daemonArn": "arn:aws:ecs:us-west-2:123456789012:daemon/my-cluster/my-daemon",
        "daemonTaskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-task-definition/my-daemon-td:1",
        "failureType": "TASK_FAILED_TO_RUN",
        "createdAt": "2026-03-24T12:00:00.000Z",
        "reason": "Task failed to reach RUNNING status: CannotPullContainerError: pull image manifest has been retried 5 time(s)"
    }
}

예: TASK_CREATION_FAILED 이벤트 – 다음 이벤트는 CPU 리소스 부족으로 컨테이너 인스턴스에 생성될 수 없었던 데몬 태스크를 보여 줘요. 태스크가 생성되지 않았으므로 taskArn 필드가 없어요.

{
    "version": "0",
    "id": "87654321-4321-4321-4321-210987654321",
    "detail-type": "ECS Daemon Service Action",
    "source": "aws.ecs",
    "account": "123456789012",
    "time": "2026-03-24T12:01:00Z",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "eventType": "WARNING",
        "eventName": "DAEMON_TASK_START_IMPAIRED",
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster",
        "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/my-cluster/b2c3d4e5f6a7",
        "daemonRevisionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-revision/my-cluster/my-daemon/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "capacityProviderName": "my-capacity-provider",
        "daemonArn": "arn:aws:ecs:us-west-2:123456789012:daemon/my-cluster/my-daemon",
        "daemonTaskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-task-definition/my-daemon-td:1",
        "failureType": "TASK_CREATION_FAILED",
        "createdAt": "2026-03-24T12:01:00.000Z",
        "reason": "RESOURCE:CPU - Unable to place daemon task on container instance: insufficient CPU"
    }
}

데몬 배포 상태 변경 이벤트 (Daemon deployment state change events)

Amazon ECS는 ECS Daemon Deployment State Change detail type으로 데몬 배포 상태 변경 이벤트를 보내요. Amazon ECS는 데몬 배포의 상태가 바뀔 때마다 이 이벤트를 내보내요.

배포 상태 변경 이벤트 유형

Amazon ECS는 배포 상태 변경 이벤트를 다음 이벤트 유형으로 분류해요.

INFO 이벤트

  • DAEMON_DEPLOYMENT_PENDING – Amazon ECS가 데몬 배포를 시작했어요.
  • DAEMON_DEPLOYMENT_IN_PROGRESS – Amazon ECS가 배포를 시작했고 데몬 태스크를 적극적으로 교체 중이에요.
  • DAEMON_DEPLOYMENT_SUCCESSFUL – Amazon ECS가 모든 데몬 태스크가 실행되고 정상인 상태로 배포를 성공적으로 완료했어요.
  • DAEMON_DEPLOYMENT_STOPPED – Amazon ECS가 배포를 중지했어요. 배포가 실패했거나 새 배포로 교체되었을 때 발생해요.
  • DAEMON_DEPLOYMENT_STOP_REQUESTED – Amazon ECS가 배포 진행을 중지했고 이제 롤백을 시작할 거예요.
  • DAEMON_DEPLOYMENT_ROLLBACK_IN_PROGRESS – Amazon ECS가 배포 실패 또는 회로 차단기(또는 circuit breaker) 트리거로 인해 롤백을 시작했어요.
  • DAEMON_DEPLOYMENT_ROLLBACK_SUCCESSFUL – Amazon ECS가 배포 롤백을 성공적으로 완료했어요.

ERROR 이벤트

  • DAEMON_DEPLOYMENT_ROLLBACK_FAILED – Amazon ECS가 배포 롤백을 완료할 수 없었어요.

예: 배포 대기(pending) 이벤트 – 다음 이벤트는 Amazon ECS가 시작한 데몬 배포를 보여 줘요.

{
    "version": "0",
    "id": "3329f79b-3dca-07f8-b1c2-5fe99f0b5e87",
    "detail-type": "ECS Daemon Deployment State Change",
    "source": "aws.ecs",
    "account": "111122223333",
    "time": "2026-03-05T15:54:41Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:ecs:us-west-2:111122223333:daemon/my-cluster/my-daemon"
    ],
    "detail": {
        "eventType": "INFO",
        "eventName": "DAEMON_DEPLOYMENT_PENDING",
        "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/my-cluster",
        "daemonArn": "arn:aws:ecs:us-west-2:111122223333:daemon/my-cluster/my-daemon",
        "daemonDeploymentArn": "arn:aws:ecs:us-west-2:111122223333:daemon-deployment/my-cluster/my-daemon/0EYSiB0qap8xf0N76FsbE",
        "targetDaemonRevisionArn": "arn:aws:ecs:us-west-2:111122223333:daemon-revision/my-cluster/my-daemon/85707969-3732-4b6a-a37d-5cefddd7d7dd",
        "updatedAt": "2026-03-05T15:54:41.618059641Z"
    }
}

데몬 이벤트에 대한 규칙 생성 (Creating rules for daemon events)

데몬 이벤트가 발생할 때 알림을 받도록 규칙을 만들 수 있어요. 규칙 생성에 대한 자세한 내용은 Amazon EventBridge User Guide의 Creating a rule을 참고하세요.

다음 예제 이벤트 패턴은 데몬 이벤트를 필터링하는 방법을 보여 줘요.

예: 모든 데몬 서비스 액션 이벤트 일치

{
    "source": ["aws.ecs"],
    "detail-type": ["ECS Daemon Service Action"]
}

예: 특정 실패 유형 일치

{
    "source": ["aws.ecs"],
    "detail-type": ["ECS Daemon Service Action"],
    "detail": {
        "eventName": ["DAEMON_TASK_START_IMPAIRED"],
        "failureType": ["TASK_CREATION_FAILED"]
    }
}

예: 특정 클러스터의 이벤트 일치

{
    "source": ["aws.ecs"],
    "detail-type": ["ECS Daemon Service Action"],
    "detail": {
        "eventName": ["DAEMON_TASK_START_IMPAIRED"],
        "clusterArn": ["arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster"]
    }
}

예: 모든 배포 상태 변경 이벤트 일치

{
    "source": ["aws.ecs"],
    "detail-type": ["ECS Daemon Deployment State Change"]
}