Transfer SFTP 는 AWS 에서 제공하는 Managed SFTP 서비스로 S3 에 저장되어 있는 Object 들을 SFTP 를 통해 편리하고 안전하게 업로드 혹은 다운로드를 할 수있도록 해주는 서비스입니다.
- SFTP Server 를 위한 Role 생성하기
- Transfer SFTP 서비스를 사용하기 위해서는 이 서비스에서 사용하게 될 Role 을 먼저 생성하여야 합니다. Transfer SFTP 는 Transfer 서비스에서 S3 를 이용하는 환경인만큼 해당 Role 의 Trust Policy 에 AWS Transfer 가 들어갈 수 있도록 선택하여야 합니다.
Role 에 적용될 Policy 는 실제 SFTP 에서 사용될 권한에 따라 선택하여야하며 Upload / Download 가 모두 허용되어야한다면 Full Access 를 선택해서 할당하도록 합니다.
아래와 같이 Trusted Entities 와 Policy 가 적절할게 선택된 것을 확인한 후 Role 이름을 입력하고 Role 생성을 완료합니다.
2. SSH Key Pair 생성하기
SFTP 사용을 위해서는 SSH Key Pair 가 사용이 되어야하며 각 사용자 별로 사용될 Key-Pair 를 아래와 같이 생성합니다.
3. Transfer SFTP 서버 생성하기
IAM Role 과 SSH Key Pair 생성이 완료되면 아래와 같이 AWS Transfer SFTP 메뉴에서 SFTP 서버를 생성합니다.
4. User 추가하기
생성된 SFTP 서버를 사용하기 위해서는 User 가 생성되어야하며 User 의 SFTP Login 은 ID/PW 가 아닌 SSH Key 에 의하여 진행되므로 이전 단계에서 생성하였던 Key Pair 중 Public Key 를 User 생성과정에 등록하고 이전 단계에서 생성하였던 Transfer SFTP 용 Role 을 할당합니다.
5. SFTP 연결하기
SFTP 연결을 위하여 아래와 같이 SFTP 서버에 할당된 Endpoint 를 확인한 후 SFTP Client 를 이용하여 접속합니다.
참고. SFTP 생성 시 Custom Hostname 을 입력하고 SFTP 서버를 생성하면 아래와 같이 custom hostname 이 SFTP 에 등록됩니다.
Custom Hostname 을 등록하면 해당 Hostname 에 SFTP 가 등록되면서 생성된 Endpoint 가 자동으로 해당Hostname 과 연관된 Domain 을 자동으로 등록한 후 CNAME Record 로 등록되게 됩니다.
###등록된 CNAME Record 와 Hosted Zone 은 SFTP 서버 삭제 시에도 자동으로 삭제되지 않습니다.###
이전 단계에서 생성하였던 SFTP 의 Endpoint 와 Username, SSH Private Key 를 선택합니다.
아래와 같이 정상적으로 S3 Bucket 에 로그인 된 것을 확인할 수 있으며 이제 Role 에 할당된 Policy 에 의해 해당 Bucket 에 대하여 Upload/Download 를 SFTP 를 통하여 수행할 수 있습니다.
감사합니다.