Amazon S3는 무엇을 복제하나요?

Amazon S3는 무엇을 복제하나요? (What does Amazon S3 replicate?)

Amazon S3는 복제용으로 구성된 버킷의 특정 항목만 복제해요.

출처: 문서

본문

관련 주제

복제 구성으로 복제되는 것

기본적으로 Amazon S3는 다음을 복제해요.

  • 복제 구성을 추가한 후 생성된 객체
  • 암호화되지 않은 객체
  • 고객 제공 키(SSE-C)로 암호화된 객체, Amazon S3 관리 키(SSE-S3) 또는 AWS Key Management Service에 저장된 KMS 키(SSE-KMS)로 저장 시 암호화된 객체. 자세한 내용은 암호화된 객체 복제하기(SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)를 참고하세요.
  • 원본 객체에서 복제본으로의 객체 메타데이터. 복제본에서 원본 객체로 메타데이터를 복제하는 방법에 대한 정보는 복제본 수정 동기화로 메타데이터 변경 복제하기를 참고하세요.
  • 버킷 소유자가 객체 및 ACL(액세스 제어 목록)을 읽을 권한이 있는 원본 버킷의 객체만. 리소스 소유권에 대한 자세한 내용은 Amazon S3 버킷 및 객체 소유권을 참고하세요.
  • 원본 및 대상 버킷이 같은 계정이 소유하지 않은 경우 Amazon S3가 복제본 소유권을 변경하도록 지시하지 않는 한 객체 ACL 업데이트. 자세한 내용은 복제본 소유자 변경을 참고하세요. Amazon S3가 두 ACL을 동기화하는 데 시간이 걸릴 수 있어요. 이 소유권 변경은 버킷에 복제 구성을 추가한 후 생성된 객체에만 적용돼요.
  • 객체 태그(있는 경우)
  • 객체 주석(있는 경우). 각 주석은 라이브 복제 중에 변경이 발생할 때 독립적으로 복제돼요. S3 Batch Replication 중에는 주석이 객체와 함께 독립적으로 복제되지만 개별 주석에 대한 별도 작업 작업은 없어요. 주석 복제가 실패하면 작업 작업이 실패하지만 객체의 복제 상태는 주석 실패를 반영하지 않아요.
  • S3 Object Lock 보존 정보(있는 경우). Amazon S3가 보존 정보가 적용된 객체를 복제할 때 대상 버킷에 구성된 기본 보존 기간을 재정의하고 복제본에도 동일한 보존 제어를 적용해요. 원본 버킷의 객체에 보존 제어가 적용되지 않고 기본 보존 기간이 설정된 대상 버킷으로 복제한다면 대상 버킷의 기본 보존 기간이 객체 복제본에 적용돼요. 자세한 내용은 Object Lock으로 객체 잠금하기를 참고하세요.

삭제 작업이 복제에 미치는 영향

원본 버킷에서 객체를 삭제하면 기본적으로 다음 작업이 발생해요.

  • 객체 버전 ID를 지정하지 않고 DELETE 요청을 하면 Amazon S3가 삭제 마커를 추가해요. Amazon S3는 삭제 마커를 다음과 같이 처리해요. 복제 구성의 최신 버전을 사용 중이라면(즉, 복제 구성 규칙에서 Filter 요소를 지정하면) Amazon S3는 기본적으로 삭제 마커를 복제하지 않아요. 그러나 태그 기반이 아닌 규칙에 삭제 마커 복제를 추가할 수 있어요. 자세한 내용은 버킷 간 삭제 마커 복제하기를 참고하세요. Filter 요소를 지정하지 않으면 Amazon S3는 복제 구성이 V1이라고 가정하고 사용자 작업으로 인한 삭제 마커를 복제해요. 그러나 Amazon S3가 수명 주기 작업으로 인해 객체를 삭제하면 삭제 마커는 대상 버킷으로 복제되지 않아요.
  • DELETE 요청에서 삭제할 객체 버전 ID를 지정하면 Amazon S3는 원본 버킷에서 해당 객체 버전을 삭제해요. 그러나 대상 버킷에서의 삭제는 복제하지 않아요. 즉 대상 버킷에서 동일한 객체 버전을 삭제하지 않아요. 이는 데이터를 악의적인 삭제로부터 보호해요.

복제 구성으로 복제되지 않는 것

