View a markdown version of this page

Amazon S3 파일 볼륨 - AWS Batch

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

Amazon S3 파일 볼륨

S3 파일은 Amazon Simple Storage Service(Amazon S3) 버킷에 저장된 데이터에 대한 직접 파일 시스템 액세스를 제공합니다. 를 사용하면 작업 정의에서 S3 파일 볼륨을 정의하여 컨테이너가 표준 파일 작업을 사용하여 Amazon S3 데이터를 읽고 쓸 수 있도록 AWS Batch할 수 있습니다.

S3 파일 볼륨을 사용하려면 컴퓨팅 환경과 AWS Batch 동일한 VPC에 구성된 S3 파일 시스템 및 탑재 대상이 필요합니다. 버킷 구성, IAM 역할, 파일 시스템 생성 및 탑재 대상을 포함한 전체 설정 지침은 Amazon S3 사용 설명서의 S3 파일 사전 조건Amazon Elastic Container Service 개발자 안내서Amazon ECS용 S3 파일 구성을 참조하세요. Amazon S3

Amazon S3 파일 볼륨 고려 사항

S3 파일 볼륨을 사용할 때는 다음 사항을 고려하세요.

  • 중요

    S3 Files는 현재 Amazon EC2 시작 유형에서 지원되지 않습니다. 작업 정의에서 S3 파일 시스템을 구성하고 Amazon EC2 시작 유형에서 실행하려고 하면 시작 시 작업이 실패합니다. Amazon EC2 시작 유형 지원은 향후 릴리스에 계획되어 있습니다.

  • 전송 암호화는 S3 파일 볼륨에 대해 항상 활성화됩니다. 선택적으로 transitEncryptionPort 파라미터를 사용하여 포트를 지정할 수 있습니다. 기본 포트는 2049입니다.

  • 작업 역할(Amazon ECS 작업 역할에 해당)에는 파일 시스템에 대한 s3files:ClientMounts3files:ClientWrite 권한이 있어야 합니다. Amazon S3에서 직접 읽기의 경우 역할에는 버킷에 대한 s3:GetObjects3:GetObjectVersion, 및 s3:ListBucket 권한도 필요합니다.

  • S3 파일 시스템 탑재 대상은 동일한 VPC에 있어야 하며 컴퓨팅 환경의 서브넷에서 연결할 수 있어야 합니다 AWS Batch . 탑재 대상 보안 그룹은 컴퓨팅 환경 보안 그룹의 인바운드 NFS 트래픽(TCP 포트 2049)을 허용해야 합니다.

Amazon S3 파일 액세스 포인트 사용

S3 파일 액세스 포인트는 모든 파일 시스템 요청에 대해 POSIX 사용자 ID 및 루트 디렉터리를 적용하는 파일 시스템의 애플리케이션별 진입점입니다. 각 작업이 공유 파일 시스템 내의 자체 디렉터리에만 액세스할 수 있도록 액세스 포인트를 사용하여 테넌트를 격리할 수 있습니다.

참고

accessPointArn 파라미터를 사용하여 액세스 포인트를 지정할 때를 생략하거나 로 설정해야 rootDirectory 합니다/. 액세스 포인트는 자체 루트 디렉터리 경로를 적용합니다.

액세스 포인트 생성 및 관리에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 파일 시스템의 액세스 포인트 생성을 참조하세요. Amazon S3 파일 시스템 정책을 사용하여 액세스 포인트 격리를 적용하는 방법에 대한 자세한 내용은 Amazon S3 사용 설명서의 IAM에서 S3 파일이 작동하는 방법을 참조하세요. Amazon S3

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

컨테이너에 S3 파일 볼륨을 사용하려면 작업 정의에서 볼륨 및 탑재 지점 구성을 지정해야 합니다. 다음 작업 정의 JSON 코드 조각은 컨테이너에 사용할 volumesmountPoints 객체의 구문을 나타냅니다.

{ "ecsProperties": { "taskProperties": [ { ..., "taskRoleArn": "arn:aws:iam::<account>:role/<job-role-name>", "containers": [ { ..., "mountPoints": [ { "sourceVolume": "myS3FilesVolume", "containerPath": "/mnt/s3data", "readOnly": false } ] } ], "volumes": [ { "name": "myS3FilesVolume", "s3filesVolumeConfiguration": { "fileSystemArn": "arn:aws:s3files:<region>:<account>:file-system/<fs-id>", "rootDirectory": "/keypath/in/s3" } } ] } ] } }
s3filesVolumeConfiguration

유형: 객체

필수 여부: 아니요

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

fileSystemArn

유형: 문자열

필수 항목 여부: 예

사용할 S3 파일 시스템의 전체 ARN입니다.

rootDirectory

유형: 문자열

필수 항목 여부: 아니요

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

중요

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

transitEncryptionPort

유형: 정수

필수 항목 여부: 아니요

AWS Batch 호스트와 S3 파일 서버 간에 암호화된 데이터를 전송할 때 사용할 포트입니다. 전송 암호화 포트를 지정하지 않으면의 기본값2049이 사용됩니다. 이 값은 0~65,535여야 합니다. 전송 암호화는 S3 파일 볼륨에 대해 항상 활성화됩니다.

accessPointArn

유형: 문자열

필수 항목 여부: 아니요

사용할 S3 파일 액세스 포인트의 ARN입니다. 액세스 포인트를 지정하는 경우 s3filesVolumeConfiguration의 루트 디렉터리 값을 생략하거나 /로 설정해야 합니다. 이렇게 하면 액세스 포인트에 설정된 경로가 적용됩니다. 액세스 포인트는 POSIX 사용자 자격 증명을 적용하고 파일 시스템 내의 특정 디렉터리에 대한 액세스를 제한할 수 있습니다. 자세한 내용은 Amazon S3 사용 설명서의 S3 파일 시스템의 액세스 포인트 생성을 참조하세요. Amazon S3

AWS Batch 및 Amazon EKS에서 S3 파일 볼륨 사용

Amazon EKS 리소스를 사용하는 작업의 경우는 EKS 작업 정의 볼륨 구성persistentVolumeClaim의를 통해 S3 파일 볼륨을 AWS Batch 지원합니다. 작업 정의에서 참조하기 전에 Amazon EKS 클러스터에서 영구 볼륨 및 영구 볼륨 클레임을 미리 생성해야 합니다.

다음 작업 정의 코드 조각은 S3 Files 영구 볼륨 클레임을 참조하는 방법을 보여줍니다.

{ "eksProperties": { "podProperties": { ..., "containers": [ { ..., "volumeMounts": [ { "name": "s3files-vol", "mountPath": "/mnt/s3data" } ] } ], "volumes": [ { "name": "s3files-vol", "persistentVolumeClaim": { "claimName": "<s3files-pvc-name>" } } ] } } }

Amazon EKS를 사용하여 S3 파일을 설정하는 방법에 대한 자세한 내용은 Amazon S3 사용 설명서의 Amazon EKS에 S3 파일 시스템 탑재를 참조하세요. Amazon S3 전체 볼륨 파라미터 참조는 AWS Batch API 참조의 EksVolume을 참조하세요.