테이블의 레코드 만료 - Amazon Simple Storage Service

테이블의 레코드 만료

기본적으로 S3 Tables의 레코드는 만료되지 않습니다. 테이블의 스토리지 비용을 최소화하기 위해 테이블에 대한 레코드 만료를 활성화 및 구성할 수 있습니다. 이 옵션을 사용하면 레코드가 만료될 때 Amazon S3가 테이블에서 레코드를 자동으로 제거합니다.

테이블에 대한 레코드 만료를 활성화하는 경우 레코드가 만료되기 전에 테이블에 레코드를 유지할 일수를 지정합니다. 일수는 1일부터 2,147,483,647일 사이로 지정할 수 있습니다. 예를 들어 테이블 레코드를 1년 동안 유지하려면 365일로 지정합니다. 그러면 레코드는 365일 동안 유지됩니다. 365일이 지나면 레코드가 만료되고 Amazon S3가 자동으로 레코드를 제거합니다.

특정 AWS 서비스, 현재 Amazon S3 Storage Lens 및 Amazon SageMaker Catalog의 특정 데이터 세트를 저장하는 AWS 관리형 테이블에 대한 레코드 만료를 활성화하고 구성할 수 있습니다. 레코드 만료 옵션은 현재 다른 AWS 관리형 테이블에 사용할 수 없습니다. Amazon S3 메타데이터 저널 테이블은 예외입니다. 저널 테이블은 서비스 수준에서 지정하는 고유한 레코드 만료 설정을 사용합니다. 이 테이블 유형에 대한 레코드 만료 구성에 대한 자세한 내용은 저널 테이블 레코드 만료시키기 섹션을 참조하세요. 생성한 S3 테이블에는 레코드 만료 옵션을 사용할 수 없습니다.

테이블에 대한 레코드 만료를 활성화한 후 언제든지 비활성화할 수 있습니다. 그런 다음 Amazon S3는 테이블에서 레코드 만료 및 제거를 중지합니다.

레코드 만료 작동 방식

레코드 만료는 레코드가 테이블의 레코드 만료 설정에 지정한 일수보다 오래된 경우 S3 테이블에서 레코드를 자동으로 제거합니다. 레코드가 만료되는 시기를 확인하기 위해 Amazon S3는 레코드에 특정 타임스탬프를 사용합니다. 타임스탬프 열 선택은 테이블의 테이블 스키마에서 직접 파생됩니다. 사용할 타임스탬프 열을 지정할 필요가 없습니다. 테이블은 AWS에서 관리하며 Amazon S3는 테이블에 대한 레코드 만료를 활성화할 때 사용할 적절한 열을 자동으로 선택합니다.

특정 Amazon S3 Storage Lens 지표 또는 특정 Amazon SageMaker Catalog 메타데이터를 저장하는 AWS 관리형 테이블에 대한 레코드 만료 설정을 활성화하고 구성할 수 있습니다. 레코드 만료 옵션은 해당 서비스에 대한 다음 AWS 관리형 테이블에 사용할 수 있습니다.

  • S3 Storage Lens – bucket_property_metrics, default_activity_metrics, default_storage_metrics, expanded_prefixes_activity_metrics, expanded_prefixes_storage_metrics. 이러한 테이블의 레코드가 만료되는 시기를 확인하기 위해 Amazon S3는 레코드의 report_time 필드를 사용합니다.

  • Amazon SageMaker Catalog – ASSET. 이 테이블의 레코드가 만료되는 시기를 확인하기 위해 Amazon S3는 레코드의 snapshot_time 필드를 사용합니다.

테이블에 대한 레코드 만료를 활성화하면 Amazon S3는 테이블에 대해 다음 작업을 수행하는 레코드 만료 작업을 실행하기 시작합니다.

  1. 지정된 만료 설정보다 오래된 레코드를 식별합니다.

  2. 만료된 레코드에 대한 참조를 제외하는 새 스냅샷을 생성합니다.

