AWS Transfer Family를 사용하여 데이터 전송
AWS Transfer Family는 다음 프로토콜을 통해 Amazon EFS 파일 시스템으로 파일을 주고받는 데 사용할 수 있는 완전 관리형 AWS 서비스입니다.
Secure Shell(SSH) File Transfer 프로토콜(SFTP)(AWS Transfer for SFTP)
File Transfer 프로토콜 보안(FTPS)(AWS Transfer for FTPS)
File Transfer 프로토콜(FTP)(AWS Transfer for FTP)
Transfer Family를 사용하면 공급업체, 파트너 또는 고객과 같은 제3자가 인프라를 관리할 필요 없이 전 세계 규모로 지원되는 프로토콜을 통해 파일에 안전하게 액세스할 수 있습니다. 또한 이제 SFTP, FTPS 및 FTP 클라이언트를 사용하여 Windows, macOS 및 Linux 환경에서 EFS 파일 시스템에 쉽게 액세스할 수 있습니다. 이를 통해 NFS 클라이언트 및 액세스 포인트를 넘어 여러 환경의 사용자까지 데이터 접근성을 확장할 수 있습니다.
Transfer Family를 사용하여 Amazon EFS 파일 시스템에서 데이터를 전송하는 것은 다른 클라이언트 사용과 동일한 방식으로 처리됩니다. 자세한 내용은 처리량 모드 및 Amazon EFS 할당량 단원을 참조하세요.
AWS Transfer Family에 대한 자세한 내용은 AWS Transfer Family 사용 설명서를 참조하세요.
참고
2021년 1월 6일 이전에 생성된 퍼블릭 액세스를 허용하는 정책이 적용된 Amazon EFS 파일 시스템을 보유한 AWS 계정의 경우 Amazon EFS와 함께 Transfer Family를 사용할 수 없도록 기본적으로 비활성화되어 있습니다. Transfer Family를 사용하여 파일 시스템에 액세스할 수 있도록 하려면 지원에 문의하세요.
Amazon EFS와 함께 AWS Transfer Family를 사용하기 위한 사전 조건
Transfer Family를 사용하여 Amazon EFS 파일 시스템의 파일에 액세스하려면 구성이 다음 조건을 충족해야 합니다.
Transfer Family 서버와 Amazon EFS 파일 시스템은 같은 AWS 리전에 있습니다.
IAM 정책은 Transfer Family에서 사용하는 IAM 역할에 액세스할 수 있도록 구성되어 있습니다. 자세한 내용은 AWS Transfer Family 사용 설명서의 IAM 역할 및 정책 생성을 참조하세요.
(선택 사항)Transfer Family 서버를 다른 계정에서 소유한 경우 크로스 계정 액세스를 활성화하세요.
파일 시스템 정책이 공개 액세스를 허용하지 않는지 확인하세요. 자세한 내용은 EFS 파일 시스템에 대한 퍼블릭 액세스 차단 단원을 참조하십시오.
크로스 계정 액세스를 활성화하도록 파일 시스템 정책을 수정합니다. 자세한 내용은 Transfer Family에 대한 크로스 계정 액세스 구성 단원을 참조하십시오.
AWS Transfer Family에 대한 EFS 파일 시스템 구성
Transfer Family와 함께 작동하도록 Amazon EFS 파일 시스템을 구성하려면 다음 단계가 필요합니다.
단계 1. Transfer Family 사용자에게 할당된 POSIX ID 목록을 가져옵니다.
단계 2. Transfer Family 사용자에게 할당된 POSIX ID를 사용하여 Transfer Family 사용자가 파일 시스템의 디렉터리에 액세스할 수 있는지 확인합니다.
단계 3. Transfer Family에서 사용하는 IAM 역할에 액세스할 수 있도록 IAM을 구성합니다.
Transfer Family 사용자의 파일 및 디렉터리 권한 설정
Transfer Family 사용자가 EFS 파일 시스템의 필요한 파일 및 디렉터리에 액세스할 수 있는지 확인하세요. Transfer Family 사용자에게 할당된 POSIX ID 목록을 사용하여 디렉터리에 액세스 권한을 할당합니다. 이 예제에서 사용자는 EFS 탑재 지점 아래에 transferFam
이라는 이름이 지정된 디렉터리를 생성합니다. 사용 사례에 따라 디렉터리 생성은 선택 사항입니다. 필요한 경우 EFS 파일 시스템에서 이름과 위치를 선택할 수 있습니다.
Transfer Family의 POSIX 사용자에게 파일 및 디렉터리 권한을 할당하려면
Amazon EC2 인스턴스에 연결합니다. Amazon EFS는 Linux 기반 EC2 인스턴스에 의한 탑재만 지원합니다.
EFS 파일 시스템이 EC2 인스턴스에 아직 탑재되어 있지 않은 경우 이를 탑재합니다. 자세한 내용은 EFS 파일 시스템 탑재 단원을 참조하십시오.
다음 예에서는 EFS 파일 시스템에 디렉터리를 생성하고 해당 그룹을 Transfer Family 사용자의 POSIX 그룹 ID(이 예에서는 1101)로 변경합니다.
다음 명령을 실행해
efs/transferFam
디렉터리를 생성합니다. 실제로는 선택한 파일 시스템의 이름과 위치를 사용할 수 있습니다.[ec2-user@ip-192-0-2-0 ~]$
ls
efs efs-mount-point efs-mount-point2
[ec2-user@ip-192-0-2-0 ~]$
ls efs
[ec2-user@ip-192-0-2-0 ~]$
sudo mkdir efs/transferFam
[ec2-user@ip-192-0-2-0 ~]$
ls -l efs
total 0 drwxr-xr-x 2 root root 6 Jan 6 15:58 transferFam
다음 명령을 사용하여 Transfer Family 사용자에게 할당된 POSIX GID로
efs/transferFam
그룹을 변경합니다.[ec2-user@ip-192-0-2-0 ~]$
sudo chown :1101 efs/transferFam/
변경을 확인합니다.
[ec2-user@ip-192-0-2-0 ~]$
ls -l efs
total 0 drwxr-xr-x 2 root 1101 6 Jan 6 15:58 transferFam
Transfer Family에서 사용하는 IAM 역할에 대한 액세스를 활성화합니다.
Transfer Family에서는 EFS 파일 시스템에 대한 사용자 액세스를 정의하는 리소스 기반 IAM 정책과 IAM 역할을 생성합니다. 자세한 내용은 AWS Transfer Family 사용 설명서의 IAM 역할 및 정책 생성을 참조하세요. IAM 자격 증명 정책 또는 파일 시스템 정책을 사용하여 EFS 파일 시스템에 대한 Transfer Family IAM 역할 액세스 권한을 부여해야 합니다.
다음은 IAM 역할 EFS-role-for-transfer
에 ClientMount
(읽기) 및 ClientWrite
액세스 권한을 부여하는 파일 시스템 정책의 예시입니다.
{ "Version": "2012-10-17", "Id": "efs-policy-wizard-8698b356-4212-4d30-901e-ad2030b57762", "Statement": [ { "Sid": "Grant-transfer-role-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }
파일 시스템 정책 생성에 대한 자세한 내용은 파일 시스템 정책 생성 섹션을 참조하세요. 자격 증명 기반 IAM 정책을 사용하여 EFS 리소스에 대한 액세스를 제한하는 방법에 대한 자세한 내용은 Amazon EFS의 자격 증명 기반 정책 섹션을 참조하세요.
Transfer Family에 대한 크로스 계정 액세스 구성
파일 시스템에 액세스하는 데 사용된 Transfer Family 서버가 다른 AWS 계정에 속하는 경우 해당 계정에 파일 시스템에 대한 액세스 권한을 부여해야 합니다. 또한 파일 시스템 정책은 비공개여야 합니다. 파일 시스템에 대한 퍼블릭 액세스 차단에 대한 자세한 내용은 EFS 파일 시스템에 대한 퍼블릭 액세스 차단 섹션을 참조하세요.
파일 시스템 정책에서 파일 시스템에 다른 AWS 계정 액세스 권한을 부여할 수 있습니다. Amazon EFS 콘솔에서 파일 시스템 정책 편집기의 추가 권한 부여 섹션을 사용하여 부여하려는 파일 시스템 액세스 권한 AWS 계정 및 수준을 지정합니다. 파일 시스템 정책 생성 또는 편집에 대한 자세한 내용은 파일 시스템 정책 생성 섹션을 참조하세요.
계정 ID 또는 계정 Amazon 리소스 이름(ARN)을 사용하여 계정을 지정할 수 있습니다. ARN에 대한 자세한 내용은 IAM 사용 설명서의 IAM ARN 단원을 참조하세요.
다음 예는 파일 시스템에 대한 크로스 계정 액세스 권한을 부여하는 비공개 파일 시스템 정책입니다. 여기에는 다음과 같은 두 개의 명령문이 있습니다.
첫 번째 명령문인
NFS-client-read-write-via-fsmt
는 파일 시스템 탑재 대상을 사용하여 파일 시스템에 액세스하는 NFS 클라이언트에 읽기, 쓰기 및 루트 권한을 부여합니다.-
두 번째 명령문인
Grant-cross-account-access
는 사용자 계정의 이 EFS 파일 시스템에 액세스해야 하는 Transfer Family 서버를 소유한 계정인 AWS 계정 111122223333에 읽기 및 쓰기 권한만 부여합니다.
{ "Statement": [ { "Sid": "NFS-client-read-write-via-fsmt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ], "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } }, { "Sid": "Grant-cross-account-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }
다음 파일 시스템 정책은 Transfer Family에서 사용하는 IAM 역할에 대한 액세스 권한을 부여하는 설명문을 추가합니다.
{ "Statement": [ { "Sid": "NFS-client-read-write-via-fsmt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ], "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } }, { "Sid": "Grant-cross-account-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] }, { "Sid": "Grant-transfer-role-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }