S3 Tables 복제 관리하기
S3 Tables 복제 관리하기 (Managing S3 Tables replication)
S3 Tables 복제를 구성한 뒤에는 복제본 상태를 모니터링해 무엇이 복제됐는지 확인할 수 있어요. 복제 상태는 Amazon S3 콘솔의 소스 테이블 Management 탭이나 AWS CLI로 확인할 수 있어요. 자세한 내용은 "Setting up S3 Tables replication" 문서를 참고하세요. 이 항목에서는 복제를 모니터링하고 복제가 완료되었는지, 진행 중인지, 실패했는지를 나타내는 여러 상태 값들을 이해하는 방법을 설명해요.
출처: 문서
본문
복제 상태 모니터링하기
복제 작업은 복제된 테이블에 대해 지속적으로 실행돼요. 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 Command Reference의 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.
- destinations – 구성된 각 복제 대상에 대한 상태 객체 배열. 각 대상 객체에는 다음이 포함돼요.
- replicationStatus – 이 대상의 현재 복제 상태(COMPLETED, PENDING, FAILED).
- destinationBucketARN – 대상 테이블 버킷의 ARN.
- destinationTableARN – 대상 버킷 안의 복제 테이블 ARN.
- lastSuccessfulReplicatedUpdate – 가장 최근의 성공적인 복제에 대한 정보:
- metadataLocation – 마지막으로 성공적으로 복제된 Iceberg 메타데이터 파일 이름. 이 값을 소스 테이블의 현재 메타데이터 위치와 비교해 복제가 최신 상태인지 판단할 수 있어요.
- timestamp – 이 메타데이터 파일이 대상으로 복제된 시점.
- failureMessage (상태가 FAILED일 때만 표시) – 복제가 실패한 이유를 설명하는 상세 오류 메시지.
복제 상태 값
각 대상에 대해 복제에는 세 가지 가능한 상태가 있어요.
- COMPLETED – 모든 소스 테이블 스냅샷이 대상으로 성공적으로 복제됨. 소스 테이블의 최신 메타데이터 위치가 마지막으로 복제된 메타데이터 위치와 일치함.
- PENDING – 복제가 진행 중이거나 새 커밋이 복제를 기다리고 있음. 소스 테이블의 최신 메타데이터 위치가 마지막으로 복제된 메타데이터 위치와 다름.
- FAILED – 이 테이블의 마지막 복제 작업이 실패함. 새 업데이트가 복제되지 않고 있음.
대상이 FAILED 상태를 보이면 자세한 내용은 failureMessage 필드를 확인하세요. 흔한 원인으로는 권한 부족, 대상 버킷을 찾을 수 없음, KMS 키 문제가 있어요. 근본 원인을 고친 후 서비스가 복제를 자동으로 재시도해요. 상태가 FAILED에서 PENDING으로, 그리고 COMPLETED로 전환되는 과정을 모니터링해 복구를 확인할 수 있어요.
더 알아보기 (Learn more)
- S3 Tables 복제 설정하기 (Setting up S3 Tables replication)
- AWS 리전, 엔드포인트, 서비스 할당량 (AWS Regions, endpoints, and quotas)