제거는 또한 테이블에 대한 유지 관리 구성 설정의 스냅샷 만료 및 참조되지 않은 파일 제거 설정을 기반으로 합니다. 이러한 설정에 대한 자세한 설명은 테이블 유지 관리 섹션을 참조하세요.

주의

Amazon S3는 레코드가 만료 대상이 된 후 24~48시간 이내에 레코드를 만료시키고 삭제합니다. 테이블 레코드는 최신 스냅샷에서 제거됩니다. 레코드의 데이터 및 스토리지는 테이블 유지 관리 작업을 통해 제거됩니다. 만료된 테이블 레코드는 복구할 수 없습니다.

테이블에 대한 레코드 만료 구성

Amazon S3 콘솔, Amazon S3 REST API, AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용하여 S3 테이블에 대한 레코드 만료 설정을 활성화, 구성 및 관리할 수 있습니다.

테이블에 대해 이러한 작업을 수행하기 전에 다음 AWS Identity and Access Management(IAM) 권한이 있는지 확인합니다.

  • s3tables:GetTableRecordExpirationConfiguration - 이 작업을 통해 테이블에 대한 현재 레코드 만료 설정에 액세스할 수 있습니다.

  • s3tables:PutTableRecordExpirationConfiguration - 이 작업을 통해 테이블에 대한 레코드 만료 설정을 활성화, 구성 및 비활성화할 수 있습니다.

  • s3tables:GetTableRecordExpirationJobStatus - 이 작업을 통해 테이블에 대한 레코드 만료 작업(작업)의 상태와 작업에 대한 액세스 지표를 모니터링할 수 있습니다.

다음 섹션에서는 Amazon S3 콘솔 및 AWS CLI를 사용하여 테이블에 대한 레코드 만료 설정을 활성화, 구성 및 비활성화하는 방법을 설명합니다. Amazon S3 REST API 또는 AWS SDK를 사용하여 이러한 작업을 수행하려면 PutTableRecordExpirationConfiguration 작업을 사용합니다. 자세한 내용은 Amazon Simple Storage Service API 참조Amazon S3로 개발을 참조하세요.

콘솔을 사용하여 S3 테이블에 대한 레코드 만료 설정을 활성화하고 구성하려면 다음 단계를 따릅니다.

  1. AWS Management 콘솔에 로그인한 후 https://console.aws.amazon.com/s3/에서 S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 테이블 버킷을 선택합니다.

  3. 테이블 버킷 페이지에서 테이블을 저장하는 버킷을 선택합니다.

  4. 테이블 탭에서 테이블을 선택합니다.

  5. 유지 관리 탭의 레코드 만료 섹션에서 편집을 선택합니다.

  6. 레코드 만료에서 활성화를 선택합니다.

  7. 레코드 만료까지의 일수의 경우 테이블에 레코드를 유지할 일수를 입력합니다. 이 값은 1~2,147,483,647 범위의 정수일 수 있습니다. 예를 들어 레코드를 1년 동안 유지하려면 365를 입력합니다.

    주의

    테이블의 레코드에 대한 적절한 보존 기간을 결정할 때 레코드가 만료된 후에는 복구할 수 없습니다.

  8. 변경 사항 저장을 선택합니다.

이후에 보존 기간을 변경하려면 이전 단계를 반복합니다.

나중에 레코드 만료를 비활성화하려면 1~5단계를 반복합니다. 그런 다음, 6단계에서 비활성화를 선택합니다. 변경 작업을 마치면 변경 사항 저장을 선택합니다.

AWS CLI를 사용하여 S3 테이블에 대한 레코드 만료 설정을 구성 및 관리하려면 put-table-record-expiration-configuration 명령을 실행합니다.

테이블에 적용할 레코드 만료 설정이 포함된 JSON 파일을 생성하여 시작할 수 있습니다. 다음 예제에서는 테이블에 대한 레코드 만료를 활성화하는 JSON 파일의 내용을 보여줍니다. 또한 테이블의 레코드에 대해 30일의 보존 기간을 지정합니다. 즉, 테이블 레코드가 30일 후에 만료되도록 지정합니다.

