메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

객체의 복제 상태를 확인하는 방법

교차 리전 복제에는 복제를 구성하는 원본 버킷과 Amazon S3가 객체를 복제하는 대상 버킷이 있습니다. 이러한 버킷에서 객체(GET Object)나 객체 메타데이터(HEAD Object)를 요청하면 Amazon S3가 그에 응답해 다음과 같이 x-amz-replication-status 헤더를 반환합니다.

  • 원본 버킷에서 객체를 요청하면 요청한 객체가 복제에 적합한 경우 Amazon S3에서 x-amz-replication-status 헤더를 반환합니다.

    예를 들어, 복제 구성에 객체 접두사 TaxDocs를 지정해 Amazon S3에게 키 이름 접두사가 TaxDocs인 객체의 복제를 요청한다고 가정합니다. 그러면, 해당 키 이름 접두사로 업로드된 객체, 예를 들어 TaxDocs/document1.pdf는 복제하기에 적합합니다. 이렇게 키 이름 접두사를 사용한 객체 요청에 대해 Amazon S3는 객체 복제 상태를 표시하는 값 PENDING, COMPLETED 또는 FAILED가 포함된 x-amz-replication-status 헤더를 반환합니다.

  • 대상 버킷으로부터 객체를 요청하면 해당 객체가 Amazon S3에서 생성한 복제본인 경우 Amazon S3는 REPLICA 값이 포함된 x-amz-replication-status 헤더를 반환합니다.

AWS CLI나 AWS SDK를 사용한 프로그래밍 방식으로 콘솔에서 객체 복제 상태를 찾을 수 있습니다.

  • 콘솔에서 객체를 선택하고 [Properties]를 선택하여 복제 상태 외 객체 속성을 확인합니다.

    참고

    또한 S3 인벤토리 기능을 사용하여 버킷 내 모든 객체의 복제 상태를 가져올 수도 있습니다. 그러면 S3이 구성된 대상 버킷에 .csv 파일을 전달합니다. S3 인벤토리에 대한 자세한 정보는 Amazon S3 스토리지 인벤토리 단원을 참조하십시오.

  • 그림과 같이 head-object AWS CLI 명령으로 객체 메타데이터 정보를 검색할 수 있습니다.

    Copy
    aws s3api head-object --bucket source-bucket --key object-key --version-id object-version-id  

    해당 명령은 다음의 응답 예와 같이 ReplicationStatus가 포함된 객체 메타데이터 정보를 반환합니다.

    Copy
    { "AcceptRanges":"bytes", "ContentType":"image/jpeg", "LastModified":"Mon, 23 Mar 2015 21:02:29 GMT", "ContentLength":3191, "ReplicationStatus":"COMPLETED", "VersionId":"jfnW.HIMOfYiD_9rGbSkmroXsFj3fqZ.", "ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"", "Metadata":{ } }
  • AWS SDK로 객체의 복제 상태를 검색할 수 있습니다. 다음은 Java용 AWS SDK와 .NET용 AWS SDK를 사용하는 코드 조각입니다.

    • Java용 AWS SDK

      Copy
      GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(bucketName, bucketName); metadataRequest.setKey(key); ObjectMetadata metadata = s3Client.getObjectMetadata(metadataRequest); System.out.println("Replication Status : " + metadata.getRawMetadataValue(Headers.OBJECT_REPLICATION_STATUS));
    • .NET용 AWS SDK

      Copy
      GetObjectMetadataRequest getmetadataRequest = new GetObjectMetadataRequest { BucketName = sourceBucket, Key = objectKey }; GetObjectMetadataResponse getmetadataResponse = client.GetObjectMetadata(getmetadataRequest); Console.WriteLine("Object replication status: {0}", getmetadataResponse.ReplicationStatus);

참고

복제가 활성화된 원본 버킷에서 객체를 삭제하려면, 먼저 완전히 복제가 되었는지 복제 상태를 확인해야 합니다.

원본 버킷에서 수명 주기 구성이 활성화된 경우, 객체 상태가 COMPLETED 또는 FAILED로 표시될 때까지 Amazon S3는 수명 주기 작업을 보류합니다.

리전 간 복제

이 페이지에서: