기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
RUNNABLE
상태에서 정체된 작업
컴퓨팅 환경에 컴퓨팅 리소스가 포함되어 있지만 작업이 RUNNABLE
상태 이상으로 진행되지 않는다고 가정해 보겠습니다. 이 경우 무언가가 작업을 컴퓨팅 리소스에 배치하지 못하게 하여 작업 대기열이 차단되고 있을 가능성이 높습니다. 다음은 작업이 차례를 기다리고 있는지 아니면 대기열을 차단하고 있는지 확인하는 방법입니다.
가 헤드에 RUNNABLE
작업이 있고 대기열을 차단한다는 것을 AWS Batch 감지하면 Amazon CloudWatch Events에서 사유와 함께 리소스: 작업 대기열 차단됨 이벤트 이벤트를 받게 됩니다. 동일한 이유가 ListJobs
및 DescribeJobs
API 호출의 일부로 statusReason
필드에도 업데이트됩니다.
선택적으로 CreateJobQueue
및 UpdateJobQueue
API 작업을 통해 jobStateTimeLimitActions
파라미터를 구성할 수 있습니다.
참고
현재 jobStateLimitActions.action
과 함께 사용할 수 있는 유일한 작업은 작업을 취소하는 것입니다.
jobStateTimeLimitActions
파라미터는 특정 상태의 작업에 대해 AWS Batch 수행하는 작업 세트를 지정하는 데 사용됩니다. maxTimeSeconds
필드를 통해 초 단위로 시간 임곗값을 설정할 수 있습니다.
작업이 로 정의된 RUNNABLE
상태에 있는 경우는 maxTimeSeconds
이 경과된 후 지정된 작업을 statusReason
AWS Batch 수행합니다.
예를 들어, 충분한 용량을 사용할 수 있을 때까지 대기 중인 RUNNABLE
상태의 모든 작업이 최대 4시간 동안 대기하도록 jobStateTimeLimitActions
파라미터를 설정할 수 있습니다. 작업을 취소하고 다음 작업이 작업 대기열의 상단으로 이동하도록 허용하기 전에 statusReason
을 CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
로, maxTimeSeconds
를 144,000으로 설정하여 이 작업을 수행할 수 있습니다.
다음은 작업 대기열이 차단된 것을 감지할 때 AWS Batch 가 제공하는 이유입니다. 이 목록은 ListJobs
및 DescribeJobs
API 작업에서 반환된 메시지를 제공합니다. 또한 동일한 값을 jobStateLimitActions.statusReason
파라미터에 대해 정의할 수 있습니다.
-
이유: 연결된 모든 컴퓨팅 환경에 용량 부족 오류가 있습니다. 요청 시 용량 부족 오류가 발생하는 Amazon EC2 인스턴스를 AWS Batch 감지합니다. 작업을 수동으로 취소하면 후속 작업이 대기열의 헤드로 이동할 수 있지만 서비스 역할 문제(들)를 해결하지 않으면 다음 작업도 차단될 수 있습니다. 이 문제를 수동으로 조사하고 해결하는 것이 가장 좋습니다.
-
작업이 멈춘 동안
statusReason
메시지:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]
-
jobStateTimeLimitActions
에 사용되는reason
:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
-
작업이 취소된 후
statusReason
메시지:Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
참고:
-
이 감지가 작동하려면 AWS Batch 서비스 역할에
autoscaling:DescribeScalingActivities
권한이 필요합니다. 에 대한 서비스 연결 역할 권한 AWS Batch 서비스 연결 역할(SLR) 또는 AWS 관리형 정책: AWSBatchServiceRole 정책 관리형 정책을 사용하는 경우 권한 정책이 업데이트되므로 조치를 취할 필요가 없습니다. -
SLR 또는 관리형 정책을 사용하는 경우에서 차단된 작업 대기열 이벤트와 업데이트된 작업 상태를 수신할 수 있도록
autoscaling:DescribeScalingActivities
및ec2:DescribeSpotFleetRequestHistory
권한을 추가해야 합니다RUNNABLE
. 또한 AWS Batch 는 작업 대기열에 구성된 경우에도jobStateTimeLimitActions
파라미터를 통해cancellation
작업을 수행할 수 있도록 이러한 권한이 필요합니다. -
다중 노드 병렬(MNP) 작업의 경우 연결된 우선 순위가 높은 Amazon EC2 컴퓨팅 환경에
insufficient capacity
오류가 발생하는 경우 우선 순위가 낮은 컴퓨팅 환경에이 오류가 발생하더라도 대기열을 차단합니다.
-
-
이유: 모든 컴퓨팅 환경에는 작업 요구 사항보다 작은
maxvCpus
파라미터가 있습니다. 수동으로 또는statusReason
에jobStateTimeLimitActions
파라미터를 설정하여 작업을 취소하면 후속 작업이 대기열의 상단으로 이동할 수 있습니다. 선택적으로, 차단된 작업의 요구 사항을 충족하도록 기본 컴퓨팅 환경의maxvCpus
파라미터를 늘릴 수 있습니다.-
작업이 멈춘 동안
statusReason
메시지:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.
-
jobStateTimeLimitActions
에 사용되는reason
:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
작업이 취소된 후
statusReason
메시지:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
-
이유: 작업 요구 사항을 충족하는 인스턴스가 있는 컴퓨팅 환경이 없습니다. 작업이 리소스를 요청하면는 연결된 컴퓨팅 환경이 수신 작업을 수용할 수 없음을 AWS Batch 감지합니다. 수동으로 또는
statusReason
에jobStateTimeLimitActions
파라미터를 설정하여 작업을 취소하면 후속 작업이 대기열의 상단으로 이동할 수 있습니다. 선택적으로, 컴퓨팅 환경의 허용되는 인스턴스 유형을 재정의하여 필요한 작업 리소스를 추가할 수 있습니다.-
작업이 멈춘 동안
statusReason
메시지:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - The job resource requirement (vCPU/memory/GPU) is higher than that can be met by the CE(s) attached to the job queue.
-
jobStateTimeLimitActions
에 사용되는reason
:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
작업이 취소된 후
statusReason
메시지:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
-
이유: 모든 컴퓨팅 환경에 서비스 역할 문제가 있습니다. 이 문제를 해결하려면 서비스 역할 권한을 AWS 에 대한 관리형 정책 AWS Batch 섹션과 비교하고 모든 차이를 해결합니다. 참고:이 오류를 해결하기 위해
jobStateTimeLimitActions
파라미터를 통해 프로그래밍 가능한 작업을 구성할 수 없습니다.유사한 오류를 방지하기 위해 에 대한 서비스 연결 역할 권한 AWS Batch 섹션을 사용하는 것이 좋습니다.
수동으로 또는
statusReason
에jobStateTimeLimitActions
파라미터를 설정하여 작업을 취소하면 후속 작업이 대기열의 상단으로 이동할 수 있습니다. 서비스 역할 문제를 해결하지 않으면 다음 작업도 차단될 수 있습니다. 이 문제를 수동으로 조사하고 해결하는 것이 좋습니다.-
작업이 멈춘 동안
statusReason
메시지:MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.
-
-
이유: 모든 컴퓨팅 환경이 유효하지 않습니다. 자세한 내용은 INVALID 컴퓨팅 환경 단원을 참조하십시오. 참고: 이 오류를 해결하기 위해
jobStateTimeLimitActions
파라미터를 통해 프로그래밍 가능한 작업을 구성할 수 없습니다.-
작업이 멈춘 동안
statusReason
메시지:ACTION_REQUIRED - CE(s) associated with the job queue are invalid.
-
-
원인: AWS Batch 차단된 대기열을 감지했지만 원인을 확인할 수 없습니다. 참고: 이 오류를 해결하기 위해
jobStateTimeLimitActions
파라미터를 통해 프로그래밍 가능한 작업을 구성할 수 없습니다. 문제 해결에 대한 자세한 내용은 re:Post의 RUNNABLE on에서 내 작업이 중단된 이유를 참조하세요 AWS BatchAWS. -
작업이 멈춘 동안
statusReason
메시지:UNDETERMINED - Batch job is blocked, root cause is undetermined.
-
CloudWatch Events에서 이벤트를 받지 못했거나 알 수 없는 이유 이벤트를 받은 경우이 문제의 몇 가지 일반적인 원인은 다음과 같습니다.
- 컴퓨팅 리소스에
awslogs
로그 드라이버가 구성되어 있지 않음 -
AWS Batch 작업은 로그 정보를 CloudWatch Logs로 전송합니다. 이를 위해서는
awslogs
로그 드라이버를 사용할 수 있도록 컴퓨팅 리소스를 구성해야 합니다. Amazon AMI ECS 최적화 Word(또는 Amazon Linux)에서 컴퓨팅 리소스 AMI를 기반으로 한다고 가정해 보겠습니다. 그러면 이 드라이버가ecs-init
패키지에 기본적으로 등록됩니다. 이제 다른 기본 AMI를 사용한다고 가정해 보겠습니다. 그런 다음 Amazon ECS 컨테이너 에이전트가 시작될 때awslogs
로그 드라이버가ECS_AVAILABLE_LOGGING_DRIVERS
환경 변수가 있는 사용 가능한 로그 드라이버로 지정되어 있는지 확인해야 합니다. 자세한 내용은 컴퓨팅 리소스 AMI 사양 및 자습서: 컴퓨팅 리소스 AMI 생성 단원을 참조하세요. - 리소스 부족
-
작업 정의에서 컴퓨팅 리소스가 할당할 수 있는 것보다 많은 CPU 또는 메모리 리소스를 지정하는 경우 작업이 배치되지 않습니다. 예를 들어 작업에 4GiB의 메모리가 지정되어 있고 컴퓨팅 리소스의 메모리가 사용 가능한 메모리보다 적다고 가정해 보겠습니다. 그러면 해당 컴퓨팅 리소스에 작업을 배치할 수 없는 경우가 발생합니다. 이러한 경우에는 작업 정의에서 지정한 메모리 크기를 줄이거나, 혹은 용량이 더욱 큰 컴퓨팅 리소스를 환경에 추가해야 합니다. 일부 메모리는 Amazon ECS 컨테이너 에이전트 및 기타 중요한 시스템 프로세스를 위해 예약되어 있습니다. 자세한 내용은 컴퓨팅 리소스 메모리 관리 단원을 참조하십시오.
- 컴퓨팅 리소스에 대한 인터넷 액세스 없음
Compute 리소스는 Amazon ECS 서비스 엔드포인트와 통신하려면 액세스 권한이 필요합니다. 이는 인터페이스 VPC 엔드포인트를 통하거나 퍼블릭 IP 주소가 있는 리소스 계산을 통해 이루어질 수 있습니다.
인터페이스 VPC 엔드포인트에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS Interface VPC 엔드포인트(AWS PrivateLink)를 참조하세요.
인터페이스 VPC 엔드포인트가 구성되어 있지 않고 컴퓨팅 리소스에 퍼블릭 IP 주소가 없는 경우 네트워크 주소 변환(NAT)을 사용하여이 액세스를 제공해야 합니다. 자세한 내용은 Amazon NAT 사용 설명서 및이 설명서의 Word 게이트웨이를 참조하세요. VPC 자세한 내용은 자습서: VPC 생성 단원을 참조하십시오.
- Amazon EC2 인스턴스 한도 도달
-
계정이에서 시작할 수 있는 Amazon EC2 인스턴스 수는 EC2 인스턴스 할당량에 따라 AWS 리전 결정됩니다. 특정 인스턴스 유형에는 per-instance-type 할당량도 있습니다. 한도 증가를 요청하는 방법을 포함하여 계정의 Amazon EC2 인스턴스 할당량에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Amazon Word 서비스 한도를 참조하세요. EC2
- Amazon ECS 컨테이너 에이전트가 설치되지 않음
-
작업을 AWS Batch 실행하려면 Amazon Machine Image(AMI)에 Amazon ECS 컨테이너 에이전트를 설치해야 합니다. Amazon ECS 컨테이너 에이전트는 기본적으로 Amazon ECS 최적화 AMIs에 설치됩니다. Amazon ECS 컨테이너 에이전트에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 컨테이너 에이전트를 참조하세요.
자세한 내용은 re:Post에서 내 AWS Batch 작업이 RUNNABLE
상태인 이유는 무엇입니까?