기본적으로 Amazon S3는 다음을 복제하지 않아요.

  • 다른 복제 규칙으로 생성된 복제본인 원본 버킷의 객체. 예를 들어 버킷 A가 원본이고 버킷 B가 대상인 복제를 구성했다고 가정해요. 이제 버킷 B가 원본이고 버킷 C가 대상인 다른 복제 구성을 추가했다고 가정해요. 이 경우 버킷 A의 객체의 복제본인 버킷 B의 객체는 버킷 C로 복제되지 않아요. 복제본인 객체를 복제하려면 Batch Replication을 사용해요. Batch Replication 구성에 대해 자세히 알아보려면 기존 객체 복제하기를 참고하세요.
  • 이미 다른 대상으로 복제된 원본 버킷의 객체. 예를 들어 기존 복제 구성에서 대상 버킷을 변경하면 Amazon S3는 객체를 다시 복제하지 않아요. 이전에 복제된 객체를 복제하려면 Batch Replication을 사용해요. Batch Replication 구성에 대해 자세히 알아보려면 기존 객체 복제하기를 참고하세요.
  • Batch Replication은 대상 버킷에서 객체의 버전 ID로 삭제된 객체를 다시 복제하는 것을 지원하지 않아요. 이러한 객체를 다시 복제하려면 Batch Copy 작업으로 원본 객체를 제자리에 복사할 수 있어요. 객체를 제자리에 복사하면 원본 버킷에 객체의 새 버전이 생성되고 대상으로 복제가 자동으로 시작돼요. Batch Copy 사용 방법에 대한 자세한 내용은 Batch Operations를 사용해 객체를 복사하는 예제를 참고하세요.
  • 기본적으로 다른 AWS 계정에서 복제할 때 원본 버킷에 추가된 삭제 마커는 복제되지 않아요. 삭제 마커를 복제하는 방법에 대한 정보는 버킷 간 삭제 마커 복제하기를 참고하세요.
  • S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, S3 Intelligent-Tiering Archive Access 또는 S3 Intelligent-Tiering Deep Archive Access 스토리지 클래스 또는 계층에 저장된 객체. 이러한 객체를 복원하고 다른 스토리지 클래스로 복사할 때까지는 복제할 수 없어요. S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive에 대해 자세히 알아보려면 자주 접근하지 않는 객체용 스토리지 클래스를 참고하세요. S3 Intelligent-Tiering에 대해 자세히 알아보려면 Amazon S3 Intelligent-Tiering으로 스토리지 비용 관리하기를 참고하세요.
  • 버킷 소유자가 복제할 충분한 권한이 없는 원본 버킷의 객체. 객체 소유자가 버킷 소유자에게 권한을 부여하는 방법에 대한 정보는 버킷 소유자가 전체 제어권을 가지도록 하면서 객체 업로드를 위한 교차 계정 권한 부여하기를 참고하세요.
  • 버킷 수준 하위 리소스 업데이트. 예를 들어 원본 버킷의 수명 주기 구성을 변경하거나 알림 구성을 추가하면 이러한 변경이 대상 버킷에 적용되지 않아요. 이 기능을 사용하면 원본 및 대상 버킷에 다른 구성을 가질 수 있어요.
  • 수명 주기 구성이 수행하는 작업. 예를 들어 수명 주기 구성이 원본 버킷에만 활성화되어 있으면 Amazon S3는 만료된 객체에 대해 삭제 마커를 만들지만 해당 마커는 복제하지 않아요. 원본 및 대상 버킷 모두에 동일한 수명 주기 구성을 적용하려면 두 버킷 모두에서 동일한 수명 주기 구성을 활성화해요. 수명 주기 구성에 대한 자세한 내용은 객체의 수명 주기 관리를 참고하세요.
  • 라이브 복제에서 태그 기반 복제 규칙을 사용할 때 새 객체는 PutObject 작업에서 일치하는 복제 규칙 태그로 태그되어야 해요. 그렇지 않으면 객체가 복제되지 않아요. PutObject 작업 후에 객체에 태그가 지정되어도 해당 객체는 복제되지 않아요. PutObject 작업 후에 태그가 지정된 객체를 복제하려면 S3 Batch Replication을 사용해야 해요. Batch Replication에 대한 자세한 내용은 기존 객체 복제하기를 참고하세요.
  • 원본 버킷의 주석 삭제는 대상으로 복제되지 않아요. 원본에서 주석을 삭제하면 주석이 복제본에 유지돼요. 복제 규칙 필터를 사용해 복제에서 주석을 제외할 수 없어요. 복제가 구성되면 복제 역할 정책이 s3:ReplicateObjectAnnotation을 명시적으로 거부하지 않는 한 모든 주석 생성 및 업데이트가 복제돼요. 원본에서 주석이 다른 이름으로 반복적으로 삭제되고 다시 생성되면 삭제가 복제되지 않으므로 대상 복제본은 시간이 지남에 따라 주석이 축적돼요. 이 축적은 결국 대상이 객체 버전당 1,000개 주석 한도를 초과하게 만들 수 있어요. 원본의 주석 덮어쓰기(기존 주석 이름 업데이트)는 대상으로 복제돼요. 대상 주석 내용은 원본과 현재 상태를 유지해요.

더 알아보기 (Learn more)