본문 바로가기
AWS 기술/Storage

AWS Transfer Family 를 통해 FTP Client 로 S3 파일 송수신

by 콤텍시스템

AWS EBS, EFS, FSx, S3, Glacier 등등, 사용자의 요구사항에 맞춰진 다양한 스토리지 서비스를 제공합니다.

 

각각의 스토리지 서비스에는 특징이 있는데, 중에서도 특히 가격대 용량비가 뛰어난 S3

리눅스 시스템에 파일 시스템을 쉽게 마운트 있는 사용자나 관리자들의 관심이 상당히 많았습니다.

 

그런데, S3 파일 기반의 스토리지가 아닌 객체 스토리지 서비스이고,

S3 맞는 도구 (S3 Browser ) 이용하거나 AWS CLI 이용해야만 접근하고, 송수신할 있었습니다.

 

(물론, 비공식적인 오픈소스 툴을 통해 리눅스에 마운트하는 방법이 있었지만, 경험상 마운트가 풀려버리는 문제가 자주 발생하여, 운영 환경에 절대 적용하지 않았습니다.)

 

또한, EFS 는 완전관리형 서비스 이기 때문에, aws 아닌 다른 경로로 접근하거나 파일을 송수신하는 것이

S3 의 경우와 마찬가지로 매우 번거로웠습니다.

 

그런데, 비교적 최근에, AWS 에서 사용자가 친숙한 기존의 FTP Client 이용하여 

S3 또는 EFS 쉽게 파일을 송수신 있는 완전관리형 서비스를 출시했습니다.

 

AWS Transfer Family AWS S3 또는 EFS 서비스에

FileZilla 같은 FTP Client 통해 접근할 있도록 도와주는 완전 관리형 서비스 입니다.

 

 

이번 포스팅에서는 SFTP 클라이언트를 이용해 AWS Transfer Family 서비스를 이용하여

S3 버킷에 파일을 송수신하는 빠른 Hands-On  해보겠습니다.

 

 S3 Bucket 생성

FTP Client 접속 테스트를 진행할 임의의 S3 버킷을 생성합니다.

 

IAM 역할 생성

작업을 진행하기 위해 IAM 역할을 생성하는데, 이번 HOL 에서는 AWSS3FullAccess 로 설정합니다.

 

AWS Transfer Server 생성

Transfer Server 콘솔로 이동하고 [서버 생성] 을 클릭합니다.

 

프로토콜 선택 화면에서 [SFTP] 를 선택합니다.

(FTPS 와 FTP 도 지원합니다.)

 

자격증명 공급자 선택 메뉴에서는 [서비스 관리형] 을 선택합니다.

[AWS Directory Service] 또는 [사용자 지정] 을 통해 접속할 계정을 연동할 수 있습니다.

엔드포인트 구성 메뉴에서 원활한 테스트를 위해 [공개적으로 액세스 가능]을 선택합니다.

[VPC 호스팅] 을 선택하면, 보안 그룹을 통해 접속 가능한 네트워크를 제어할 수 있습니다.

 

도메인 선택 화면은 Transfer Family 를 통해 접근할 스토리지 서비스를 지정할 수 있습니다.

이번 Hands on Lab 에서는 [Amazon S3] 를 선택합니다.

 

추가 세부정보 구성 화면에서는 로깅, 암호화 알고리즘 옵션, 그리고 RSA Private 키 사전 등록을 진행할 수 있습니다.

화면과 같이 [새 역할 생성], [TransferSecurityPolicy-2020-06] 를 선택합니다.

기존 SFTP 서버에서 마이그레이션 하지 않으므로, 서버 호스트키는 공란으로 비워둡니다.

 

마지막으로 태그를 설정할 수 있습니다.

 

검토 및 생성 화면에서 설정을 확인하고 수정할 수 있습니다.

 

정상적으로 Transfer Server가 생성되었습니다.

 

사용자 추가

Transfer 서버를 통해 접속할 사용자를 추가하고, 저장소로 접근할 수 있도록 설정합니다.

사용자 이름에는 FTP Client 에서 사용할 ID 를 입력합니다.

역할은 IAM 서비스에서 S3 에 접근할 수 있도록 사전에 구성한 테스트 역할을 이용합니다.

정책을 설정하지 않을 경우, 기본적으로 역할이 가지고 있는 범위만큼 Bucket 에 접근할 수 있습니다.

따라서, 사용자가 접근할 수 있는 버킷을 사전에 정의하는 것을 강력히 권장합니다.

특히, 특정 버킷을 사용자 홈디렉토리로 설정할 수 있습니다.

 

 

AWS Transfer Family 는 ID / Password 방식의 인증을 지원하지 않습니다.

접근할 클라이언트의 SSH PublicKey 등록을 통해 접근할 수 있습니다.

 

마지막으로, 사용자에 대해 태그를 설정할 수 있습니다.

 

FileZilla FTP Client 접속 테스트

보편적으로 많이 사용하는 SFTP 지원 클라이언트인 파일질라를 이용하여, 호스트를 등록하고, 접속해보십시오.

 

Transfer Family 콘솔 Transfer Server 를 클릭하면, 호스트의 dns 를 확인할 수 있으므로 입력하세요.

로그온 유형은 키 파일을 통해 접속해야하며, PrivateKey 파일을 선택하여 인증에 사용합니다.

 

클라이언트의 네트워크 상황에 따라 속도가 차이나겠지만,

대략적인 확인을 위해 5GB 가량의 ISO 파일을 업로드 진행한 결과, 3.5 MiB/s 가량의 속도로 측정됩니다.

 

마무리

AWS Transfer Family 는 일반적인 사용자나 관리자가 S3 또는 EFS 에 쉽게 접근할 수 있도록 지원해주는 서비스입니다.

이를 활용하면, 내부 및 타사와의 파일 공유 및 송수신에 유용하게 사용할 수 있을 것입니다.

 

참조 링크 https://docs.aws.amazon.com/ko_kr/transfer/latest/userguide/getting-started.html

댓글