

# Amazon ECS 작업에 Amazon EBS 볼륨 연결 관련 문제 해결
<a name="troubleshoot-ebs-volumes"></a>

Amazon EBS 볼륨을 Amazon ECS 작업에 연결하는 작업과 관련된 문제를 확인하거나 해결해야 할 수 있습니다.

## 볼륨 연결 상태 확인
<a name="troubleshoot-ebs-volumes-location"></a>

AWS Management Console을 사용하여 Amazon ECS 작업에 대한 Amazon EBS 볼륨 연결 상태를 볼 수 있습니다. 작업이 시작되고 연결이 실패하는 경우 문제 해결에 사용할 수 있는 상태 이유도 표시됩니다. 생성된 볼륨이 삭제되고 작업이 중지됩니다. 상태 이유에 대한 자세한 내용은 [Amazon ECS 태스크에 대한 Amazon EBS 볼륨 연결의 상태 이유](troubleshoot-ebs-volumes-scenarios.md) 섹션을 참조하세요.

**콘솔을 사용하여 볼륨의 연결 상태 및 상태 이유를 보는 방법**

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. **클러스터** 페이지에서 작업이 실행 중인 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. 클러스터 세부 정보 페이지에서 **작업**을 선택합니다.

1. 볼륨 연결 상태를 보려는 작업을 선택합니다. 검사하려는 작업이 중지된 경우 **원하는 상태 필터링**을 사용하고 **중지됨**을 선택해야 할 수도 있습니다.

1. 작업의 세부 정보 페이지에서 **볼륨** 탭을 선택합니다. **연결 상태**에서 Amazon EBS 볼륨의 연결 상태를 볼 수 있습니다. 볼륨이 태스크에 연결되지 않으면 **연결 상태** 아래에서 상태를 선택하여 장애 원인을 표시할 수 있습니다.

또한 [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) API를 사용하여 작업의 볼륨 연결 상태 및 관련 상태 이유를 볼 수도 있습니다.

## 서비스 및 작업 실패
<a name="service-task-failures"></a>

Amazon EBS 볼륨에만 국한되지 않는 서비스 또는 작업 실패가 발생할 수 있습니다. 이 경우 볼륨 연결에 영향을 미칠 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.
+ [서비스 이벤트 메시지](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages.html)
+ [중지된 작업 오류 코드](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-error-codes.html)
+ [API 실패 이유](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html)

# 컨테이너가 Amazon EBS 볼륨에 쓸 수 없음
<a name="troubleshoot-non-root-container"></a>

적절한 권한이 없는 루트가 아닌 사용자  
컨테이너 정의에 루트가 아닌 사용자를 지정하면 Amazon ECS는 쓰기 액세스를 허용하도록 그룹 기반 권한으로 볼륨을 자동으로 구성합니다. 그러나 여전히 권한 문제가 발생하는 경우:  
+ `uid:gid` 형식을 사용하여 컨테이너 정의에 `user` 파라미터가 올바르게 지정되었는지 확인합니다(예: `1001:1001`).
+ 볼륨이 탑재된 후 컨테이너 이미지가 사용자 권한을 재정의하지 않는지 확인합니다.
+ 컨테이너 로그를 검사하거나 Amazon ECS Exec로 실행 중인 컨테이너를 검사하여 애플리케이션이 예상 사용자 ID로 실행 중인지 확인합니다.

권한 문제가 있는 루트 사용자  
컨테이너 정의에 사용자가 지정되지 않은 경우 컨테이너는 루트로 실행되며 볼륨에 대한 전체 액세스 권한을 보유해야 합니다. 문제가 발생하는 경우:  
+ 컨테이너 내부의 탑재 지점을 확인하여 볼륨이 제대로 탑재되었는지 확인합니다.
+ 탑재 지점 구성에서 볼륨이 읽기 전용으로 구성되지 않았는지 확인합니다.

사용자가 다른 다중 컨테이너 태스크  
서로 다른 사용자로 실행되는 여러 컨테이너가 있는 태스크에서 Amazon ECS는 지정된 모든 사용자가 볼륨에 쓸 수 있도록 그룹 권한을 자동으로 관리합니다. 컨테이너에서 쓸 수 없는 경우:  
+ 쓰기 액세스가 필요한 모든 컨테이너에 `user` 파라미터가 올바르게 구성되어 있는지 확인합니다.
+ 볼륨에 액세스해야 하는 모든 컨테이너에 볼륨이 탑재되었는지 확인합니다.

