Amazon S3 인벤토리 - Amazon Simple Storage Service

Amazon S3 인벤토리

Amazon S3 Inventory는 Amazon S3에서 스토리지 관리를 지원하기 위해 제공하는 도구 중 하나로, 이 인벤토리를 사용하여 비즈니스, 규정 준수 및 규제 요건에 대한 객체의 복제 및 암호화 상태를 감사하고 보고할 수 있습니다. 또한 Amazon S3 동기식 List API 작업의 대안으로 Amazon S3 인벤토리를 사용하면 비즈니스 워크플로우 및 빅 데이터 업무를 단순화하고 속도를 높일 수 있습니다.

Amazon S3 인벤토리는 S3 버킷 또는 공유 접두사(즉, 공통 문자열로 시작하는 이름을 가진 객체)에 대해 매일 혹은 매주 객체 및 해당 메타데이터의 CSV(쉼표로 구분되는 값), Apache ORC(Optimized Row Columnar) 또는 Apache Parquet 파일 출력을 가능하게 합니다. 매주로 설정한 경우 보고서는 초기 보고서 이후 매주 일요일(UTC)에 생성됩니다. Amazon S3 인벤토리 요금에 대한 자세한 내용은 Amazon S3 요금을 참조하세요.

하나의 버킷에 대해 복수의 인벤토리 목록을 구성할 수 있습니다. 인벤토리에 포함시킬 객체 메타데이터, 모든 객체 버전을 목록에 포함시킬 것인지 혹은 최신 버전만을 목록에 포함시킬 것인지, 인벤토리 목록 파일 출력을 저장할 위치, 인벤토리를 매일 생성할 것인지 혹은 매주 생성할 것인지를 설정할 수 있습니다. 인벤토리 목록 파일을 암호화하도록 지정할 수도 있습니다.

Amazon Athena, Amazon Redshift Spectrum, 그리고 Presto, Apache HiveApache Spark와 같은 기타 도구를 사용하여 표준 SQL을 통해 Amazon S3 인벤토리에 쿼리할 수 있습니다. Athena를 사용하면 인벤토리 파일에서 쿼리를 실행할 수 있습니다. Athena가 사용 가능한 모든 리전에서 Amazon S3 인벤토리 쿼리를 위해 Athena를 사용할 수 있습니다.

원본 및 대상 버킷

인벤토리가 객체를 열거하는 버킷을 원본 버킷이라고 합니다. 인벤토리 목록 파일이 저장되는 버킷을 대상 버킷이라고 합니다.

원본 버킷:

인벤토리는 원본 버킷에 저장되어 있는 객체를 열거합니다. 전체 버킷에 대한 인벤토리 목록 또는 (객체 키 이름) 접두사로 필터링한 인벤토리 목록을 생성할 수 있습니다.

원본 버킷:

  • 인벤토리에 열거되어 있는 객체를 포함합니다.

  • 인벤토리 구성을 포함합니다.

대상 버킷

Amazon S3 인벤토리 목록 파일이 대상 버킷에 작성됩니다. 대상 버킷 내 일반적인 위치에 있는 모든 인벤토리 목록 파일을 그룹화하려면 인벤토리 구성에서 대상 접두사(객체 키 이름)를 지정할 수 있습니다.

대상 버킷:

  • 인벤토리 파일 목록을 포함합니다.

  • 대상 버킷에 저장되어 있는 모든 파일 인벤토리 목록이 열거된 매니페스트 파일을 포함합니다. 자세한 내용은 인벤토리 매니페스트 섹션을 참조하세요.

  • Amazon S3가 버킷의 소유권을 검증하고 파일을 버킷에 쓸 수 있도록 허용하는 버킷 정책이 반드시 있어야 합니다.

  • 소스 버킷과 동일한 AWS 리전 에 있어야 합니다.

  • 원본 버킷과 같을 수 있습니다.

  • 소스 버킷을 소유한 계정과 다른 AWS 계정 에서 소유할 수 있습니다.

Amazon S3 인벤토리 목록

인벤토리 목록 파일에는 원본 버킷에 있는 객체의 목록과 각 객체의 메타데이터가 포함됩니다. 인벤토리 목록은 대상 버킷에 GZIP으로 압축된 CSV 파일, ZLIB로 압축된 Apache ORC(Optimized Row Columnar) 파일 또는 Snappy로 압축된 Apache Parquet 파일로 저장됩니다. 객체는 키 이름을 기준으로 오름차순으로 정렬됩니다.

