Amazon EFS 볼륨 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EFS 볼륨

Amazon Elastic File System(Amazon EFS)은 AWS Batch 작업에 사용할 수 있는 간단하고 확장 가능한 파일 스토리지를 제공합니다. Amazon 에서는 EFS스토리지 용량이 탄력적입니다. 파일을 추가 및 제거하면 스토리지 용량의 규모가 자동으로 조정됩니다. 애플리케이션에서 스토리지가 필요할 때 필요한 만큼 확보할 수 있습니다.

AWS Batch 와 함께 Amazon EFS 파일 시스템을 사용하여 컨테이너 인스턴스 플릿 전체에서 파일 시스템 데이터를 내보낼 수 있습니다. 이렇게 하면 작업이 동일한 영구 스토리지에 액세스할 수 있습니다. 그러나 Docker 데몬이 시작되기 전에 Amazon EFS 파일 시스템을 탑재AMI하도록 컨테이너 인스턴스를 구성해야 합니다. 또한 작업 정의는 컨테이너 인스턴스에서 볼륨 마운트를 참조하여 파일 시스템을 사용해야 합니다. 다음 섹션에서는 EFS에서 Amazon 사용을 시작하는 데 도움이 됩니다 AWS Batch.

Amazon EFS 볼륨 고려 사항

Amazon EFS 볼륨을 사용할 때는 다음을 고려해야 합니다.

  • EC2 리소스를 사용하는 작업의 경우 Amazon EFS 파일 시스템 지원이 컨테이너 에이전트 AMI 버전 1.35.0의 Amazon ECS 최적화 버전을 20191212 사용한 퍼블릭 미리 보기로 추가되었습니다. 그러나 Amazon EFS 파일 시스템 지원은 Amazon EFS 액세스 포인트 및 IAM 권한 부여 기능이 포함된 컨테이너 에이전트 AMI 버전 1.38.0의 Amazon ECS 최적화 버전을 20200319 통해 일반 가용성을 시작했습니다. 이러한 기능을 활용하려면 Amazon ECS 최적화 AMI 버전 20200319 이상을 사용하는 것이 좋습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 최적화 AMI 버전을 참조하세요.

    참고

    자체 를 생성하는 경우 컨테이너 에이전트 1.38.0 이상, ecs-init 버전 1.38.0-1 이상을 사용하고 Amazon EC2 인스턴스에서 다음 명령을 실행AMI해야 합니다. 이 모든 것은 Amazon ECS 볼륨 플러그인을 활성화하기 위한 것입니다. 이 명령은 기본 이미지로 Amazon Linux 2 또는 Amazon Linux를 사용하는지에 따라 달라집니다.

    Amazon Linux 2
    $ yum install amazon-efs-utils systemctl enable --now amazon-ecs-volume-plugin
    Amazon Linux
    $ yum install amazon-efs-utils sudo shutdown -r now
  • Fargate 리소스를 사용하는 작업의 경우 플랫폼 버전 1.4.0 이상을 사용할 때 Amazon EFS 파일 시스템 지원이 추가되었습니다. 자세한 내용을 알아보려면 Amazon Elastic Container Service 개발자 안내서AWS Fargate 플랫폼 버전을 참조하세요.

  • Fargate 리소스를 사용하여 작업에서 Amazon EFS 볼륨을 지정할 때 Fargate는 Amazon EFS 볼륨 관리를 담당하는 감독자 컨테이너를 생성합니다. 감독자 컨테이너는 소량의 작업 메모리를 사용합니다. 감독자 컨테이너는 작업 메타데이터 버전 4 엔드포인트를 쿼리할 때 표시됩니다. 자세한 정보는 AWS Fargate에 대한 Amazon Elastic Container Service 사용 설명서태스크 메타데이터 엔드포인트 버전 4를 참조하세요.

Amazon EFS 액세스 포인트 사용

Amazon EFS 액세스 포인트는 공유 데이터 세트에 대한 애플리케이션 액세스를 관리하는 데 도움이 되는 EFS 파일 시스템의 애플리케이션별 진입점입니다. Amazon EFS 액세스 포인트 및 액세스 포인트에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 Amazon Amazon Elastic File System 사용 설명서의 Amazon EFS 액세스 포인트 작업을 참조하세요.

액세스 포인트는 액세스 포인트를 통해 이루어진 모든 파일 시스템 요청에 대해 사용자 POSIX 그룹을 포함한 사용자 자격 증명을 적용할 수 있습니다. 또한 클라이언트가 지정된 디렉터리 또는 하위 디렉터리의 데이터에만 액세스할 수 있도록 파일 시스템에 대해 다른 루트 디렉터리를 적용할 수 있습니다.

참고

EFS 액세스 포인트를 생성할 때 루트 디렉터리로 사용할 경로를 파일 시스템에 지정합니다. AWS Batch 작업 정의에 액세스 포인트 ID가 있는 EFS 파일 시스템을 참조할 때는 루트 디렉터리를 생략하거나 로 설정해야 합니다. / 이 경우 EFS 액세스 포인트에 설정된 경로가 적용됩니다.

