Amazon EFS 볼륨을 AWS Fargate 작업에 마운트할 수 없는 이유는 무엇인가요?

5분 분량
0

AWS Fargate 작업에 Amazon Elastic File System(Amazon EFS) 볼륨을 마운트할 때 오류가 발생합니다.

간략한 설명

Amazon EFS에서는 영구 스토리지 솔루션을 제공하여 Fargate 작업 중 여러 작업 간에 파일과 데이터를 공유할 수 있도록 합니다.

Fargate 작업 중 Amazon EFS 볼륨을 마운트하지 못하는 이유에는 다음이 있습니다.

  • Amazon EFS 파일 시스템이 올바르게 구성되지 않았습니다.
  • AWS Identity and Access Management(AWS IAM) 역할에 Amazon Elastic Container Service(Amazon ECS) 작업을 하기 위해 필요한 권한이 없습니다.
  • 네트워크 및 Amazon Virtual Private Cloud(VPC) 구성과 관련된 문제가 있습니다.

Amazon Elastic Container Service(Amazon ECS) 작업 시작 오류를 해결하려면 AWSSupport-TroubleshootECSTaskFailedToStart 런북을 사용하세요. 그런 다음 문제에 맞는 해결 단계를 참고하세요.

해결 방법

시작에 실패한 작업 찾기

중요:

  • ECS 클러스터 리소스가 위치한 AWS 리전과 동일한 리전에 AWSSupport-TroubleshootECSTaskFailedToStart 런북을 사용합니다.

  • 런북을 사용할 때는 가장 최근에 실패한 작업 ID를 사용해야 합니다. 실패한 작업이 Amazon ECS 서비스의 일부인 경우, 서비스에서 가장 최근에 실패한 작업을 사용합니다. 실패한 작업은 자동화 실행 중에 ECS:DescribeTasks에 표시되어야 합니다. 기본적으로 중지된 ECS 작업은 중지됨 상태로 전환된 후 1시간 동안 표시됩니다. 가장 최근에 실패한 작업 ID를 사용하면 자동화 도중에 작업 상태 정리가 분석을 방해하지 않습니다.

런북을 시작하는 방법에 대한 지침은 AWSSupport-TroubleshootECSTaskFailedToStart를 참고하세요. 자동화 출력에 따라 다음 수동 문제 해결 단계 중 하나를 사용합니다.

오류 메시지에 따라 작업 문제 해결

Fargate 작업에 EFS 볼륨을 마운트할 때 다음 오류 중 하나가 발생할 수 있습니다.

"ResourceInitializationError: EFS 볼륨 설정 중 EFS 유틸리티 명령을 호출하지 못했습니다: stderr: b'mount.nfs4: 연결 시간 초과' : 실패한 EFS 유틸리티 명령 실행; 코드: 32"

이 오류는 연결 타이밍으로 인해 Fargate 작업이 EFS 파일 시스템에 연결할 수 없을 때 발생합니다. 이 오류를 해결하려면 다음 문제 해결 단계를 따르세요.

  1. Amazon EFS 콘솔을 엽니다.

  2. 탐색 창에서 파일 시스템을 선택합니다.

  3. 확인하려는 파일 시스템의 이름 또는 파일 시스템 ID를 선택해 해당 파일 시스템을 선택합니다.

  4. 네트워크를 선택하면 기존 마운트 대상 목록이 표시됩니다.

  5. 관리를 선택합니다.

마운트 대상의 보안 그룹과 보안 그룹의 인바운드 규칙을 볼 수 있습니다.

보안 그룹의 인바운드 규칙에서 포트 2049의 Fargate 작업 보안 그룹에서 오는 트래픽을 허용하는지 확인합니다. 서브넷 수준에서 네트워크 트래픽이 허용되는지 확인합니다. 이렇게 하려면 네트워크 액세스 제어 목록에서 파일 시스템과 작업 간의 트래픽을 허용하는지 확인합니다. 트래픽이 허용되지 않으면 그에 따라 규칙을 수정합니다. 자세한 내용은 Amazon 가상 프라이빗 클라우드 보안을 참고하세요.

