

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

# Amazon S3 파일 볼륨
<a name="s3files-volumes"></a>

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

S3 파일 볼륨을 사용하려면 컴퓨팅 환경과 AWS Batch 동일한 VPC에 구성된 S3 파일 시스템 및 탑재 대상이 필요합니다. 버킷 구성, IAM 역할, 파일 시스템 생성 및 탑재 대상을 포함한 전체 설정 지침은 Amazon [S3 사용 설명서의 S3 파일 사전 조건](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html) 및 *Amazon Elastic Container Service 개발자 안내서*의 [Amazon ECS용 S3 파일 구성을](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/s3files-volumes.html) 참조하세요. *Amazon S3 * 

## Amazon S3 파일 볼륨 고려 사항
<a name="s3files-volume-considerations"></a>

S3 파일 볼륨을 사용할 때는 다음 사항을 고려하세요.
+ 
**중요**  
S3 Files는 현재 Amazon EC2 시작 유형에서 지원되지 않습니다. 작업 정의에서 S3 파일 시스템을 구성하고 Amazon EC2 시작 유형에서 실행하려고 하면 시작 시 작업이 실패합니다. Amazon EC2 시작 유형 지원은 향후 릴리스에 계획되어 있습니다.
+ 전송 암호화는 S3 파일 볼륨에 대해 항상 활성화됩니다. 선택적으로 `transitEncryptionPort` 파라미터를 사용하여 포트를 지정할 수 있습니다. 기본 포트는 `2049`입니다.
+ 작업 역할(Amazon ECS 작업 역할에 해당)에는 파일 시스템에 대한 `s3files:ClientMount` 및 `s3files:ClientWrite` 권한이 있어야 합니다. Amazon S3에서 직접 읽기의 경우 역할에는 버킷에 대한 `s3:GetObject``s3:GetObjectVersion`, 및 `s3:ListBucket` 권한도 필요합니다.
+ S3 파일 시스템 탑재 대상은 동일한 VPC에 있어야 하며 컴퓨팅 환경의 서브넷에서 연결할 수 있어야 합니다 AWS Batch . 탑재 대상 보안 그룹은 컴퓨팅 환경 보안 그룹의 인바운드 NFS 트래픽(TCP 포트 2049)을 허용해야 합니다.

## Amazon S3 파일 액세스 포인트 사용
<a name="s3files-volume-accesspoints"></a>

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

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

액세스 포인트 생성 및 관리에 대한 자세한 내용은 Amazon [ S3 사용 설명서의 S3 파일 시스템의 액세스 포인트 생성을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-access-points-creating.html) 참조하세요. *Amazon S3 * 파일 시스템 정책을 사용하여 액세스 포인트 격리를 적용하는 방법에 대한 자세한 내용은 Amazon [ S3 사용 설명서의 IAM에서 S3 파일이 작동하는 방법을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-security-iam.html) 참조하세요. *Amazon S3 *

## 작업 정의에서 Amazon S3 파일 시스템 지정
<a name="specify-s3files-config"></a>

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

```
{
    "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 파일 시스템의 액세스 포인트 생성을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-access-points-creating.html) 참조하세요. *Amazon S3 *

## AWS Batch 및 Amazon EKS에서 S3 파일 볼륨 사용
<a name="s3files-eks-volumes"></a>

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 파일 시스템 탑재](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-mounting-eks.html)를 참조하세요. *Amazon S3 * 전체 볼륨 파라미터 참조는 *AWS Batch API* 참조의 [EksVolume](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksVolume.html)을 참조하세요.