기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SFTP 커넥터 설정 및 사용
커넥터의 목적은 AWS 스토리지와 파트너의 SFTP 서버 간에 관계를 설정하는 것입니다. Amazon S3에서 파트너 소유의 외부 대상으로 파일을 보낼 수 있습니다. SFTP 커넥터를 사용하여 파트너의 SFTP 서버에서 파일을 검색할 수도 있습니다.
이 자습서에서는 서비스 관리형 송신 유형과 VPC_LATTICE 송신 유형으로 SFTP 커넥터를 설정한 다음 Amazon S3 스토리지와 SFTP 서버 간에 파일을 전송하는 방법을 보여줍니다.
SFTP 커넥터는에서 SFTP 자격 증명을 검색 AWS Secrets Manager 하여 원격 SFTP 서버에 인증하고 연결을 설정합니다. 커넥터는 원격 서버로 파일을 보내거나 원격 서버에서 파일을 검색하고 Amazon S3에 파일을 저장합니다. 서비스 관리형 송신( AWS 관리형 인프라 사용) 또는 VPC 송신(VPC 간 리소스 액세스를 사용하여 VPC를 통해 라우팅) 중에서 선택할 수 있습니다. IAM 역할은 Amazon S3 버킷 및 Secrets Manager에 저장된 자격 증명에 대한 액세스를 허용하는 데 사용됩니다. 또한 Amazon CloudWatch에 로그인할 수 있습니다.
다음 블로그 게시물은 SFTP 커넥터를 사용하여 원격 SFTP 서버로 전송하기 전에 PGP를 사용한 파일 암호화를 포함하여 AWS Transfer Family SFTP 커넥터를 사용하여 MFT 워크플로를 빌드하기 위한 참조 아키텍처를 제공합니다. SFTP 커넥터 및 PGP 암호화를 사용하여 안전하고 규정을 준수하는 관리형 파일 전송 설계
커넥터 송신 유형
SFTP 커넥터는 커넥터가 트래픽을 원격 SFTP 서버로 라우팅하는 방법을 결정하는 두 가지 송신 유형을 지원합니다.
-
SERVICE_MANAGED(기본값): 아웃바운드 연결에 AWS 고정 IP 주소가 있는 Transfer Family 관리형 인프라를 사용합니다.
-
VPC: VPC 간 리소스 액세스를 사용하여 VPC를 통해 트래픽을 라우팅하여 프라이빗 엔드포인트 연결 및 자체 NAT 게이트웨이 사용을 활성화합니다.
이 자습서에서는 두 송신 유형을 모두 다룹니다. 필요한 경우 VPC 송신 유형을 선택합니다.
-
VPC의 프라이빗 SFTP 서버에 연결(프라이빗 IP 주소)
-
Direct Connect 또는 VPN을 통해 온프레미스 SFTP 서버에 연결
-
보안 제어를 위해 VPC를 통해 퍼블릭 엔드포인트 트래픽 라우팅
-
아웃바운드 연결에 자체 탄력적 IP 주소 사용
주제
1단계: 필요한 지원 리소스 생성
SFTP 커넥터를 사용하여 Amazon S3와 원격 SFTP 서버 간에 파일을 복사할 수 있습니다. 이 자습서에서는 AWS Transfer Family 서버를 원격 SFTP 서버로 사용합니다. 다음 리소스를 생성하고 구성해야 합니다.
-
Amazon S3 버킷을 생성하여 AWS 환경에 파일을 저장하고 원격 SFTP 서버에서 파일을 전송하고 검색합니다Amazon S3 버킷 생성.
-
Secrets Manager에서 Amazon S3 스토리지 및 보안 암호에 액세스하기 위한 AWS Identity and Access Management 역할을 생성합니다필요한 권한을 가진 IAM 역할 생성.
-
SFTP 프로토콜을 사용하는 Transfer Family 서버와 SFTP 커넥터를 사용하여 SFTP 서버와 파일을 주고 받는 서비스 관리형 사용자를 생성합니다Transfer Family SFTP 서버 및 사용자 생성.
-
SFTP 커넥터가 원격 SFTP 서버에 로그인하는 데 사용하는 자격 증명을 저장하는 AWS Secrets Manager 보안 암호를 생성합니다에서 보안 암호 생성 및 저장 AWS Secrets Manager.
VPC 송신 유형 커넥터의 경우 다음 사항도 필요합니다.
-
적절한 서브넷 및 보안 그룹이 있는 VPC
-
Resource Gateway(최소 2개의 가용 영역 필요): Resource Gateway 생성(VPC 송신 유형만 해당).
-
SFTP 서버를 가리키는 리소스 구성: 리소스 구성 생성(VPC 송신 유형만 해당). 자세한 내용은 Amazon VPC Lattice 사용 설명서의 Resource configurations 섹션을 참조하시기 바랍니다.
Amazon S3 버킷 생성
Amazon S3 버킷을 생성하려면
-
https://console.aws.amazon.com/s3/
AWS Transfer Family 콘솔에 로그인합니다. -
리전을 선택하고 이름을 입력합니다.
이 자습서에서는 버킷이에
US East (N. Virginia) us-east-1있고 이름은 입니다sftp-server-storage-east. -
기본값을 수락하고 버킷 생성을 선택합니다.
Amazon S3 버킷 생성에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 S3 버킷을 생성하려면 어떻게 해야 합니까?를 참조하세요.
필요한 권한을 가진 IAM 역할 생성
액세스 역할의 경우 다음 권한이 있는 정책을 생성합니다.
다음과 같이 항목을 바꿉니다.
-
amzn-s3-demo-bucket의 경우 자습서에서는를 사용합니다sftp-server-storage-east. -
리전의 경우 자습서에서는를 사용합니다us-east-1. -
account-id의 경우 ID를 AWS 계정 사용합니다. -
SecretName-6RandomCharacters의 경우 이름은 입니다(보안 암호using sftp-connector1에 대해 6개의 무작위 문자가 있음).
또한이 역할에 사용자의 전송 요청을 처리할 때 커넥터가 리소스에 액세스할 수 있는 신뢰 관계가 포함되어 있는지 확인해야 합니다. 신뢰 관계 설정에 대한 자세한 내용은 신뢰 관계를 구축하기 위해을 참조하세요.
참고
자습서에서 사용 중인 역할에 대한 세부 정보를 보려면 섹션을 참조하세요사용자 및 액세스 역할 결합.
에서 보안 암호 생성 및 저장 AWS Secrets Manager
SFTP 커넥터의 사용자 자격 증명을 저장하려면 Secrets Manager에 암호를 저장해야 합니다. 암호, SSH 프라이빗 키 또는 둘 다를 사용할 수 있습니다. 자습서에서는 프라이빗 키를 사용합니다.
참고
Secrets Manager에 암호를 저장하면 AWS 계정 에 요금이 발생합니다. 요금에 대한 자세한 내용은 AWS Secrets Manager 요금
보안 암호 저장 절차를 시작하기 전에 프라이빗 키를 검색하고 형식을 지정합니다. 프라이빗 키는 원격 SFTP 서버의 사용자에 대해 구성된 퍼블릭 키와 일치해야 합니다. 자습서의 경우 프라이빗 키는 원격 서버로 사용 중인 Transfer Family SFTP 서버의 테스트 사용자에 대해 저장된 퍼블릭 키와 일치해야 합니다.
이렇게 하려면 다음 명령을 실행하세요.
jq -sR .path-to-private-key-file
예를 들어 프라이빗 키 파일이에 있는 경우 ~/.ssh/sftp-testuser-privatekey명령은 다음과 같습니다.
jq -sR . ~/.ssh/sftp-testuser-privatekey
그러면 키가 올바른 형식(줄 바꿈 문자 포함)으로 표준 출력으로 출력됩니다. 다음 절차(6단계)에 붙여 넣어야 하므로이 텍스트를 어딘가에 복사합니다.
SFTP 커넥터의 사용자 자격 증명을 Secrets Manager에 저장하려면
-
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/secretsmanager/
AWS Secrets Manager 콘솔을 엽니다. -
왼쪽 탐색 창에서 암호를 선택합니다.
-
암호 페이지에서 새 암호 저장을 선택합니다.
-
암호 선택 페이지의 암호 타입에서 다른 타입의 암호를 선택합니다.
-
키/값 쌍 섹션에서 키/값 탭을 선택합니다.
-
키 -를 입력합니다
Username. -
value - 사용자 이름을 입력합니다
sftp-testuser.
-
-
키를 입력하려면 일반 텍스트 탭을 사용하는 것이 좋습니다.
-
행 추가를 선택한 다음를 입력합니다
PrivateKey. -
일반 텍스트 탭을 선택합니다. 필드에는 이제 다음 텍스트가 포함됩니다.
{"Username":"sftp-testuser","PrivateKey":""} -
빈 큰따옴표("") 사이에 프라이빗 키(이전에 저장됨)의 텍스트를 붙여 넣습니다.
화면은 다음과 같아야 합니다(키 데이터는 회색으로 표시됨).
-
-
다음을 선택합니다.
-
보안 암호 구성 페이지에서 보안 암호의 이름을 입력합니다. 이 자습서에서는 보안 암호의 이름을 로 지정합니다
aws/transfer/sftp-connector1. -
다음을 선택한 후 교체 구성 페이지의 기본값을 그대로 사용합니다. 그 다음 다음을 선택합니다.
-
검토 페이지에서 저장을 선택하여 암호를 만들고 저장합니다.
Resource Gateway 생성(VPC 송신 유형만 해당)
VPC 송신 유형 커넥터의 경우 VPC에서 Resource Gateway를 생성해야 합니다. Resource Gateway는 VPC 간 리소스 액세스의 진입점 역할을 합니다.
Resource Gateway를 생성하려면
-
다음 명령을 실행하여 Resource Gateway를 생성합니다(VPC ID 및 서브넷 IDs를 값으로 대체).
aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321참고
Resource Gateway에는 최소 2개의 가용 영역에 서브넷이 필요합니다.
-
다음 단계에서 사용할 응답의 Resource Gateway ID를 기록해 둡니다.
리소스 구성 생성(VPC 송신 유형만 해당)
SFTP 서버를 가리키는 리소스 구성을 생성합니다. VPC에 있는 서버의 프라이빗 IP 주소 또는 외부 서버의 퍼블릭 DNS 이름일 수 있습니다. 리소스 구성에 대한 자세한 내용은 Amazon VPC Lattice 사용 설명서의 리소스 구성을 참조하세요.
리소스 구성을 생성하려면
-
프라이빗 SFTP 서버의 경우 다음을 실행합니다.
aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} -
퍼블릭 SFTP 서버(DNS 이름만 해당)의 경우 다음을 실행합니다.
aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}참고
퍼블릭 엔드포인트는 IP 주소가 아닌 DNS 이름을 사용해야 합니다.
-
커넥터를 생성할 때 사용할 응답의 리소스 구성 ARN을 기록해 둡니다.
2단계: SFTP 커넥터 생성 및 테스트
이 섹션에서는 앞서 생성한 모든 리소스를 사용하는 SFTP 커넥터를 생성합니다. 자세한 내용은 SFTP 커넥터 생성 섹션을 참조하세요.
SFTP 커넥터를 생성하려면
-
https://console.aws.amazon.com/transfer/
AWS Transfer Family 콘솔을 엽니다. -
왼쪽 탐색 창에서 SFTP 커넥터를 선택한 다음 SFTP 커넥터 생성을 선택합니다.
-
송신 유형에서 다음 중 하나를 선택합니다.
-
서비스 관리형(기본값): 아웃바운드 연결에 고정 IP 주소가 있는 AWS Transfer Family 관리형 인프라를 사용합니다.
-
VPC Lattice: VPC 간 리소스 액세스를 사용하여 VPC를 통해 트래픽을 라우팅합니다. 프라이빗 엔드포인트 연결 또는 자체 NAT 게이트웨이를 사용하려면이 옵션을 선택합니다.
중요
커넥터를 생성한 후에는 송신 유형을 변경할 수 없습니다. 연결 요구 사항에 따라 신중하게 선택합니다.
-
-
커넥터 구성 섹션에서 다음 정보를 제공합니다:
-
URL에 원격 SFTP 서버의 URL을 입력합니다. 자습서에서는 원격 SFTP 서버로 사용 중인 Transfer Family 서버의 URL을 입력합니다.
sftp://s-1111aaaa2222bbbb3.server---transfer---us-east-1.amazonaws.com.rproxy.govskope.ca1111aaaa2222bbbb3을 Transfer Family 서버 ID로 바꿉니다. -
액세스 역할에 앞서 생성한 역할인를 입력합니다
sftp-connector-role. -
리소스 구성 ARN(VPC Lattice 송신 유형만 해당)에 앞서 생성한 리소스 구성의 ARN을 입력합니다.
arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678 -
로깅 역할의 경우 보안 주체 요소에가 있는 신뢰 정책
transfer.amazonaws.com이 포함된 역할을 선택합니다.팁: Transfer Family를 신뢰할 수 있는 엔터티로 추가하는 것 외에도 역할에 AWSTransferLoggingAccess AWS 관리형 정책을 추가할 수 있습니다. 이 정책은 AWSTransferLoggingAccess에 자세히 설명되어 있습니다.
-
-
SFTP 구성 섹션에 다음 정보를 제공합니다.
-
커넥터 자격 증명에서 SFTP 자격 증명이 포함된 Secrets Manager 리소스의 이름을 선택합니다. 자습서에서를 선택합니다
aws/transfer/sftp-connector1. -
신뢰할 수 있는 호스트 키 의 경우 호스트 키의 퍼블릭 부분에 붙여 넣습니다. SFTP 서버에
ssh-keyscan대해를 실행하여이 키를 검색할 수 있습니다. 신뢰할 수 있는 호스트 키를 포맷하고 저장하는 방법에 대한 자세한 내용은 SftpConnectorConfig 데이터 유형 설명서를 참조하세요. -
최대 동시 연결에서 1~5의 정수 값을 선택합니다. 기본값은 5입니다.
-
-
모든 설정을 확인한 후 커넥터 생성을 선택하여 SFTP 커넥터를 생성합니다.
를 사용하여 커넥터를 생성할 수도 있습니다 AWS Command Line Interface.
-
서비스 관리형 송신으로 SFTP 커넥터를 생성하려면 다음 명령을 실행합니다.
aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." -
VPC 기반 송신을 사용하여 SFTP 커넥터를 생성하려면 다음 명령을 실행합니다.
aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}
SFTP 커넥터를 만든 후에는 새 커넥터를 사용하여 파일을 전송하기 전에 테스트해 보는 것이 좋습니다.
참고
VPC 송신 유형 커넥터의 경우 DNS 확인은 생성 후 몇 분 정도 걸릴 수 있습니다. 이 시간 동안 커넥터 상태는 PENDING이며 "Connector not available"를 반환TestConnection합니다. 파일 전송을 시도하기 ACTIVE 전에 상태가 될 때까지 기다립니다.
VPC 송신 유형 커넥터를 설명하면 응답에 새 필드가 포함됩니다.
{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }
트래픽ServiceManagedEgressIpAddresses은 AWS 관리형 인프라 대신 VPC를 통해 라우팅되므로 VPC 송신 유형 커넥터의 경우는 null입니다.
3단계: SFTP 커넥터를 사용하여 파일 전송 및 검색
간소화를 위해 Amazon S3 버킷에 파일이 이미 있다고 가정합니다.
참고
이 자습서에서는 소스 및 대상 스토리지 위치 모두에 Amazon S3 버킷을 사용하고 있습니다. SFTP 서버가 Amazon S3 스토리지를 사용하지 않는 경우 다음 명령sftp-server-storage-east에 표시되는 모든 위치에서 경로를 SFTP 서버에서 액세스할 수 있는 파일 위치의 경로로 바꿀 수 있습니다.
-
Amazon S3 스토리지
SEND-to-SERVER.txt에서 SFTP 서버로 라는 파일을 전송합니다. -
SFTP 서버에서 Amazon S3 스토리지로
RETRIEVE-to-S3.txt라는 파일을 검색합니다.
참고
다음 명령에서 connector-id를 커넥터 ID로 바꿉니다.
먼저 Amazon S3 버킷에서 원격 SFTP 서버로 파일을 보냅니다. 명령 프롬프트에서 다음 명령을 실행합니다.
aws transfer start-file-transfer --connector-id c-connector-id--send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"
이제 sftp-server-storage-east 버킷이 다음과 같아야 합니다.
파일이 예상대로 표시되지 않으면 CloudWatch 로그를 확인합니다.
CloudWatch 로그를 확인하려면
-
https://console.aws.amazon.com/cloudwatch/
Amazon CloudWatch 콘솔을 엽니다. -
왼쪽 탐색 메뉴에서 로그 그룹을 선택합니다.
-
검색 창에 커넥터 ID를 입력하여 로그를 찾습니다.
-
검색에서 반환되는 로그 스트림을 선택합니다.
-
최신 로그 항목을 확장합니다.
성공하면 로그 항목은 다음과 같습니다.
{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }
파일 전송에 실패한 경우 로그 항목에 문제를 지정하는 오류 메시지가 포함됩니다. 오류의 일반적인 원인은 IAM 권한 문제와 잘못된 파일 경로입니다.
다음으로 SFTP 서버에서 Amazon S3 버킷으로 파일을 검색합니다. 명령 프롬프트에서 다음 명령을 실행합니다.
aws transfer start-file-transfer --connector-id c-connector-id--retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"
전송에 성공하면 Amazon S3 버킷에 다음과 같이 전송된 파일이 포함됩니다.
성공하면 로그 항목은 다음과 같습니다.
{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }
VPC 송신 유형 커넥터 문제 해결
VPC 송신 유형 커넥터에 문제가 있는 경우 다음을 확인하세요.
-
커넥터 상태는 PENDING: VPC 커넥터의 DNS 확인에는 몇 분 정도 걸릴 수 있습니다. 연결을 시도하기 전에 상태가 ACTIVE가 될 때까지 기다립니다.
-
연결 제한 시간: 보안 그룹이 Resource Gateway 서브넷과 대상 SFTP 서버 간의 포트 22 트래픽을 허용하는지 확인합니다.
-
리소스 구성 오류: 리소스 구성이 올바른 IP 주소 또는 DNS 이름을 가리키고 Resource Gateway가 SFTP 서버(프라이빗 엔드포인트용)와 동일한 VPC에 있는지 확인합니다. 자세한 내용은 Amazon VPC Lattice 사용 설명서의 Resource configurations 섹션을 참조하시기 바랍니다.
-
퍼블릭 엔드포인트 문제: 퍼블릭 엔드포인트의 경우 리소스 구성에서 IP 주소가 아닌 DNS 이름을 사용하고 있는지 확인합니다. VPC에 아웃바운드 인터넷 액세스를 위한 NAT 게이트웨이가 있는지 확인합니다.
-
AZ 가용성: Resource Gateway에는 최소 2개의 가용 영역에 서브넷이 필요합니다. 모든 AZs VPC Lattice를 지원하는 것은 아닙니다. 해당 리전에서 지원되는 AZs 확인하세요.
VPC 송신 유형에 대한 비용 고려 사항:
-
VPC Lattice는 리소스 공급자로서 데이터 처리에 대해 0.006/GB의 요금을 부과합니다(VPC Lattice에서 직접 청구).
-
AWS Transfer Family는 0.01 USD/GB 리소스 소비자 비용(첫 1PB)을 흡수합니다.
-
VPC를 통한 퍼블릭 엔드포인트의 경우 추가 NAT 게이트웨이 및 데이터 전송 요금이 적용될 수 있습니다.
-
표준 0.40 USD/GB 데이터 처리 요금을 초과하는 추가 Transfer Family 요금 없음
원격 SFTP 서버로 사용할 Transfer Family 서버를 생성하는 절차
다음은이 자습서에서 원격 SFTP 서버 역할을 하는 Transfer Family 서버를 생성하는 단계를 간략하게 설명합니다. 다음 사항에 유의하세요.
-
Transfer Family 서버를 사용하여 원격 SFTP 서버를 나타냅니다. 일반적인 SFTP 커넥터 사용자에게는 자체 원격 SFTP 서버가 있습니다. Transfer Family SFTP 서버 및 사용자 생성을(를) 참조하세요.
-
Transfer Family 서버를 사용하기 때문에 서비스 관리형 SFTP 사용자도 사용합니다. 또한 간소화를 위해이 사용자가 Transfer Family 서버에 액세스하는 데 필요한 권한과 커넥터를 사용하는 데 필요한 권한을 결합했습니다. 다시 말하지만 대부분의 SFTP 커넥터 사용 사례에는 Transfer Family 서버와 연결되지 않은 별도의 SFTP 사용자가 있습니다. Transfer Family SFTP 서버 및 사용자 생성을(를) 참조하세요.
-
자습서에서는 원격 SFTP 서버에 Amazon S3 스토리지를 사용하므로 한 버킷에서 다른 버킷으로 파일을 전송할 수
sftp-server-storage-east있도록 두 번째 버킷을 생성해야 합니다.
Transfer Family SFTP 서버 및 사용자 생성
사용자가 있는 SFTP 서버가 이미 있으므로 대부분의 사용자는 Transfer Family SFTP 서버와 사용자를 생성할 필요가 없으며이 서버를 사용하여 파일을 주고받을 수 있습니다. 그러나이 자습서에서는 간소화를 위해 Transfer Family 서버를 사용하여 원격 SFTP 서버로 작동합니다.
에 설명된 절차에 따라 SFTP 지원 서버 생성 서버를 생성하고 사용자를 3단계: 서비스 관리 사용자 추가 추가합니다. 다음은 자습서에서 사용 중인 사용자 세부 정보입니다.
-
서비스 관리형 사용자를 생성합니다
sftp-testuser.-
홈 디렉터리를 로 설정
/sftp-server-storage-east/sftp-testuser -
사용자를 생성할 때 퍼블릭 키를 저장합니다. 나중에 Secrets Manager에서 보안 암호를 생성할 때 해당 프라이빗 키를 제공해야 합니다.
-
-
역할:
sftp-connector-role. 자습서에서는 SFTP 사용자와 SFTP 커넥터 액세스 모두에 동일한 IAM 역할을 사용합니다. 조직의 커넥터를 생성할 때 별도의 사용자 및 액세스 역할이 있을 수 있습니다. -
서버 호스트 키: 커넥터를 생성할 때 서버 호스트 키를 사용해야 합니다. 서버에
ssh-keyscan대해를 실행하여이 키를 검색할 수 있습니다. 예를 들어 서버 ID가s-1111aaaa2222bbbb3이고 엔드포인트가에 있는 경우us-east-1다음 명령은 서버 호스트 키를 검색합니다.ssh-keyscan s-1111aaaa2222bbbb3---server---transfer---us-east-1.amazonaws.com.rproxy.govskope.ca2단계: SFTP 커넥터 생성 및 테스트 절차에 붙여 넣어야 하므로이 텍스트를 어딘가에 복사합니다.
사용자 및 액세스 역할 결합
자습서에서는 결합된 단일 역할을 사용합니다. 이 역할은 SFTP 사용자뿐만 아니라 커넥터에 대한 액세스에도 사용됩니다. 다음 예제에는 자습서에서 작업을 수행하려는 경우이 역할에 대한 세부 정보가 포함되어 있습니다.
다음 예제에서는 Amazon S3의 두 버킷과 Secrets Manager에 aws/transfer/sftp-connector1 저장된 이라는 보안 암호에 액세스하는 데 필요한 권한을 부여합니다. 자습서의 경우이 역할의 이름은 입니다sftp-connector-role.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }
Transfer Family에 대한 역할 생성에 대한 전체 세부 정보는에 설명된 절차에 따라 역할을 사용자 역할 생성 생성합니다.