데이터 파이프라인을 사용하여 일회성 복사를 실행하거나 Amazon S3 버킷의 예약 동기화를 자동화하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 23일

일회성 작업 또는 예약된 동기화로 두 Amazon Simple Storage Service(Amazon S3) 버킷 간에 데이터를 전송하려고 합니다. AWS Data Pipeline을 사용하여 버킷 간에 복사 또는 동기화 작업을 설정하려면 어떻게 해야 합니까?

해결 방법

참고: 데이터 파이프라인의 사용은 S3 버킷 간에 데이터를 전송할 수 있는 한 가지 옵션입니다. 다른 옵션으로는 S3 배치 작업 사용, 복제 활성화 또는 AWS 명령줄 인터페이스(AWS CLI)에서의 cp 또는 sync 명령 실행이 포함됩니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

1.    AWS Identity and Access Management(IAM) 사용자 또는 역할에 데이터 파이프 라인을 사용할 수 있는 충분한 권한이 있는지 확인합니다.

2.    IAM 사용자 또는 역할을 사용하여 AWS Data Pipeline 콘솔에 로그인합니다. 콘솔이 데이터 파이프라인을 지원하는 AWS 리전으로 설정되어 있는지 확인합니다.

중요: 소스 버킷과 대상 버킷은 동일한 리전에 속할 필요가 없습니다. 또한 S3 버킷은 파이프라인과 동일한 리전에 있을 필요가 없습니다. 그러나 리전 간 데이터 전송에는 비용이 발생하므로 Amazon S3에 대한 데이터 전송 요금을 검토해야 합니다.

3.    파이프라인 생성을 선택합니다.

4.    이름에 파이프라인 이름을 입력합니다.

5.    [원본(Source)]에서 [템플릿을 사용하여 구축(Build using a template)]을 선택합니다. 그런 다음 [AWS CLI 명령 실행(Run AWS CLI command)]을 선택합니다.

6.    AWS CLI 명령복사 작업을 설정하려면 다음 명령을 입력합니다.

aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

참고: 복사 명령은 원본 버킷의 객체와 키 이름이 동일한 대상 버킷의 객체를 덮어씁니다.

동기화 작업을 설정하려면 다음 명령을 입력합니다.

aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

참고: 동기화 명령은 원본 버킷과 대상 버킷을 비교한 다음 다른 부분만 전송합니다.

7.    [실행(Run)]에서, 일회성 복사 또는 동기화 작업을 위해 [파이프라인 활성화 시(on pipeline activation)]를 선택합니다. 또는 예약된 복사 또는 동기화를 위해 [일정에 따라(on a schedule)]를 선택한 다음 사용 사례에 따라 [모두 실행(Run every)], [시작(Starting)], [종료(Ending)] 필드를 작성합니다.

8.    로깅에서 활성화를 선택한 다음 로그의 S3 위치를 입력할 수 있습니다. 또는 로그를 원하지 않는 경우 비활성화를 선택할 수 있습니다.

9.    IAM 역할에서 기본 역할 또는 사용자 지정 역할을 선택할 수 있습니다. 기본 역할에는 s3:CreateBucket, s3:DeleteObject, s3:Get, s3:List* 그리고 s3:Put*에 대한 Amazon S3 권한이 있습니다.

참고: 버킷에 AWS Key Management Service(AWS KMS)를 사용한 기본 암호화가 있는 경우 적절한 권한이 부여되었는지 확인합니다. AWS KMS 키를 사용하기 위한 적절한 권한을 데이터 파이프라인 역할에 부여해야 합니다.

10.    [활성화(Activate)]를 선택합니다.

참고: 선택적으로 버킷의 각 루트 수준 접두사마다 여러 파이프라인을 생성하여 성능을 최적화할 수 있습니다.