View a markdown version of this page

S3 Tables 복제 관리 - Amazon Simple Storage Service

S3 Tables 복제 관리

S3 Tables 복제를 구성한 후 복제본 상태를 모니터링하여 복제된 항목을 확인할 수 있습니다. 소스 테이블의 관리 탭에 있는 Amazon S3 콘솔에서 또는 AWS CLI를 사용하여 복제 상태를 확인할 수 있습니다. 자세한 내용은 S3 Tables 복제 설정 섹션을 참조하세요. 이 주제에서는 복제를 모니터링하고 복제가 완료되었는지, 진행 중인지 또는 실패했는지를 나타내는 다양한 상태 값을 이해하는 방법을 설명합니다.

복제 상태 모니터링

복제 작업은 복제된 테이블에 대해 지속적으로 실행됩니다. GetTableReplicationStatus API를 사용하여 복제 상태를 쿼리하거나 Amazon S3 콘솔에서 볼 수 있습니다.

AWS CLI를 사용하여 복제 상태를 가져오려면

다음 예제에서는 GetTableReplicationStatus API를 사용하여 복제 상태를 가져옵니다.

aws s3tables get-table-replication-status \ --table-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket/table/sales-data

예상 결과:

{ "sourceTableARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket/table/sales-data", "destinations": [ { "replicationStatus": "COMPLETED", "destinationBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket", "destinationTableARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket/table/sales-data", "lastSuccessfulReplicatedUpdate": { "metadataLocation": "latest_table_metadata.json", "timestamp": "2025-11-15T14:30:00Z" } }, { "replicationStatus": "PENDING", "destinationBucketARN": "arn:aws:s3tables:eu-west-1:111122223333:bucket/amzn-s3-demo-table-bucket-eu-bucket", "destinationTableARN": "arn:aws:s3tables:eu-west-1:111122223333:bucket/amzn-s3-demo-table-bucket-eu-bucket/table/sales-data", "lastSuccessfulReplicatedUpdate": { "metadataLocation": "latest_table_metadata.json", "timestamp": "2025-11-15T14:25:00Z" } } ] }

자세한 내용은 AWS CLI 명령 참조에서 get-table-replication-status를 참조하세요.

다음 예제에서는 failureMessage 필드가 포함된 FAILED 상태의 대상을 보여줍니다.

{ "replicationStatus": "FAILED", "destinationBucketARN": "arn:aws:s3tables:eu-west-1:444455556666:bucket/amzn-s3-demo-table-bucket-partner", "destinationTableARN": "arn:aws:s3tables:eu-west-1:444455556666:bucket/amzn-s3-demo-table-bucket-partner/table/sales-data", "failureMessage": "Insufficient permissions given to successfully complete replication." }
참고

get-table-replication 명령은 복제 구성(역할, 규칙, 대상)을 반환합니다. get-table-replication-status 명령은 복제 상태(COMPLETED, PENDING 또는 FAILED), 마지막으로 복제된 메타데이터, 오류 메시지를 반환합니다.

응답 이해

응답에는 다음 요소가 포함됩니다.

  • sourceTableARN - 복제되는 소스 테이블의 ARN입니다.

  • 대상 - 구성된 복제 대상마다 하나씩 대상 상태 객체의 배열입니다. 각 대상 객체에는 다음이 포함됩니다.

    • replicationStatus - 이 대상의 현재 복제 상태(완료, 보류 중 또는 실패)입니다.

    • destinationBucketARN - 대상 테이블 버킷의 ARN입니다.

    • destinationTableARN - 대상 버킷에 있는 복제본 테이블의 ARN입니다.

    • lastSuccessfulReplicatedUpdate – 가장 최근에 성공한 복제에 대한 정보:

      • metadataLocation - 마지막으로 성공적으로 복제된 Iceberg 메타데이터 파일 이름입니다. 이를 소스 테이블의 현재 메타데이터 위치와 비교하여 복제가 최신 상태인지 확인합니다.

      • timestamp - 이 메타데이터 파일이 대상으로 복제된 시간입니다.

    • failureMessage(상태가 실패인 경우에만 표시됨) - 복제가 실패한 이유를 설명하는 자세한 오류 메시지입니다.

복제 상태 값

복제는 각 대상에 대해 세 가지 상태를 가질 수 있습니다.

  • 완료 - 모든 소스 테이블 스냅샷이 대상에 성공적으로 복제되었습니다. 소스 테이블의 최신 메타데이터 위치가 마지막으로 복제된 메타데이터 위치와 일치합니다.

  • 보류 중 - 복제가 진행 중이거나 새 커밋이 복제되기를 기다리고 있습니다. 소스 테이블의 최신 메타데이터 위치가 마지막으로 복제된 메타데이터 위치와 다릅니다.

  • 실패 - 이 테이블의 마지막 복제 작업이 실패했습니다. 새 업데이트가 복제되지 않습니다.

대상에 FAILED 상태가 표시되면 failureMessage 필드에서 세부 정보를 확인합니다. 일반적인 원인으로는 권한 부족, 대상 버킷을 찾을 수 없음, KMS 키 문제 등이 있습니다. 근본 원인을 해결하면 서비스가 자동으로 복제를 재시도합니다. 상태가 FAILED에서 PENDING으로, PENDING에서 COMPLETED로 전환될 때 복구를 모니터링할 수 있습니다.