인벤토리 목록에는 S3 버킷에 있는 객체 목록과 목록 상의 각 객체에 대한 다음의 메타데이터가 포함됩니다.

  • Bucket name – 인벤토리 대상 버킷의 이름.

  • 키 이름 – 버킷에 있는 객체를 고유하게 식별하는 객체 키 이름(또는 키). CSV 파일 형식을 사용하는 경우 키 이름이 URL로 암호화되므로 사용하려면 디코딩해야 합니다.

  • 버전 ID – 객체 버전 ID. 버전 관리를 사용하는 버킷의 경우 Amazon S3는 버킷에 추가된 객체에 버전 번호를 지정합니다. 자세한 내용은 S3 버킷에서 버전 관리 사용 섹션을 참조하세요. (목록에 최신 버전의 객체만 있을 경우 이 필드는 포함되지 않습니다.)

  • IsLatest – 객체가 최신 버전인 경우 True로 설정됩니다. (목록에 최신 버전의 객체만 있을 경우 이 필드는 포함되지 않습니다.)

  • 크기 - 객체 크기(바이트).

  • 마지막 수정 날짜(Last modified date) - 객체 생성일 또는 최종 수정일 중 최근 날짜

  • ETag - 엔터티 태그는 객체의 해시입니다. ETag는 객체의 콘텐츠에 대한 변경 사항만 반영하고 메타데이터에 대한 변경을 반영하지 않습니다. ETag는 객체 데이터의 MD5 다이제스트일 수 있습니다. 다이제스트인지 여부는 객체 생성 방식 및 암호화 방식에 좌우됩니다.

  • 스토리지 클래스 - 객체 저장에 사용되는 스토리지 클래스. 자세한 내용은 Amazon S3 스토리지 클래스 사용 섹션을 참조하세요.

  • Multipart upload flag – 객체가 멀티파트 업로드로 업로드된 경우 True로 설정됩니다. 자세한 내용은 멀티파트 업로드를 사용한 객체 업로드 및 복사 섹션을 참조하세요.

  • 삭제 마커 – 객체가 삭제 마커인 경우 True로 설정됩니다. 자세한 내용은 S3 버킷에서 버전 관리 사용 섹션을 참조하세요. (모든 버전의 객체를 포함하도록 보고서를 구성한 경우 이 필드는 보고서에 자동으로 추가됩니다.)

  • 복제 상태PENDING, COMPLETED, FAILED 또는 REPLICA로 설정합니다. 자세한 내용은 복제 상태 정보 가져오기 섹션을 참조하세요.

  • Encryption statusSSE-S3, SSE-C, SSE-KMS 또는 NOT-SSE로 설정됩니다. SSE-S3, SSE-KMS 및 고객 제공 키를 사용하는 SSE(SSE-C)에 대한 서버 측 암호화 상태입니다. NOT-SSE 상태는 객체가 서버 측 암호화를 사용하여 암호화되지 않은 것을 의미합니다. 자세한 내용은 암호화를 사용하여 데이터 보호 섹션을 참조하세요.

  • S3 객체 잠금 보관 종료일 – 잠긴 객체를 삭제할 수 없는 기한. 자세한 내용은 S3 객체 잠금 사용 섹션을 참조하세요.

  • S3 객체 잠금 모드 – 잠긴 객체에 대해 Governance 또는 Compliance로 설정합니다. 자세한 내용은 S3 객체 잠금 사용 섹션을 참조하세요.

  • S3 객체 잠금 법적 보존 상태 – 법적 보존이 객체에 적용된 경우 , 그렇지 않으면 On으로 설정합니다. 그렇지 않으면 Off로 설정됩니다. 자세한 내용은 S3 객체 잠금 사용 섹션을 참조하세요.

  • Intelligent-Tiering access tier – 지능형 계층화로 저장된 경우 객체의 액세스 티어(Frequent Access 또는 Infrequent Access). 자세한 내용은 변경되는 또는 알 수 없는 액세스 패턴으로 데이터를 자동으로 최적화하는 스토리지 클래스 섹션을 참조하세요.

  • S3 버킷 키 상태ENABLED 또는 DISABLED로 설정합니다. 객체가 서버 측 암호화에 대해 S3 버킷 키를 사용하는지 여부를 나타냅니다. 자세한 내용은 Amazon S3 버킷 키 사용 섹션을 참조하세요.

오래된 인벤토리 목록을 삭제하는 수명 주기 정책을 생성할 것을 권장합니다. 자세한 내용은 스토리지 수명 주기 관리 섹션을 참조하세요.

인벤토리 일관성

모든 객체가 각 인벤토리 목록에 나타나지 않을 수도 있습니다. 인벤토리 목록은 새 객체 및 덮어쓰기의 PUT에 대한 최종 일관성과 DELETE에 대한 최종 일관성을 제공합니다. 인벤토리 목록은 최종 일관성을 지닌 버킷 항목의 롤링 스냅샷입니다(즉, 최근에 추가되거나 삭제된 객체가 목록에 포함되지 않을 수 있습니다).

객체에 대한 작업을 수행하기 전에 객체 상태의 유효성을 검증하려면 객체의 메타데이터를 가져오도록 HEAD Object REST API 요청을 수행하거나 Amazon S3 콘솔에서 객체의 속성을 확인하는 것이 좋습니다. AWS CLI 또는 AWS SDK를 사용하여 객체 메타데이터를 확인할 수도 있습니다. 자세한 내용은 Amazon Simple Storage Service API ReferenceHEAD Object를 참조하세요.

S3 인벤토리 작업에 대한 자세한 내용은 다음 주제를 참조하세요.