Amazon Web Services 한국 블로그

AWS Transfer Family, SFTP외 FTP 및 FTPS 추가 지원

AWS Transfer for SFTP는 2018년 11월에 출시된 완전관리형 서비스로, SFTP(Secure File Transfer Protocol)를 사용하여 Amazon S3의 파일을 직접 송신하고 수신할 수 있는 기능을 제공합니다.

이제 FTPS 및 FTP에 대한 지원을 추가하는 서비스 확장이 발표됨에 따라 기존의 AWS Transfer for SFTP 서비스에 더해 AWS에서 FTPS(File Transfer Protocol over SSL) 및 FTP 워크로드를 손쉽게 마이그레이션하고 안전하게 실행할 수 있게 됩니다. Amazon S3에 대한 SFTP, FTPS 및 FTP 기반의 전송 지원과 함께, AWS Transfer for SFTP, FTPS 및 FTP를 총칭하는 “AWS Transfer 패밀리”도 발표됩니다.

일부 소프트웨어 아카이브 및 과학 연구 애플리케이션에서는 FTP를 사용하여 소프트웨어 아티팩트 또는 퍼블릭 데이터 세트를 배포하며 CRM, ERP 및 공급망 애플리케이션에서는 FTPS를 사용하여 민감한 데이터를 전송합니다. 기존 애플리케이션의 다수는 FTP 또는 FTPS에서 SFTP로 전환할 수 없는데 기존 애플리케이션 및 프로세스를 변경해야 하기 때문입니다. 특히 타사 제품이 포함된 애플리케이션의 경우 비현실적이거나 실행이 불가능한 경우가 많습니다. 고객들은 기존 통합 및 최종 사용자에 미치는 영향 없이 파일 전송을 마이그레이션할 수 있는 쉽고 안전한 방법을 찾고 있습니다. AWS Transfer for FTPS와 AWS Transfer for FTP는 이러한 이유로 출시되었습니다.

SFTP와 FTPS/FTP의 기본적인 차이

연습을 시작하기 전에 SFTP와 FTPS/FTP 간의 차이점을 알아봅시다. 이러한 프로토콜은 실제로 다른 프로토콜이지만 “파일 전송”과 유사하게 작동합니다.

  • SFTP(Secure File Transfer Protocol) – IETF(Internet Engineering Task Force)에서 SSH 2.0의 확장 버전으로 정의한 프로토콜로, SSH를 통한 파일 전송과 TLS(Transport Layer Security) 및 VPN 애플리케이션에서의 사용을 가능하게 합니다.
  • FTP(File Transfer Protocol) – 원래 RFC114로 정의되었고 TCP/IP 기반의 RFC765RFC959로 대체되었습니다.
  • FTPS(File Transfer Protocol over SSL/TLS) – SSL/TLS로 FTP 통신을 암호화하는 데 사용됩니다.

지금까지 여러 프로토콜을 필요로 하는 고객은 SFTP용 서비스를 사용했거나 이 출시를 기다려 왔습니다. 이번 발표로 이 3가지 프로토콜을 사용하는 고객은 마이그레이션 후 AWS 서비스를 활용하여 전체 파일 전송 요구 사항을 해결할 수 있습니다. 이 새로운 프로토콜을 사용하면 SFTP에 제공되었던 동일한 옵션을 FTPS 및 FTP에 사용하여 액세스를 보호하는 동시에 데이터에 대한 접근성을 개선할 수 있습니다. IAM 역할 및 정책, S3용 논리 디렉터리보안 그룹 같은 액세스 제어 기능을 사용할 수 있습니다.

실습해보기

이 실습에서는 완전관리형 FTP 서버 생성을 위한 단계별 지침을 제공합니다. FTP 서버는 AWS Direct Connect 또는 VPN을 포함한 VPC 안에서만 액세스할 수 있습니다. 인터넷을 통해 액세스해야 하는 경우 FTPS를 사용할 수 있습니다.

AWS Transfer 패밀리 콘솔에 액세스하면 새 AWS 콘솔 페이지가 표시됩니다. [서버 생성]을 클릭하여 시작합니다.

이제 SFTP, FTPSFTP의 3가지 프로토콜을 선택할 수 있습니다.

이 예에서는 FTP를 선택하여 연습을 시작하겠습니다. [FTP] 확인란을 클릭하고 SFTP 확인란을 선택 취소합니다. 두 프로토콜을 동시에 할당해도 되지만 이 단계에서는 FTP 서버를 새 기능으로 생성하겠습니다.

[다음]을 클릭합니다.