AWS Batch 작업 IAM 역할을 사용하여 특정 애플리케이션에서 특정 액세스 포인트를 사용하도록 적용할 수 있습니다. IAM 정책을 액세스 포인트와 결합하면 애플리케이션의 특정 데이터 세트에 대한 보안 액세스를 쉽게 제공할 수 있습니다. 이 기능은 작업 기능에 Amazon ECS IAM 역할을 사용합니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서IAM 작업에 대한 역할을 참조하세요.

작업 정의에 Amazon EFS 파일 시스템 지정

컨테이너에 Amazon EFS 파일 시스템 볼륨을 사용하려면 작업 정의에 볼륨 및 마운트 포인트 구성을 지정해야 합니다. 다음 작업 정의 JSON 조각은 컨테이너의 volumesmountPoints 객체에 대한 구문을 보여줍니다.

{ "containerProperties": [ { "image": "amazonlinux:2", "command": [ "ls", "-la", "/mount/efs" ], "mountPoints": [ { "sourceVolume": "myEfsVolume", "containerPath": "/mount/efs", "readOnly": true } ], "volumes": [ { "name": "myEfsVolume", "efsVolumeConfiguration": { "fileSystemId": "fs-12345678", "rootDirectory": "/path/to/my/data", "transitEncryption": "ENABLED", "transitEncryptionPort": integer, "authorizationConfig": { "accessPointId": "fsap-1234567890abcdef1", "iam": "ENABLED" } } } ] } ] }
efsVolumeConfiguration

유형: 객체

필수 여부: 아니요

이 파라미터는 Amazon EFS 볼륨을 사용할 때 지정됩니다.

fileSystemId

유형: 문자열

필수 항목 여부: 예

사용할 Amazon EFS 파일 시스템 ID입니다.

rootDirectory

유형: 문자열

필수 항목 여부: 아니요

호스트 내의 루트 디렉터리로 탑재할 Amazon EFS 파일 시스템 내의 디렉터리입니다. 이 파라미터를 생략하면 Amazon EFS 볼륨의 루트가 사용됩니다. /를 지정하면 이 파라미터를 생략하는 것과 동일한 효과가 있습니다. 이름의 최대 길이는 4.096자입니다.

중요

EFS 액세스 포인트가 에 지정된 경우 authorizationConfig루트 디렉터리 파라미터를 생략하거나 로 설정해야 합니다/. 이렇게 하면 EFS 액세스 포인트에 설정된 경로가 적용됩니다.

transitEncryption

유형: 문자열

유효한 값: ENABLED | DISABLED

필수 여부: 아니요

AWS Batch 호스트와 Amazon EFS 서버 간에 전송 중인 Amazon EFS 데이터에 대해 암호화를 활성화할지 여부를 결정합니다. Amazon EFS IAM 권한 부여를 사용하는 경우 전송 암호화를 활성화해야 합니다. 이 파라미터가 누락되면 DISABLED의 기본값이 사용됩니다. 자세한 내용을 알아보려면 Amazon Elastic File System 사용자 설명서전송 중 데이터 암호화를 참조하세요.

transitEncryptionPort

유형: 정수

필수 항목 여부: 아니요

AWS Batch 호스트와 Amazon EFS 서버 간에 암호화된 데이터를 전송할 때 사용할 포트입니다. 전송 암호화 포트를 지정하지 않으면 Amazon EFS 탑재 도우미가 사용하는 포트 선택 전략을 사용합니다. 이 값은 0~65,535여야 합니다. 자세한 내용은 Amazon Elastic File System 사용 설명서EFS 탑재 도우미를 참조하세요.

authorizationConfig

유형: 객체

필수 여부: 아니요

Amazon EFS 파일 시스템에 대한 권한 부여 구성 세부 정보입니다.

accessPointId

유형: 문자열

필수 항목 여부: 아니요

사용할 액세스 포인트 ID입니다. 액세스 포인트를 지정하는 경우 efsVolumeConfiguration의 루트 디렉터리 값을 생략하거나 /로 설정해야 합니다. 이렇게 하면 EFS 액세스 포인트에 설정된 경로가 적용됩니다. 액세스 포인트를 사용하는 경우 EFSVolumeConfiguration에서 전송 중 데이터 암호화를 활성화해야 합니다. 자세한 내용은 Amazon Elastic File System 사용 설명서의 Amazon EFS Access Points 작업을 참조하세요. Amazon Elastic File System

iam

유형: 문자열

유효한 값: ENABLED | DISABLED

필수 여부: 아니요

Amazon EFS 파일 시스템을 탑재할 때 AWS Batch 작업 정의에 정의된 작업 IAM 역할을 사용할지 여부를 결정합니다. 활성화된 경우 EFSVolumeConfiguration에서 전송 중 데이터 암호화를 활성화해야 합니다. 이 파라미터가 누락되면 DISABLED의 기본값이 사용됩니다. IAM 실행 역할에 대한 자세한 내용은 섹션을 참조하세요AWS Batch IAM 실행 역할.