S3 Metadata 문제 해결

S3 Metadata 문제 해결 (Troubleshooting S3 Metadata)

Amazon S3 Metadata로 작업할 때 발생할 수 있는 일반적인 문제를 진단하고 해결하는 데 다음 정보를 활용하세요.

출처: 문서

본문

AWS 관리형 테이블 버킷과 메타데이터 테이블을 삭제할 수 없습니다

메타데이터 테이블을 삭제하려면 먼저 범용 버킷에서 연결된 메타데이터 테이블 구성을 삭제해야 해요. 자세한 내용은 메타데이터 테이블 구성 삭제를 참고하세요.

AWS 관리형 테이블 버킷을 삭제하려면 먼저 이 버킷과 연결된 모든 메타데이터 테이블 구성과 버킷의 모든 메타데이터 테이블을 삭제해야 해요. 자세한 내용은 메타데이터 테이블 구성 삭제와 메타데이터 테이블 삭제를 참고하세요.

AWS 관리형 메타데이터 테이블의 암호화 설정을 설정하거나 변경할 수 없습니다

메타데이터 테이블 구성을 만들 때 AWS 관리형 메타데이터 테이블을 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 암호화하도록 선택할 수 있어요. SSE-KMS를 사용하려면 범용 버킷과 같은 리전에 고객 관리형 KMS 키를 제공해야 해요. 테이블의 암호화 유형은 테이블 생성 시에만 설정할 수 있어요. AWS 관리형 테이블이 생성된 후에는 암호화 설정을 변경할 수 없어요. 메타데이터 테이블에 SSE-KMS를 지정하려면 특정 권한이 필요해요. 자세한 내용은 SSE-KMS 권한을 참고하세요.

메타데이터 테이블의 암호화 설정은 버킷 수준의 기본 암호화 설정보다 우선해요. 테이블에 암호화를 지정하지 않으면 버킷의 기본 암호화 설정을 상속해요.

기본적으로 AWS 관리형 테이블 버킷은 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)로 암호화돼요. 첫 번째 메타데이터 구성을 만든 후에는 AWS 관리형 테이블 버킷의 기본 암호화 설정을 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 변경할 수 있어요. 자세한 내용은 AWS 관리형 테이블 버킷 암호화와 테이블 버킷에서 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 지정을 참고하세요.

메타데이터 테이블 구성을 다시 만들려고 하면 오류가 발생합니다

메타데이터 테이블 구성을 삭제해도 구성만 삭제돼요. AWS 관리형 테이블 버킷과 메타데이터 테이블은 메타데이터 테이블 구성을 삭제해도 여전히 존재해요.

메타데이터 테이블 구성을 삭제했고 같은 범용 버킷에 대해 구성을 다시 만들고 싶다면, 먼저 AWS 관리형 테이블 버킷에서 이전 저널, 인벤토리, 주석 테이블을 수동으로 삭제해야 해요. 그렇지 않으면 해당 테이블이 이미 존재하므로 새 메타데이터 테이블 구성 생성이 실패해요.

메타데이터 테이블을 삭제하려면 메타데이터 테이블 삭제를 참고하세요.

구성에서 인벤토리 테이블을 활성화할 수 없습니다

2025년 7월 15일 이전에 S3 Metadata 구성을 만들었다면 해당 구성에서는 인벤토리 테이블을 활성화할 수 없어요. 구성을 삭제하고 다시 만들어서 인벤토리 테이블을 만들고 저널 테이블 레코드를 만료시킬 수 있도록 권장해요. 자세한 내용은 2025년 7월 15일 이전에 만든 메타데이터 구성에서 인벤토리 및 주석 테이블 활성화하기를 참고하세요.

구성에서 주석 테이블을 활성화할 수 없습니다

2025년 7월 15일 이전에 S3 Metadata 구성을 만들었다면 해당 구성에서는 주석 테이블을 활성화할 수 없어요. 구성을 삭제하고 다시 만들어서 주석 테이블과 인벤토리 테이블을 만들고 저널 테이블 레코드를 만료시킬 수 있도록 권장해요. 자세한 내용은 2025년 7월 15일 이전에 만든 메타데이터 구성에서 인벤토리 및 주석 테이블 활성화하기를 참고하세요.

구성에서 저널 테이블 레코드 만료를 활성화할 수 없습니다

