데몬 자동 복구

데몬 자동 복구 (Daemon auto repair)

데몬은 인스턴스 상태에 중요(critical)하거나 중요하지 않을(non-critical) 수 있어요. 이는 데몬을 생성하거나 업데이트할 때 critical 파라미터로 제어합니다. critical 파라미터는 기본값이 true라서, critical을 false로 설정하지 않는 한 데몬은 중요(critical)로 간주됩니다.

출처: 문서

본문

데몬은 critical 파라미터로 인스턴스 상태에 중요하거나 중요하지 않을 수 있습니다. critical 파라미터는 기본값이 true이므로, critical을 false로 설정하지 않는 한 데몬은 중요(critical)로 취급됩니다.

중대(critical) 데몬

중대 데몬의 경우, 데몬 태스크가 중지되거나 unhealthy 상태가 되면 Amazon ECS는 인스턴스를 손상(impaired)된 것으로 간주하고 자동으로 드레이닝(draining)한 뒤 교체합니다. 중대 데몬의 자동 복구 작업은 다음과 같습니다.

  1. Amazon ECS가 데몬 태스크가 중지되거나 unhealthy 상태가 된 것을 감지합니다.
  2. Amazon ECS가 인스턴스를 draining으로 표시해 새 애플리케이션 태스크를 받지 못하게 합니다.
  3. Amazon ECS가 교체 인스턴스를 프로비저닝하고 그 위에서 데몬 태스크를 시작합니다.
  4. 데몬 태스크가 healthy 상태에 도달하면, Amazon ECS가 draining 인스턴스의 애플리케이션 태스크들을 교체 인스턴스에 스케줄링합니다.
  5. Amazon ECS가 원래 인스턴스를 종료합니다.

비중대(non-critical) 데몬

비중대 데몬의 경우, 데몬 태스크는 컨테이너 인스턴스 상태와 독립적으로 동작합니다. 데몬 태스크가 실패하거나, 중지되거나, unhealthy 상태가 되어도 Amazon ECS는 컨테이너 인스턴스를 활성 상태로 유지합니다. 비중대 데몬은 인스턴스 등록을 절대 막지 않으므로, 데몬이 시작에 실패해도 애플리케이션 태스크를 즉시 배치할 수 있습니다.

중요: 데몬 상태 확인(health check)은 선택 사항이지만 강력히 권장됩니다. 상태 확인이 없으면 Amazon ECS는 데몬 태스크가 중지될 때만 실패를 감지할 수 있습니다. 데몬 상태는 DescribeContainerInstances API나 DescribeTasks API로 모니터링할 수 있습니다.

비중대 데몬의 경우 Amazon ECS는 데몬 태스크가 실행되고 있지 않을 때도 인스턴스를 활성 상태로 유지합니다. 다음 필드들이 그런 상태의 인스턴스 수를 보고합니다.

  • DescribeDaemon은 각 용량 공급자에 대해 withoutDaemonCount를, 모든 용량 공급자에 걸친 리비전에 대해 totalWithoutDaemonCount를 반환합니다.
  • DescribeDaemonDeployments는 각 용량 공급자에 대해 withoutDaemonInstanceCount를, 모든 용량 공급자에 걸친 리비전에 대해 totalWithoutDaemonInstanceCount를 반환합니다.

참고: without-daemon 수는 running 수와 별개입니다. DescribeDaemon은 runningCount와 totalRunningCount를 보고하고, DescribeDaemonDeployments는 runningInstanceCount와 totalRunningInstanceCount를 보고합니다. 인스턴스는 한쪽 집합에만 나타나고 양쪽에 나타나지 않으므로, 두 집합을 더하면 안 됩니다.

더 알아보기 (Learn more)

  • Amazon ECS 관리형 데몬에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.