

# Amazon S3 Files 액세스 구성
<a name="configuration-filesystem-s3files"></a>

Amazon S3 Files는 모든 AWS 컴퓨팅 리소스를 Amazon S3의 데이터에 직접 연결하는 공유 파일 시스템을 제공합니다. Amazon S3 Files를 사용하면 로컬 탑재 경로에서 읽기 및 쓰기와 같은 표준 파일 시스템 작업을 통해 Amazon S3 객체를 파일로 액세스할 수 있습니다. [Amazon S3 Files](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files.html)에 대해 자세히 알아보세요.

**Topics**
+ [사전 조건 및 설정](#configuration-filesystem-s3files-setup)
+ [실행 역할 및 사용자 권한](#configuration-filesystem-s3files-permissions)
+ [파일 시스템에 연결(콘솔)](#configuration-filesystem-s3files-config)

## 사전 조건 및 설정
<a name="configuration-filesystem-s3files-setup"></a>

Lambda 함수로 Amazon S3 Files를 설정하기 전에 다음 조건을 갖추었는지 확인합니다.
+ Lambda 함수와 동일한 계정 및 AWS 리전에서 사용 가능한 상태의 Amazon S3 파일 시스템 및 탑재 대상.
+ 탑재 대상과 동일한 VPC에 있는 Lambda 함수. 함수가 배포되는 각 서브넷에 탑재 대상이 있어야 합니다.
+ Lambda 함수와 탑재 대상 사이에서 NFS 트래픽(포트 2049)을 허용하는 보안 그룹. [보안 그룹 구성에 대해 자세히 알아봅니다](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html#s3-files-prereq-security-groups).

자세한 내용은 *Amazon S3 사용 설명서*에서 다음 주제를 참조하세요.
+ [Amazon S3 Files 시작하기](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-getting-started.html)
+ [Amazon S3 Files 사전 조건](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html)
+ [Amazon S3 Files 모범 사례](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-best-practices.html)

## 실행 역할 및 사용자 권한
<a name="configuration-filesystem-s3files-permissions"></a>

Amazon S3 Files 파일 시스템에 액세스하려면 함수의 실행 역할에 다음 권한이 있어야 합니다.

**실행 역할 권한**
+ **s3files:ClientMount** – 파일 시스템을 탑재하는 데 필요합니다.
+ **s3files:ClientWrite** – 읽기-쓰기 액세스에 필요합니다. 읽기 전용 연결에는 필요하지 않습니다.

이러한 권한은 [AmazonS3FilesClientReadWriteAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FilesClientReadWriteAccess.html) 관리형 정책에 포함되어 있습니다. 또한 실행 역할에는 [파일 시스템의 VPC에 연결하는 데 필요한 권한](configuration-vpc.md#configuration-vpc-permissions)도 있어야 합니다.

**참고**  
Amazon S3 Files는 Amazon S3에서 직접 읽어 처리량을 최적화합니다. Amazon S3에서의 직접 읽기는 512MB 이상의 메모리로 구성된 함수에서만 지원됩니다.

Amazon S3에서 직접 읽으려면 함수에 다음 권한도 필요합니다.
+ **s3:GetObject**
+ **s3:GetObjectVersion**

필요한 권한에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [IAM permissions for Amazon S3 Files](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html#s3-files-prereq-iam)를 참조하세요.

콘솔에서 파일 시스템을 구성할 때 Lambda는 사용자 권한을 사용하여 탑재 대상 및 액세스 포인트를 확인합니다. 파일 시스템에 연결되도록 함수를 구성하려면 사용자에게 다음 권한이 필요합니다.

**사용자 권한**
+ **s3files:ListFileSystems**
+ **s3files:ListAccessPoints**
+ **s3files:GetFileSystem**
+ **s3files:GetAccessPoint**
+ **s3files:CreateAccessPoint** – 콘솔에서 함수에 파일 시스템을 연결하는 경우에 필요합니다.

다음 예제 정책에서는 읽기-쓰기 액세스 권한이 있는 Amazon S3 파일 시스템을 탑재하고 Amazon S3에서 직접 읽기 위한 권한을 함수의 실행 역할에 부여합니다.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "S3FilesLambdaAccess",
            "Effect": "Allow",
            "Action": [
                "s3files:ClientMount",
                "s3files:ClientWrite"
            ],
            "Resource": "*"
        },
        {
            "Sid": "S3DirectRead",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::{{bucket-name}}/*"
        },
        {
            "Sid": "S3FilesConsoleSetup",
            "Effect": "Allow",
            "Action": [
                "s3files:ListFileSystems",
                "s3files:ListAccessPoints",
                "s3files:GetFileSystem",
                "s3files:GetAccessPoint",
                "s3files:CreateAccessPoint"
            ],
            "Resource": "*"
        }
    ]
}
```

## 파일 시스템에 연결(콘솔)
<a name="configuration-filesystem-s3files-config"></a>

함수는 VPC의 로컬 네트워크를 통해 파일 시스템에 연결됩니다. 함수가 연결되는 서브넷은 파일 시스템의 마운트 지점을 포함하는 동일한 서브넷이거나 NFS 트래픽(포트 2049)을 파일 시스템으로 라우팅할 수 있는 동일한 가용 영역의 서브넷일 수 있습니다.

**참고**  
함수가 VPC에 아직 연결되어 있지 않은 경우 [Lambda 함수에 Amazon VPC의 리소스에 대한 액세스 권한 부여](configuration-vpc.md) 단원을 참조하세요.

**S3 Files 액세스를 구성하는 방법**

1. Lambda 콘솔의 [함수 페이지](https://console.aws.amazon.com/lambda/home#/functions)를 엽니다.

1. 함수를 선택합니다.

1. **구성**을 선택한 다음 **파일 시스템**을 선택하세요.

1. **파일 시스템 추가**를 선택하거나 기존 구성을 수정하려면 **편집**을 선택하세요.

1. **S3 Files**를 선택하세요.

1. 다음 속성을 구성합니다.
   + **S3 파일 시스템** - 드롭다운에서 파일 시스템을 선택합니다.
   + **액세스 포인트**(선택 사항) - 액세스 포인트를 선택합니다. 파일 시스템에 액세스 포인트가 없는 경우 Lambda는 저장할 때 액세스 포인트를 자동으로 생성합니다(UID/GID 1000:1000, 루트 디렉터리 `/lambda`, 권한 755). 액세스 포인트가 있는 경우 하나의 액세스 포인트를 선택해야 합니다.
   + **로컬 마운트 경로** - 파일 시스템이 Lambda 함수에서 마운트되는 위치로, `/mnt/`로 시작합니다.

1. **저장**을 선택합니다.

다음에 Lambda 함수를 간접 호출할 때 파일 시스템이 연결됩니다.