2025년 7월 15일 이전에 S3 Metadata 구성을 만들었다면 해당 구성에서는 저널 테이블 레코드 만료를 활성화할 수 없어요. 구성을 삭제하고 다시 만들어서 저널 테이블 레코드를 만료시키고 인벤토리 테이블을 만들 수 있도록 권장해요. 자세한 내용은 2025년 7월 15일 이전에 만든 메타데이터 구성에서 인벤토리 및 주석 테이블 활성화하기를 참고하세요.

메타데이터 테이블을 조회할 수 없습니다

메타데이터 테이블을 조회할 수 없다면 다음을 확인하세요.

  • Amazon Athena 또는 Amazon Redshift로 메타데이터 테이블을 조회할 때는 메타데이터 테이블 네임스페이스 이름을 따옴표(")나 백틱(`)으로 감싸야 해요. 그렇지 않으면 쿼리가 작동하지 않을 수 있어요.
  • Amazon EMR의 Apache Spark 또는 기타 써드파티 엔진으로 메타데이터 테이블을 조회할 때는 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하는 것을 권장해요. 이 엔드포인트를 사용하지 않으면 쿼리가 제대로 실행되지 않을 수 있어요. 자세한 내용은 Amazon S3 Tables Iceberg REST 엔드포인트를 사용한 테이블 접근을 참고하세요.
  • 메타데이터 테이블을 조회할 수 있는 적절한 AWS Identity and Access Management(IAM) 권한이 있는지 확인하세요. 자세한 내용은 메타데이터 테이블 조회 권한을 참고하세요.
  • Amazon Athena를 사용 중이고 쿼리를 실행할 때 오류가 발생한다면 다음을 수행해요.
    • Athena에서 쿼리를 실행할 때 "Insufficient permissions to execute the query. Principal does not have any privilege on specified resource" 오류가 발생하면 테이블에 필요한 Lake Formation 권한이 부여되어야 해요. 자세한 내용은 테이블 또는 데이터베이스에 Lake Formation 권한 부여를 참고하세요.
    • 쿼리를 실행할 때 "Iceberg cannot access the requested resource" 오류가 발생하면 AWS Lake Formation 콘솔로 이동해서 만든 테이블 버킷 카탈로그와 데이터베이스(네임스페이스)에 권한을 부여했는지 확인하세요. 이 권한을 부여할 때 테이블은 지정하지 마세요. 자세한 내용은 테이블 또는 데이터베이스에 Lake Formation 권한 부여를 참고하세요.

특정 S3 Metadata AWS CLI 명령과 API 작업을 사용할 때 405 오류가 발생합니다

V2 메타데이터 테이블 구성에 대해 V1 GetBucketMetadataTableConfiguration API 작업을 호출하거나 get-bucket-metadata-table-configuration AWS Command Line Interface(AWS CLI) 명령을 사용하면 HTTP 405 Method Not Allowed 오류가 발생해요. 마찬가지로 V1 DeleteBucketMetadataTableConfiguration API 작업을 호출하거나 delete-bucket-metadata-table-configuration AWS CLI 명령을 사용해도 405 오류가 발생해요.

V2 GetBucketMetadataConfiguration API 작업이나 get-bucket-metadata-configuration AWS CLI 명령은 V1 또는 V2 메타데이터 테이블 구성에 사용할 수 있어요. 마찬가지로 V2 DeleteBucketMetadataConfiguration API 작업이나 delete-bucket-metadata-configuration AWS CLI 명령은 V1 또는 V2 메타데이터 테이블 구성에 사용할 수 있어요.

V1 API 작업 대신 새 V2 API 작업(CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration, DeleteBucketMetadataConfiguration)을 사용하도록 프로세스를 업데이트할 것을 권장해요. S3 Metadata의 V1에서 V2로 마이그레이션하는 방법에 대한 자세한 내용은 2025년 7월 15일 이전에 만든 메타데이터 구성에서 인벤토리 및 주석 테이블 활성화하기를 참고하세요.

구성이 V1인지 V2인지 확인하려면 GetBucketMetadataConfiguration API 응답의 다음 속성을 확인하면 돼요. AWS 관리형 버킷 유형("aws")은 V2 구성을 나타내고, 고객 관리형 버킷 유형("customer")은 V1 구성을 나타내요.

"MetadataTableConfigurationResult": {
            "TableBucketType": ["aws" | "customer"]

자세한 내용은 메타데이터 테이블 구성 보기를 참고하세요.

더 알아보기 (Learn more)