컨테이너 정의에서 사용자를 구성하는 방법에 대한 자세한 내용은 [Fargate에 대한 Amazon ECS 태스크 정의 파라미터](https://docs.aws.amazon.com/./task_definition_parameters.html)를 참조하세요.

# Amazon ECS 태스크에 대한 Amazon EBS 볼륨 연결의 상태 이유
<a name="troubleshoot-ebs-volumes-scenarios"></a>

Amazon ECS 작업에 연결하기 위해 Amazon EBS 볼륨을 구성할 때 AWS Management Console에서 상태 이유의 형태로 발생할 수 있는 문제를 해결하기 위해 다음 참조를 사용합니다. 콘솔에서 이러한 상태 이유를 찾는 방법에 대한 자세한 내용은 [볼륨 연결 상태 확인](troubleshoot-ebs-volumes.md#troubleshoot-ebs-volumes-location) 섹션을 참조하세요.

ECS는 구성된 ECS 인프라 역할 'arn:aws:iam::*111122223333*:role/*ecsInfrastructureRole*'을 수임할 수 없습니다. 전달되는 역할이 Amazon ECS와 적절한 신뢰 관계를 보유하는지 확인합니다.  
이 상태 이유는 다음 시나리오에 나타납니다.  
+  필요한 신뢰 정책을 연결하지 않고 IAM 역할을 제공합니다. Amazon ECS는 역할에 필요한 신뢰 정책이 없는 경우 제공한 Amazon ECS 인프라 IAM 역할에 액세스할 수 없습니다. 작업이 `DEPROVISIONING` 상태에서 멈출 수 있습니다. 필요한 신뢰 정책에 대한 자세한 내용은 [Amazon ECS 인프라 IAM 역할](infrastructure_IAM_role.md) 섹션을 참조하세요.
+ IAM 사용자에게 Amazon ECS 인프라 역할을 Amazon ECS에 전달할 수 있는 권한이 없습니다. 작업이 `DEPROVISIONING` 상태에서 멈출 수 있습니다. 이 문제를 방지하려면 사용자에게 `PassRole` 권한을 연결할 수 있습니다. 자세한 내용은 [Amazon ECS 인프라 IAM 역할](infrastructure_IAM_role.md) 섹션을 참조하세요.
+ IAM 역할에 Amazon EBS 볼륨 연결에 필요한 권한이 없습니다. 작업이 `DEPROVISIONING` 상태에서 멈출 수 있습니다. Amazon EBS 볼륨을 작업에 연결하는 데 필요한 특정 권한에 대한 자세한 내용은 [Amazon ECS 인프라 IAM 역할](infrastructure_IAM_role.md) 섹션을 참조하세요.
역할 전파 지연으로 인해 이 오류 메시지가 표시될 수도 있습니다. 몇 분을 기다린 후 역할 사용을 다시 시도해도 문제가 해결되지 않으면 역할에 대한 신뢰 정책을 잘못 구성했을 수 있습니다.

ECS가 EBS 볼륨을 설정하지 못했습니다. Encountered IdempotentParameterMismatch', '제공한 클라이언트 토큰이 이미 삭제된 리소스에 연결되어 있습니다. 다른 클라이언트 토큰을 사용하세요.'  
다음 AWS KMS 주요 시나리오에서 `IdempotentParameterMismatch` 메시지가 표시될 수 있습니다.  
+ 유효하지 않은 KMS 키 ARN, ID 또는 별칭을 지정합니다. 이 시나리오에서 작업이 성공적으로 시작된 것처럼 보이지만 AWS에서 KMS 키를 비동기적으로 인증하기 때문에 실제로 작업은 실패합니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [Amazon EBS 암호화](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)를 참조하세요.
+ Amazon ECS 인프라 IAM 역할에서 암호화에 키를 사용하도록 허용하는 권한이 없는 고객 관리형 키를 제공합니다. 키 정책 권한 문제를 방지하려면 [Amazon EBS 볼륨의 데이터 암호화](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-kms-encryption)에서 예제 AWS KMS 키 정책을 참조하세요.
Amazon EBS 볼륨 이벤트 및 Amazon ECS 작업 상태 변경 이벤트를 Amazon CloudWatch 그룹과 같은 대상으로 전송하도록 Amazon EventBridge를 설정할 수 있습니다. 그런 다음, 이러한 이벤트를 사용하여 볼륨 연결에 영향을 미치는 특정 고객 관리형 키 관련 문제를 식별할 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.  
+  AWS re:Post의 [EventBridge 규칙의 대상으로 사용할 CloudWatch 로그 그룹을 생성하려면 어떻게 해야 합니까?](https://repost.aws/knowledge-center/cloudwatch-log-group-eventbridge)
+ [작업 상태 변경 이벤트](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html#ecs_task_events).
+ *Amazon EBS 사용 설명서*의 [Amazon EBS를 위한 Amazon EventBridge 이벤트](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-cloud-watch-events.html)를 참조하세요.

작업에 EBS 볼륨 연결을 구성하는 동안 ECS 제한 시간이 초과되었습니다.  
다음 파일 시스템 형식 시나리오에서 이 메시지가 표시됩니다.  
+ 구성 중에 지정하는 파일 시스템 형식이 [작업의 운영 체제](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html)와 호환되지 않습니다.
+ 스냅샷에서 Amazon EBS 볼륨을 생성하도록 구성했는데 스냅샷의 파일 시스템 형식이 작업의 운영 체제와 호환되지 않습니다. 스냅샷에서 생성된 볼륨의 경우 스냅샷을 생성할 때 볼륨에서 사용하던 것과 동일한 파일 시스템 유형을 지정해야 합니다.
Amazon ECS 컨테이너 에이전트 로그를 활용하여 EC2 태스크에 대한 이 메시지 문제를 해결할 수 있습니다. 자세한 내용은 [Amazon ECS 로그 파일 위치](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/logs.html) 및 [Amazon ECS 로그 수집기](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-logs-collector.html)를 참조하세요.