Amazon ECS ResourceInitializationError 오류 트러블슈팅
Amazon ECS ResourceInitializationError 오류 트러블슈팅
다음은 몇 가지 ResourceInitializationError 오류 메시지와 오류를 해결하기 위해 취할 수 있는 조치예요. AWS Management Console에서 중지된 태스크의 오류 메시지를 확인하려면 Amazon ECS 중지 태스크 오류 보기(Viewing Amazon ECS stopped task errors)를 참고하세요.
출처: 문서
본문
오류:
The task cannot pull registry authentication from Amazon ECR.— 태스크와 Amazon ECR 사이에 연결 문제가 있습니다. 태스크 네트워크 구성을 확인하세요.The task can't download the environment variable files from Amazon S3.— 태스크와 Amazon S3 사이에 연결 문제가 있습니다. 태스크 네트워크 구성을 확인하세요.The task cannot pull secrets from AWS Systems Manager Parameter Store.— 태스크와 AWS Systems Manager 사이의 네트워크 연결을 확인하세요.The task can’t pull secrets from AWS Secrets Manager.— 태스크와 Secrets Manager 사이에 연결 문제가 있습니다. 태스크 네트워크 구성을 확인하세요.The task can’t pull the secret from Secrets Manager.— 태스크가 ARNsecretARN의 시크릿을 Secrets Manager에서 검색할 수 없습니다. 지정된 리전에 시크릿이 존재하는지 확인하세요.pull command failed: unable to pull secrets or registry auth— 태스크 네트워크 구성을 확인하세요.The task cannot find the Amazon CloudWatch log group defined in the task definition.— 태스크와 Amazon CloudWatch 사이에 연결 문제가 있습니다. 네트워크 구성을 확인하세요.failed to initialize logging driverfailed to invoke EFS utils commands to set up EFS volumes
The task cannot pull registry authentication from Amazon ECR. — 이 오류는 태스크가 Amazon ECR에 연결할 수 없음을 나타내요. 태스크와 Amazon ECR 사이의 연결을 확인하세요. 자세한 내용은 Amazon ECS 중지 태스크 연결 확인(Verifying Amazon ECS stopped task connectivity)을 참고하세요.
The task can't download the environment variable files from Amazon S3. — 이 오류는 태스크가 Amazon S3에서 환경 파일을 다운로드할 수 없을 때 발생해요. 태스크와 Amazon S3 VPC 엔드포인트 사이의 연결을 확인하세요. 자세한 내용은 Amazon ECS 중지 태스크 연결 확인을 참고하세요.
The task cannot pull secrets from AWS Systems Manager Parameter Store. — 이 오류는 태스크가 Systems Manager의 자격 증명을 사용해 태스크 정의에 정의된 이미지를 가져올 수 없을 때 발생합니다. 태스크와 Systems Manager VPC 엔드포인트 사이의 연결을 확인하세요. 자세한 내용은 Amazon ECS 중지 태스크 연결 확인을 참고하세요.
The task can’t pull secrets from AWS Secrets Manager. — 이 오류는 태스크가 Secrets Manager의 자격 증명을 사용해 태스크 정의에 정의된 이미지를 가져올 수 없을 때 발생해요. 이 오류는 Systems Manager VPC 엔드포인트와 태스크 사이에 네트워크 연결 문제가 있음을 나타냅니다. 태스크와 엔드포인트 사이의 연결을 확인하는 방법은 Amazon ECS 중지 태스크 연결 확인을 참고하세요.
The task can’t pull the secret from Secrets Manager. — 이 오류는 태스크가 Secrets Manager의 자격 증명을 사용해 태스크 정의에 정의된 이미지를 가져올 수 없을 때 발생합니다. 이 문제는 다음 이유 중 하나로 발생해요:
| 오류 원인 | 수행할 작업 |
|---|---|
| Secrets Manager VPC 엔드포인트와 태스크 사이의 네트워크 연결 문제 | 오류 메시지에 다음 문자열 중 하나가 보이면 네트워크 문제입니다: dial tcp, dial udp, <ip>:<port>: i/o timeout, net/http: TLS handshake timeout, read: connection timed out, Client.Timeout exceeded while awaiting headers, net/http: request canceled while waiting for connection, signal: killed, context deadline exceeded — 태스크와 Secrets Manager 엔드포인트 사이의 연결을 확인하세요. 자세한 내용은 Amazon ECS 중지 태스크 연결 확인을 참고하세요. |
| 태스크 정의에 정의된 태스크 실행 역할에 Secrets Manager에 대한 권한이 없음 | 태스크 실행 역할에 Secrets Manager에 필요한 권한을 추가하세요. 자세한 내용은 Secrets Manager 또는 Systems Manager 권한(Secrets Manager or Systems Manager permissions)을 참고하세요. |
| 시크릿 ARN이 존재하지 않음 | Secrets Manager에서 ARN이 존재하는지 확인하세요. Secrets Manager 개발자 가이드의 시크릿 찾기(Find secrets in Secrets Manager)를 참고하세요. |
pull command failed: unable to pull secrets or registry auth — 이 오류는 태스크가 Amazon ECR, Systems Manager 또는 Secrets Manager에 연결할 수 없을 때 발생해요. 이는 네트워크의 잘못된 구성(misconfiguration) 때문입니다. 이 문제를 해결하려면 태스크와 Amazon ECR 사이의 연결을 확인하세요. 또한 태스크와 시크릿을 저장하는 서비스(Systems Manager 또는 Secrets Manager) 사이의 연결도 확인해야 합니다. 자세한 내용은 Amazon ECS 중지 태스크 연결 확인을 참고하세요.
The task cannot find the Amazon CloudWatch log group defined in the task definition. — 이 오류는 태스크가 태스크 정의에 정의한 CloudWatch 로그 그룹을 찾지 못할 때 발생해요. 이 오류는 CloudWatch VPC 엔드포인트와 태스크 사이에 네트워크 연결 문제가 있음을 나타냅니다. 태스크와 엔드포인트 사이의 연결을 확인하는 방법은 Amazon ECS 중지 태스크 연결 확인을 참고하세요.
failed to initialize logging driver — 이 오류는 태스크가 태스크 정의에 정의한 CloudWatch 로그 그룹을 찾지 못할 때 발생합니다. 이 오류는 태스크 정의의 CloudWatch 그룹이 존재하지 않음을 나타내요. 다음 단계로 누락된 CloudWatch 그룹을 찾습니다.
다음 명령으로 태스크 정의 정보를 가져옵니다:
aws ecs describe-task-definition \
--task-definition task-def-name
각 컨테이너의 출력을 살펴보고 awslogs-group 값을 기록합니다:
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/example-group",
"awslogs-create-group": "true",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "ecs"
},
그룹이 CloudWatch에 존재하는지 확인합니다. 자세한 내용은 Amazon CloudWatch Logs 사용자 가이드의 로그 그룹 및 로그 스트림 작업(Working with log groups and log streams)을 참고하세요. 문제는 태스크 정의에 지정된 그룹이 잘못되었거나 로그 그룹이 존재하지 않는 것입니다.
문제를 해결합니다:
| 문제 | 수행할 작업 |
|---|---|
| 태스크 정의에 잘못된 로그 그룹이 지정됨 | 컨테이너 정의에 로그 그룹 구성을 포함하도록 태스크 정의를 업데이트합니다. 태스크 정의 업데이트 방법은 콘솔을 사용한 Amazon ECS 태스크 정의 업데이트(Updating an Amazon ECS task definition using the console) 또는 Amazon Elastic Container Service API Reference의 RegisterTaskDefinition를 참고하세요. |
| CloudWatch에 로그 그룹이 존재하지 않음 | 로그 그룹을 만듭니다. 자세한 내용은 Amazon CloudWatch Logs 사용자 가이드의 CloudWatch Logs에서 로그 그룹 만들기(Create a log group in CloudWatch Logs)를 참고하세요. |
failed to invoke EFS utils commands to set up EFS volumes — 다음 문제로 인해 태스크에 Amazon EFS 볼륨을 마운트하지 못할 수 있어요: Amazon EFS 파일 시스템이 올바르게 구성되지 않았거나, 태스크에 필요한 권한이 없거나, 네트워크 및 VPC 구성 관련 문제. 이 문제를 디버깅하고 해결하는 방법은 AWS re:Post의 "Why can't I mount my Amazon EFS volumes on my AWS Fargate tasks"를 참고하세요.