{ "status": "enabled", "settings": { "days": 30 { }

이전 예제를 사용하려면 user input placeholders를 실제 정보로 대체합니다.

주의

테이블의 레코드에 대한 적절한 보존 기간을 결정할 때 레코드가 만료된 후에는 복구할 수 없습니다.

테이블의 레코드 만료를 비활성화하려면 status 필드에 disabled를 지정하고 파일에서 settings 객체를 생략합니다. 예:

{ "status": "disabled" }

적용할 설정으로 JSON 파일을 생성한 후 put-table-record-expiration-configuration 명령을 실행합니다. table-arn 파라미터의 경우 테이블의 Amazon 리소스 이름(ARN)을 지정합니다. value 파라미터에 설정을 저장하는 파일의 이름을 지정합니다.

예를 들어 다음 명령은 테이블에 대한 레코드 만료 설정을 업데이트합니다. 설정은 record-expiration-config.json이라는 이름의 파일에 지정됩니다.

aws s3tables put-table-record-expiration-configuration \ --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table \ --value file://./record-expiration-config.json

이전 예제를 사용하려면 user input placeholders를 실제 정보로 대체합니다.

테이블의 레코드 만료 모니터링

S3 테이블에 대한 레코드 만료 작업의 상태 및 결과를 모니터링하려면 GetTableRecordExpirationJobStatus 작업을 사용하거나, AWS CLI를 사용하는 경우 get-table-record-expiration-job-status 명령을 실행합니다. 요청에서 테이블의 Amazon 리소스 이름(ARN)을 지정합니다.

예를 들어 다음 AWS CLI 명령은 테이블 버킷의 특정 테이블에 대한 레코드 만료 작업 상태를 검색합니다. 이 예제를 사용하려면 user input placeholders를 사용자의 정보로 대체합니다.

aws s3tables get-table-record-expiration-job-status \ --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table

요청이 성공하면 Amazon S3가 테이블에 대한 레코드 만료 작업을 가장 최근에 실행한 시간 및 해당 실행 상태와 같은 세부 정보를 제공하는 응답을 받게 됩니다. 가장 최근 실행이 성공한 경우, 응답에는 제거된 데이터 파일 및 레코드 수, 제거된 데이터의 총 크기와 같은 처리 지표도 포함됩니다. 가장 최근 실행 중에 오류가 발생한 경우 응답에는 실행이 실패한 이유를 설명하는 실패 메시지가 포함됩니다.

고려 사항

AWS 관리형 S3 테이블에 대한 레코드 만료 설정을 구성하고 관리할 때는 다음 사항에 유의합니다.

  • 레코드 만료는 지원되는 AWS 서비스, Amazon S3 Storage Lens 및 Amazon SageMaker Catalog에서 생성한 특정 AWS 관리형 테이블에만 사용할 수 있습니다. 또한 레코드 만료는 전체 테이블 버킷이 아닌 개별 테이블에만 사용할 수 있습니다.

  • 테이블이 만료되는 시기를 확인하기 위해 Amazon S3는 레코드에 특정 타임스탬프를 사용합니다. 이러한 타임스탬프는 Amazon S3가 테이블의 레코드를 수집한 시점이 아니라 데이터가 생성된 시점을 나타냅니다. 사용되는 타임스탬프 열은 테이블을 게시하는 서비스에 따라 달라집니다. S3 Storage Lens 지표의 경우 report_time 필드, Amazon SageMaker Catalog 메타데이터의 경우 snapshot_time 필드입니다. 테이블은 AWS에서 관리하므로 사용할 필드를 지정할 수 없습니다.

  • 데이터를 테이블로 내보낼 때 지연이 발생하면 레코드가 예상보다 빨리 만료될 수 있습니다. 따라서 테이블의 만료 설정에서 보존 기간에 버퍼를 추가하여 잠재적 수집 지연을 고려하는 것이 좋습니다.

  • 레코드는 만료 대상이 된 후 24~48시간 이내에 만료되고 제거됩니다. Amazon S3는 만료 대상이 된 후 즉시 만료되지 않고 레코드를 제거합니다.

  • 만료되고 제거된 레코드는 복구할 수 없습니다.