이제 [ID 공급자]를 할당해야 합니다. ID 공급자는 FTP 서버에 로그온할 때 인증에 사용됩니다. FTPS와 FTP의 경우 Amazon API Gateway로 제공되는 [사용자 정의]만 지원됩니다. API를 호출하려면 API Gateway 엔드포인트인 동시에 IAM 역할인 호출 URL을 생성해야 합니다. 여기의 지침을 참조하여 CloudFormation과 yaml 템플릿을 사용하여 호출 URL을 생성할 수 있습니다. SFTP에 대해서만 활성화된 서버의 경우 [서비스 관리형] 인증을 사용하여 서비스 내에서 ID를 저장하고 관리하도록 선택할 수도 있습니다.

다음을 클릭하면 [엔드포인트 구성] 대화 상자가 나타납니다.

VPC만 FTP의 VPC 호스팅 엔드포인트로 선택할 수 있습니다. 인터넷에서 액세스해야 하는 경우 보안을 위해 FTP 대신 FTPS를 선택해야 합니다. 그런 다음 엔드포인트를 호스팅할 VPC와 서브넷을 선택합니다.

다음을 클릭하면 다음 대화 상자가 나타납니다. 다음 단계는 선택 사항입니다. IAM 역할을 할당하여 CloudWatch 로깅을 활성화할 수 있습니다. 위의 CloudFormation 템플릿으로 생성한 IAM 역할을 사용하거나 다른 역할을 사용할 수 있습니다.

SFTP에 대한 섹션인 [서버 호스트 키] 섹션은 건너뜁니다.

적절한 태그를 할당하고 [다음]을 클릭합니다. 그런 다음 [서버 생성]을 클릭합니다. FTP 서버가 생성되었습니다.

[서버 ID]를 클릭하면 FTP 서버의 세부 정보가 표시됩니다.

이제 FTP 서버를 테스트할 시간입니다!

[작업]에서 [테스트]를 선택합니다. “myuser”를 [사용자 이름]으로 입력하고 “MySuperSecretPassword”를 [암호]로 입력합니다.

FTP 서버가 ID 공급자와 성공적으로 통합되면 HTTP 200 상태 코드가 반환됩니다.

이제 ID 공급자가 모두 올바르게 통합되었으니 ftp 클라이언트를 사용하여 테스트합니다.
FTP 클라이언트를 사용하여 기존 Amazon S3 버킷에 대해 cd/ls/put/get/rm 작업을 수행할 수 있습니다. 이 연습에서는 Amazon EC2를 사용합니다. 위에서 지정한 서브넷에 인스턴스가 없으면 인스턴스를 생성하고 lftp 클라이언트를 설치합니다.

sudo yum install lftp

서버에 연결하려면 FTP 서버의 엔드포인트 URL이 필요합니다. VPC 엔드포인트 콘솔에 액세스하여 가져와야 합니다. 인터넷 연결 SFTP 및/또는 FTPS 서버를 사용하는 경우 AWS Transfer 패밀리 콘솔에서 이 정보를 직접 가져올 수 있습니다. 다른 서브넷 또는 다른 VPC에서 엔드포인트에 액세스하는 경우 [보안 그룹]에서 TCP 포트 21 및 포트 8192-8200을 허용하는지 확인하십시오.

아래 명령을 사용하여 FTP 서버에 로그인을 시도할 수 있습니다.

lftp -d ftp://{VPC End Point of your FTP Server} -u 'myuser, MySuperSecretPassword'


(이미지를 확대하려면 클릭)

다음 단계

테스트의 사용자 이름과 암호는 CloudFormation에서 지침에 따라 생성된 Lambda 함수 내의 소스 코드에 지정됩니다.

블로그 문서 “AWS Secrets Manager를 사용하여 AWS Transfer for SFTP에 대한 암호 인증 활성화”에서 인증 데이터 관리에 대해 자세히 알아보고, 이 CloudFormation 템플릿을 사용하여 AWS Secrets Manager에서 API Gateway 및 Lambda 함수를 생성하는 것이 좋습니다.

맺음말:

  • 패시브 모드만 지원됩니다. 이 서비스는 아웃바운드 연결을 생성하지 않습니다.
  • FTPS의 명시적 모드만 지원됩니다. 이 서비스는 암시적 모드를 지원하지 않습니다.
  • 파일 이름을 바꿀 수 있지만 디렉터리(S3 BucketName) 이름은 바꿀 수 없으며 추가 작업도 지원되지 않습니다.

정식 출시

AWS Transfer for SFTP가 현재 제공되는 모든 리전에서 AWS Transfer for FTPS 및 FTP를 사용할 수 있습니다. 자세한 내용은 제품 페이지설명서를 참조하십시오. 다음 동영상에서 데모를 확인할 수도 있습니다.

– Kame;