서로 다른 계정의 버킷에 대한 복제 구성 - Amazon Simple Storage Service

서로 다른 계정의 버킷에 대한 복제 구성

라이브 복제는 동일한 리전 또는 서로 다른 AWS 리전의 버킷 간에 객체를 비동기식으로 자동 복사하는 것을 말합니다. 라이브 복제는 새로 생성된 객체 및 객체 업데이트를 소스 버킷에서 하나 이상의 대상 버킷으로 복사합니다. 자세한 내용은 리전 내 및 리전 간 객체 복제 단원을 참조하십시오.

복제를 구성할 때는 소스 버킷에 복제 규칙을 추가합니다. 복제 규칙은 복제할 원본 버킷 객체와 복제된 객체가 저장된 대상 버킷을 정의합니다. 특정 키 이름 접두사, 하나 이상의 객체 태그 또는 이 두 가지를 모두 포함하는 버킷 또는 객체 하위 집합에 있는 모든 객체를 복제하는 규칙을 작성할 수 있습니다. 대상 버킷은 소스 버킷과 동일한 AWS 계정에 있거나 다른 계정에 존재할 수 있습니다.

삭제할 객체 버전 ID를 지정하는 경우, Amazon S3가 원본 버킷에서 해당 객체 버전을 삭제합니다. 하지만 대상 버킷에서는 삭제를 복제하지 않습니다. 즉, 대상 버킷에서 동일한 객체 버전을 삭제하지 않습니다. 이는 악의적 삭제로부터 데이터를 보호합니다.

버킷에 복제 규칙을 추가하면 이 규칙이 기본적으로 사용 설정되므로 이 규칙을 저장하면 그 즉시 작업이 시작됩니다.

서로 다른 AWS 계정에서 소스 버킷과 대상 버킷을 소유한 경우의 라이브 복제 설정은 동일한 계정이 두 버킷을 모두 소유한 경우의 복제 설정과 비슷합니다. 하지만 교차 계정 시나리오에서 복제를 구성할 때는 몇 가지 차이점이 있습니다.

  • 대상 버킷 소유자는 소스 버킷 소유자에게 대상 버킷 정책에서 객체를 복제할 수 있는 권한을 부여해야 합니다.

  • 교차 계정 시나리오에서 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 통한 서버 측 암호화로 암호화된 객체를 복제하는 경우 KMS 키 소유자가 소스 버킷 소유자에게 KMS 키를 사용할 수 있는 권한을 부여해야 합니다. 자세한 내용은 교차 계정 시나리오를 위한 추가 권한 부여 단원을 참조하십시오.

  • 기본적으로 복제된 객체는 소스 버킷 소유자가 소유합니다. 교차 계정 시나리오에서는 복제된 객체의 소유권을 대상 버킷의 소유자로 변경하도록 복제를 구성할 수 있습니다. 자세한 내용은 복제본 소유자 변경 단원을 참조하십시오.

소스 버킷과 대상 버킷을 서로 다른 AWS 계정에서 소유한 경우 복제를 구성하려면
  1. 이 예제에서는 소스 버킷과 대상 버킷을 서로 다른 두 AWS 계정에서 만듭니다. AWS CLI에 대해 2개의 자격 증명 프로파일을 설정해야 합니다. 이 예제에서는 해당 프로파일 이름에 acctAacctB를 사용합니다. 자격 증명 프로파일 설정 및 명명된 프로파일 사용에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서의 구성 및 자격 증명 파일 설정을 참조하세요.

  2. 동일한 계정에서 버킷 복제 구성의 단계별 지침을 따르되 다음 사항을 변경합니다.

    • 소스 버킷 활동(예: 소스 버킷 생성, 버전 관리 활성화, IAM 역할 생성)과 관련된 모든 AWS CLI 명령은 acctA 프로파일을 사용합니다. acctB 프로파일을 사용하여 대상 버킷을 만듭니다.

    • IAM 역할에 대한 권한 정책에 이 예제에서 만든 소스 및 대상 버킷이 지정되어 있는지 확인합니다.

  3. 콘솔에서 대상 버킷에 다음 버킷 정책을 추가해 원본 버킷 소유자가 객체를 복제하도록 허용합니다. 지침은 Amazon S3 콘솔을 사용하여 버킷 정책 추가 단원을 참조하십시오. 소스 버킷 소유자의 AWS 계정 ID, IAM 역할 이름 및 대상 버킷 이름을 제공하여 정책을 편집해야 합니다.

    참고

    다음 예시를 사용하려면 user input placeholders를 실제 정보로 대체하십시오. amzn-s3-demo-destination-bucket를 대상 버킷 이름으로 바꿉니다. IAM Amazon 리소스 이름(ARN)의 source-bucket-account-ID:role/service-role/source-account-IAM-role을 이 복제 구성에 사용 중인 IAM 역할로 바꿉니다.

    IAM 서비스 역할을 수동으로 만든 경우 다음 정책 예제와 같이 IAM ARN의 역할 경로를 role/service-role/로 설정합니다. 자세한 내용을 알아보려면 IAM 사용 설명서IAM ARN을 참조하세요.

    { "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":["s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket" } ] }
  4. (선택 사항) SSE-KMS로 암호화된 객체를 복제하는 경우 KMS 키 소유자가 소스 버킷 소유자에게 KMS 키를 사용할 수 있는 권한을 부여해야 합니다. 자세한 내용은 교차 계정 시나리오를 위한 추가 권한 부여 단원을 참조하십시오.

  5. (선택 사항) 복제에서는 기본적으로 소스 객체 소유자가 복제본을 소유합니다. 소스 버킷과 대상 버킷을 서로 다른 AWS 계정에서 소유한 경우 복제본 소유권을 대상 버킷을 소유한 AWS 계정으로 변경하는 선택적 구성 설정을 추가할 수 있습니다. 여기에는 ObjectOwnerOverrideToBucketOwner 권한 부여가 포함됩니다. 자세한 내용은 복제본 소유자 변경 단원을 참조하십시오.