Amazon ECS 컨테이너 인스턴스 상태 모니터링

Amazon ECS 컨테이너 인스턴스 상태 모니터링

Amazon ECS는 컨테이너 인스턴스 상태 모니터링을 제공해요. Amazon ECS가 컨테이너 인스턴스가 컨테이너를 실행하지 못하게 할 수 있는 문제를 감지했는지 빠르게 확인할 수 있어요. Amazon ECS는 에이전트 버전 1.57.0 이상의 모든 실행 중인 컨테이너 인스턴스에 자동 검사를 수행해 문제를 식별해요. 컨테이너 인스턴스의 에이전트 버전을 확인하는 방법은 Updating the Amazon ECS container agent를 참고하세요. AWS CLI 버전 1.22.3 이상 또는 AWS CLI 버전 2.3.6 이상을 사용해야 해요. AWS CLI 업데이트 방법은 AWS Command Line Interface User Guide Version 2의 Installing or updating the latest version of the AWS CLI를 참고하세요.

출처: 문서

본문

컨테이너 인스턴스 상태를 보려면 CONTAINER_INSTANCE_HEALTH 옵션으로 describe-container-instances를 실행하세요. overallStatus는 details 배열의 개별 상태 검사 상태에 의해 결정돼요. 가장 심각한 상태가 다음 순서로 우선해요: IMPAIRED, INSUFFICIENT_DATA, INITIALIZING, OK.

overallStatus의 유효한 값은 다음과 같아요.

  • OK – 모든 상태 검사가 통과됨.
  • IMPAIRED – 하나 이상의 상태 검사가 실패함.
  • INSUFFICIENT_DATA – 하나 이상의 상태 검사에 대한 데이터를 사용할 수 없음.
  • INITIALIZING – 하나 이상의 상태 검사가 초기화 중임.

상태 검사 유형 값은 다음과 같아요.

  • CONTAINER_RUNTIME – 컨테이너 런타임(Docker 데몬 등)의 상태를 모니터링해요. EC2 실행 유형에서 사용할 수 있어요.
  • ACCELERATED_COMPUTE – GPU 같은 가속 컴퓨팅 디바이스의 상태를 모니터링해요. GPU가 손상되면 statusReason에 XID_<number> 형식의 NVIDIA Xid 오류 코드가 포함돼요. Amazon ECS Managed Instances 실행 유형에서 사용할 수 있어요.
  • DAEMON – 컨테이너 인스턴스의 필수 데몬 태스크 상태를 모니터링해요. Amazon ECS Managed Instances 실행 유형에서 사용할 수 있어요.
  • AGENT_CONNECTIVITY – Amazon ECS 컨테이너 에이전트와 Amazon ECS 컨트롤 플레인 사이의 연결을 모니터링해요. Amazon ECS Managed Instances, AWS Fargate, Amazon EC2 실행 유형에서 사용할 수 있어요.

이벤트를 통해 상태 변경도 모니터링할 수 있어요. 자세한 내용은 Amazon ECS container instance health change events를 참고하세요.

다음은 describe-container-instances를 실행하는 방법의 예제예요.

aws ecs describe-container-instances \
     --cluster cluster_name \
     --container-instances 47279cd2cadb41cbaef2dcEXAMPLE \
     --include CONTAINER_INSTANCE_HEALTH

다음은 출력의 상태 객체 예제예요.

"healthStatus": {
	"overallStatus": "OK",
	"details": [{
		"type": "CONTAINER_RUNTIME",
		"status": "OK",
		"lastUpdated": "2021-11-10T03:30:26+00:00",
		"lastStatusChange": "2021-11-10T03:26:41+00:00"
	}]
}

컨테이너 인스턴스 상태 문제 (Container instance-health issues)

overallStatus가 OK 이외의 상태일 때 다음을 시도해 보세요.

  • 기다린 다음 describe-container-instances를 다시 실행합니다.
  • EC2 콘솔에서 또는 CLI를 사용해 컨테이너 인스턴스 상태를 봅니다.
  • CloudWatch 메트릭을 검토합니다. 자세한 내용은 Monitor Amazon ECS using CloudWatch를 참고하세요.
  • AWS Health Dashboard를 확인해 서비스에 문제가 있는지 확인합니다.