"ResourceInitializationError: EFS 볼륨 설정 중 EFS 유틸리티 명령을 호출하지 못했습니다: stderr: mount.nfs4: 피어가 연결 재설정: 실패한 EFS 유틸리티 명령 실행; 코드: 32"

이 오류가 발생하는 이유는 다음 중 하나입니다.

  • 파일 시스템을 만든 즉시 EFS 파일 시스템을 마운트했습니다.

  • 마운트 대상의 보안 그룹이 포트 2049의 Fargate 작업 인바운드 트래픽을 허용하지 않습니다.

  • AWS App Mesh를 사용 중이며 프록시 규칙으로 인해 포트 2049로 가는 아웃바운드가 차단되었습니다.

이 오류를 해결하려면 다음 단계를 따르세요.

  • 마운트 대상을 만든 후 DNS 레코드가 AWS 리전에서 완전히 전파될 때까지 최대 90초가 경과할 수 있습니다. AWS CloudFormation 템플릿과 같은 프로그래밍 방식으로 파일 시스템을 생성하고 마운트하는 경우 대기 조건을 구현하세요.
  • EFS 파일 시스템 마운트 대상에 연결된 인바운드 보안 그룹 규칙이 포트 2049의 Fargate 작업 트래픽을 허용하는지 확인합니다.
  • App Mesh를 사용하는 경우, TaskDefinition에 지정된 프록시 구성에 EgressIgnoredPorts2049를 포함하는지 확인합니다.

"ResourceInitializationError: EFS 볼륨 설정 중 EFS 유틸리티 명령을 호출하지 못했습니다: stderr: "fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com"을 확인하지 못했습니다 - 파일 시스템 ID가 올바른지 확인하세요"

이 오류가 발생하는 이유는 다음 중 하나입니다.

  • Fargate 작업이 실행된 가용 영역에 EFS 파일 시스템 마운트 대상이 생성되지 않았거나 사용할 수 없습니다.

  • VPC에 사용자 지정 DNS 서버를 사용하고 있습니다.

  • VPC DNS 호스트 이름이 꺼져 있습니다. DNS 호스트 이름이 기본적으로 꺼져 있습니다.

이 오류를 해결하려면 다음 단계를 따르세요.

"ResourceInitializationError: EFS 볼륨 설정 중 EFS 유틸리티 명령을 호출하지 못했습니다: stderr: b'mount.nfs4: 127.0.0.1:/을 마운트할 때 서버가 액세스를 거부했습니다: 실패한 EFS 유틸리티 명령 실행; 코드: 32"

다음 정책 및 권한에서 파일 시스템 액세스를 거부할 때 이 오류가 발생합니다.

  • 파일 시스템 정책
  • 작업 역할 정책
  • POSIX 파일 시스템 수준 권한

다음 리소스에 정의된 권한으로 EFS 파일 시스템 액세스를 제어할 수 있습니다.

  • 네트워크 액세스 제어 목록

  • 보안 그룹

  • EFS 파일 시스템 정책

  • ECS 작업 역할 IAM 정책

  • POSIX 파일

자세한 내용은 Amazon ECS와 AWS Fargate를 함께 사용할 시의 개발자용 Amazon EFS 사용 가이드 - 2부를 참고하세요.

이 오류를 해결하려면 파일 시스템 정책 또는 ECS 작업 역할 IAM 정책에서 파일 시스템 액세스를 거부하는지 확인하세요. 이 같은 정책에서 액세스를 거부하는 경우 정책을 수정해 파일 시스템에 액세스할 수 있는 권한을 부여합니다. 파일 시스템 정책이 없으면 생성하는 동안 기본적으로 모든 보안 주체에게 파일 시스템 액세스 권한이 부여됩니다.

관련 정보

Amazon EFS 파일 시스템 만들기

마운트 대상 및 보안 그룹 생성 및 관리

Amazon ECS 컨테이너 또는 Fargate에서 실행 중인 작업에 Amazon EFS 파일 시스템을 마운트하려면 어떻게 해야 하나요?

파일 시스템 생성 후 즉시 파일 시스템 마운트가 실패합니다

AWS 공식
AWS 공식업데이트됨 9달 전