대상 계정으로 전달된 인벤토리 보고서를 사용하여 AWS 계정 간에 객체 복사 - Amazon Simple Storage Service

대상 계정으로 전달된 인벤토리 보고서를 사용하여 AWS 계정 간에 객체 복사

Amazon S3 인벤토리를 사용하여 인벤토리 보고서를 생성하고 이 보고서를 사용하여 S3 Batch Operations로 복사할 객체 목록을 생성할 수 있습니다. 소스 또는 대상 계정에서 CSV 매니페스트를 사용하는 방법에 대한 자세한 내용은 소스 계정에 저장된 CSV 매니페스트를 사용하여 AWS 계정 간에 객체 복사 섹션을 참조하세요.

Amazon S3 인벤토리는 버킷에 객체의 인벤토리를 생성합니다. 결과 목록은 출력 파일에 게시됩니다. 인벤토리에 추가된 버킷을 원본 버킷이라고 하고 인벤토리 보고서 파일이 저장되는 버킷을 대상 버킷이라고 합니다.

Amazon S3 인벤토리 보고서를 다른 AWS 계정으로 전달하도록 인벤토리 보고서를 구성할 수 있습니다. 그러면 대상 계정에서 작업이 생성될 때 S3 Batch Operations에서 인벤토리 보고서를 읽을 수 있습니다.

Amazon S3 인벤토리 소스 및 대상 버킷에 대한 자세한 내용은 원본 및 대상 버킷 섹션을 참조하세요.

인벤토리를 설정하는 가장 쉬운 방법은 AWS Management Console을 사용하는 것이지만, REST API, AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용할 수도 있습니다.

다음 콘솔 절차에는 S3 배치 작업에 대한 권한을 설정하기 위한 상위 단계가 포함되어 있습니다. 이 절차에서는 원본 계정에서 대상 계정으로 객체를 복사하고, 대상 계정에 인벤토리 보고서를 저장합니다.

다른 계정이 소유한 원본 버킷과 대상 버킷에 Amazon S3 인벤토리를 설정하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 인벤토리 보고서를 저장할 대상 버킷을 선택합니다.

    인벤토리 보고서를 저장할 대상 매니페스트 버킷을 결정합니다. 이 절차에서 대상 계정은 대상 매니페스트 버킷과 객체가 복사되는 버킷을 모두 소유한 계정입니다.

  3. 원본 버킷에 있는 객체를 열거하여 대상 매니페스트 버킷에 목록을 게시하도록 인벤토리를 구성합니다.

    원본 버킷에 대한 인벤토리 목록을 구성합니다. 이 작업을 수행할 때 목록을 저장할 대상 버킷을 지정합니다. 원본 버킷에 대한 인벤토리 보고서가 대상 버킷에 게시됩니다. 이 절차에서 원본 계정은 원본 버킷을 소유한 계정입니다.

    콘솔을 사용하여 인벤토리를 구성하는 방법에 대한 자세한 내용은 Amazon S3 인벤토리 구성 섹션을 참조하세요.

    출력 형식으로 CSV를 선택하세요.

    대상 버킷에 대한 정보를 입력할 때 다른 계정의 버킷을 선택하세요. 그런 다음 대상 매니페스트 버킷의 이름을 입력합니다. 선택적으로 대상 계정의 계정 ID를 입력할 수 있습니다.

    인벤토리 구성을 저장하면 콘솔에 다음과 유사한 메시지가 표시됩니다.

    Amazon S3은 대상 버킷에 버킷 정책을 생성할 수 없습니다. Amazon S3이 대상 버킷에 데이터를 저장할 수 있도록 다음 버킷 정책을 추가하려면 대상 버킷 소유자에게 요청하세요.

    그러면 콘솔에 대상 버킷에 사용할 수 있는 버킷 정책이 표시됩니다.

  4. 콘솔에 표시되는 대상 버킷 정책을 복사하세요.

  5. 대상 계정에서 인벤토리 보고서가 저장된 대상 매니페스트 버킷에 복사한 버킷 정책을 추가합니다.

  6. S3 배치 작업 신뢰 정책을 기반으로 하는 대상 계정에 역할을 생성합니다. 신뢰 정책에 대한 자세한 내용은 신뢰 정책 단원을 참조하세요.

    역할 생성에 대한 자세한 내용은 IAM 사용 설명서AWS 서비스에 대한 권한을 위임할 역할 생성을 참조하세요.

    역할의 이름을 입력하세요(예제 역할은 이름 BatchOperationsDestinationRoleCOPY 사용). S3 서비스를 선택한 다음, 신뢰 정책을 역할에 적용하는 S3 bucket Batch Operations(S3 버킷 배치 작업) 사용 사례를 선택하세요.

    그리고 정책 생성을 선택하여 다음 정책을 역할에 연결하세요.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsDestinationObjectCOPY", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectVersionAcl", "s3:PutObjectAcl", "s3:PutObjectVersionTagging", "s3:PutObjectTagging", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::ObjectDestinationBucket/*", "arn:aws:s3:::ObjectSourceBucket/*", "arn:aws:s3:::ObjectDestinationManifestBucket/*" ] } ] }

    이 역할은 정책을 사용하여 대상 버킷의 매니페스트를 읽을 수 있는 batchoperations.s3.amazonaws.com 권한을 부여합니다. 또한 원본 객체 버킷의 GET 객체, 액세스 제어 목록(ACL), 태그 및 버전에 대한 권한을 부여합니다. 또한 대상 객체 버킷의 PUT 객체 , ACL, 태그 및 버전에 대한 권한을 부여합니다.

  7. 원본 계정에서, 원본 버킷의 GET 객체, ACL, 태그 및 버전에 이전 단계에서 생성한 역할을 제공하는 원본 버킷에 대한 버킷 정책을 생성합니다. 이 단계에서는 신뢰할 수 있는 역할을 통해 S3 배치 작업이 원본 버킷에서 객체를 가져올 수 있습니다.

    다음은 원본 계정에 대한 버킷 정책의 예입니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::DestinationAccountNumber:role/BatchOperationsDestinationRoleCOPY" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::ObjectSourceBucket/*" } ] }
  8. 인벤토리 보고서를 사용할 수 있게 되면 대상 계정에 S3 배치 작업 PUT 객체 복사 작업을 생성하고 대상 매니페스트 버킷에서 인벤토리 보고서를 선택합니다. 대상 계정에서 생성한 역할에 대한 ARN이 필요합니다.

    작업 생성에 대한 일반적인 정보는 S3 배치 작업 건 생성 섹션을 참조하세요.

    콘솔을 사용하여 작업을 생성하는 방법에 대한 자세한 내용은 S3 배치 작업 건 생성 섹션을 참조하세요.