Storage Insights 인벤토리 보고서

Storage Insights 인벤토리 보고서 기능을 사용하면 객체 스토리지를 대규모로 관리할 수 있습니다. 이 방식은 Objects: list API 작업에 대한 보다 빠르고 예정된 대안입니다.

인벤토리 보고서에는 객체의 스토리지 클래스, ETag, 콘텐츠 유형과 같은 객체의 메타데이터 정보가 포함됩니다. 이 정보는 스토리지 비용을 분석하고, 객체를 감사 및 검증하고, 데이터 보안 및 규정 준수를 보장하는 데 도움이 됩니다. 인벤토리 보고서를 쉼표로 구분된 값(CSV) 또는 Apache Parquet 파일로 내보내 BigQuery와 같은 도구를 사용하여 추가로 분석할 수 있습니다.

이 페이지에서는 Storage Insights 인벤토리 보고서 기능에 대한 개요를 제공합니다. 기능을 사용하는 방법에 대한 안내는 인벤토리 보고서 만들기 및 관리를 참조하세요.

인벤토리 보고서 개요

인벤토리 보고서에는 소스 버킷이라고도 하는 특정 버킷의 객체와 관련 메타데이터 목록이 포함됩니다. 인벤토리 보고서를 생성하려면 먼저 보고서가 생성되는 빈도, 보고서에 포함할 메타데이터 필드, 보고서를 만들고 저장할 버킷(대상 버킷이라고도 함)을 정의하는 인벤토리 보고서 구성을 만듭니다.

인벤토리 보고서 구성을 만들면 범용 고유 식별자(UUID)가 자동으로 할당됩니다. 이 필드는 수정할 수 없습니다. 그러나 인벤토리 보고서 구성의 다음 필드는 수정할 수 있습니다.

  • 인벤토리 보고서 구성의 표시 이름
  • 인벤토리 보고서에 포함된 객체 메타데이터 필드
  • 인벤토리 보고서를 저장하는 대상 버킷
  • 인벤토리 보고서가 생성되는 빈도를 결정하는 일정
  • 인벤토리 보고서가 생성되는 파일 형식(CSV 또는 Apache Parquet)

인벤토리 보고서 구성을 삭제하면 해당 구성에 대해 더 이상 새 인벤토리 보고서가 생성되지 않지만 기존 인벤토리 보고서는 유지됩니다.

소스 및 대상 버킷

소스 버킷에는 인벤토리 보고서를 생성할 객체가 포함됩니다. 또한 인벤토리 보고서 구성이 포함됩니다. 소스 버킷에는 인벤토리 보고서 구성을 최대 100개까지 포함할 수 있습니다.

대상 버킷은 생성된 인벤토리 보고서를 저장합니다. 대상 버킷은 다음 요구사항을 충족해야 합니다.

  • 소스 버킷과 동일한 위치에 있어야 합니다.
  • 소스 버킷과 동일한 프로젝트에 있어야 합니다.
  • 소스 버킷과 동일할 수 있습니다.

인벤토리 보고서 구성을 처음 만들면 사용자를 대신하여 서비스 에이전트가 자동으로 생성됩니다. 인벤토리 보고서 구성을 만들고 대상 버킷에 인벤토리 보고서를 작성하려면 개발자와 서비스 에이전트 모두 필요한 IAM 권한이 있어야 합니다. 개발자서비스 에이전트에 필요한 권한을 참조하세요.

Storage Insights는 소스 및 대상 버킷의 이름을 사용하여 작업을 실행할 때 사용할 버킷을 결정합니다. 소스 또는 대상 버킷을 삭제하고 나중에 같은 이름으로 새 버킷을 만들 경우 Storage Insights가 새 버킷을 사용하여 작업을 실행합니다.

객체 메타데이터 필드

다음 메타데이터 필드를 인벤토리 보고서에 포함할 수 있습니다. '필수'로 표시된 메타데이터 필드는 인벤토리 보고서에 포함되어야 합니다.

메타데이터 필드 설명 참고
프로젝트 소스 버킷이 있는 프로젝트 ID 필수
버킷 소스 버킷의 이름입니다. 필수
name 객체 이름입니다. 필수
위치 소스 버킷의 위치입니다. 선택사항
크기 객체 크기입니다. 선택사항
timeCreated RFC 3339 형식의 객체 생성 시간입니다. 선택사항
timeDeleted RFC 3339 형식의 객체 삭제 시간입니다. 이 버전의 객체가 더 이상 서비스 중인 버전이 아니지만 버킷에 이전 버전으로 남아 있는 경우에만 반환됩니다. 선택사항
업데이트 RFC 3339 형식의 객체 메타데이터 수정 시간입니다. 선택사항
storageClass 객체의 스토리지 클래스입니다. 선택사항
etag 객체의 HTTP 1.1 항목 태그입니다. 선택사항
retentionExpirationTime 객체를 삭제할 수 있는 가장 이른 시간이며 객체에 설정된 보관 구성 및 객체가 포함된 버킷에 설정된 보관 정책에 따라 달라집니다. retentionExpriationTime의 값은 RFC 3339 형식으로 제공됩니다. 선택사항
crc32c RFC 4960 부록 B의 설명대로 CRC32C 체크섬은 big-endian 바이트 순서로 base64를 사용하여 인코딩됩니다. CRC32C 체크섬 사용에 대한 자세한 내용은 해시 및 eTag를 참조하세요. 선택사항
md5Hash base64를 사용하여 인코딩된 데이터의 MD5 해시입니다. 이 필드는 복합 객체에는 없습니다. MD5 해시 사용에 대한 자세한 내용은 해시 및 eTag를 참조하세요. 선택사항
generation 이 객체의 콘텐츠 세대입니다. 객체 버전 관리에 사용됩니다. 선택사항
metageneration 세대에서 이 객체의 메타데이터 버전입니다. 전제조건과 메타데이터 변경사항 감지에 사용됩니다. metageneration 번호는 특정 객체의 특정 세대 컨텍스트에서만 의미가 있습니다. 선택사항
contentType 객체 데이터의 Content-Type입니다. 객체가 콘텐츠 유형 없이 저장되면 application/octet-stream으로 제공됩니다. 선택사항
contentEncoding 객체 데이터의 Content-Encoding입니다. 선택사항
timeStorageClassUpdated 객체의 스토리지 클래스가 마지막으로 변경된 시간입니다. 객체가 처음 생성되면 timeCreated로 설정됩니다. 선택사항

객체 메타데이터 필드에 대한 자세한 내용은 객체 메타데이터를 참조하세요.

인벤토리 보고서 샤드

인벤토리 보고서에 1,000,000개가 넘는 객체가 포함된 경우 Storage Insights에서는 하나 이상의 샤드 객체를 생성하여 인벤토리 보고서를 구성합니다. 인벤토리 보고서의 모든 샤드가 성공적으로 생성되면 샤드와 동일한 대상 버킷에 매니페스트 파일이 생성됩니다.

인벤토리 보고서 매니페스트 파일

매니페스트 파일이 있다는 것은 인벤토리 보고서를 구성하는 모든 샤드가 생성되었음을 나타냅니다. 또한 매니페스트 파일은 인벤토리 보고서 샤드 객체의 이름을 제공합니다.

매니페스트 파일은 REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json 이름 지정 규칙 따릅니다. 각 항목의 의미는 다음과 같습니다.

  • REPORT_CONFIG_UUID는 인벤토리 보고서 구성의 자동 생성된 UUID입니다.

  • TARGET_DATETIME은 인벤토리 보고서가 생성되는 자동 생성 UTC 날짜 및 시간입니다.

매니페스트 파일 이름의 예시는 fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json입니다.

manifest.json 파일에는 다음과 같이 자동으로 입력된 필드가 포함됩니다.

{
  "report_config": REPORT_CONFIG_FIELDS,
  "records_processed": NUMBER_OF_INCLUDED_OBJECTS,
  "snapshot_time": "SNAPSHOT_TIME,
  "target_datetime": "TARGET_DATETIME,
  "shard_count": SHARD_COUNT,
  "report_shards_file_names": [
    SHARD_FILE_NAME
    ...]
}

각 항목의 의미는 다음과 같습니다.

  • REPORT_CONFIG_FIELDS에는 ReportConfig 리소스 내에 포함된 필드가 있습니다.

  • NUMBER_OF_INCLUDED_OBJECTS는 인벤토리 보고서에 포함된 객체 수입니다.

  • SNAPSHOT_TIME은 데이터 스냅샷이 발생하는 자동 생성된 UTC 날짜/시간입니다. 인벤토리 보고서의 모든 데이터는 스냅샷에서 캡처됩니다.

  • TARGET_DATETIME은 인벤토리 보고서가 생성되는 자동 생성 UTC 날짜/시간입니다.

  • SHARD_COUNT는 인벤토리 보고서를 구성하는 생성된 샤드의 총 개수입니다.

  • SHARD_FILE_NAME은 인벤토리 보고서를 구성하는 샤드의 이름입니다.

예시 manifest.json 파일은 다음과 같습니다.

{
  "report_config":
     {
       "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0",
       "createTime": "2023-06-08T08:07:53.397366139Z",
       "updateTime": "2023-06-08T08:07:53.552347723Z",
       "frequencyOptions": {
         "frequency": "DAILY",
         "startDate": {
           "year": 2023,
           "month": 6,
           "day": 9
         }
         "endDate": {
           "year": 2023,
           "month": 6,
           "day": 23
         }
       },
       "csvOptions": {
         "recordSeparator": "\n",
         "delimiter": ","
       },
       "objectMetadataReportOptions": {
         "metadataFields": [
           "project",
           "bucket",
           "name",
           "location",
           "updated",
           "storageClass",
         ],
         "storageFilters": {
           "bucket": "my-test-bucket"
         },
         "storageDestinationOptions": {
           "bucket": "example-bucket",
           "destinationPath": "folder/subfolder"
         }
       }
     },
  "records_processed": 3993900,
  "snapshot_time" : "2023-06-06T00:07:27Z",
  "target_datetime": {
    "year": 2023,
    "month": 6,
    "day": 6
  },
  "shard_count": 4,
  "report_shards_file_names": [
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv",
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv",
    ...
  ],
}

가격 책정 및 지원되는 버킷 위치

Storage Insights에는 가격 책정이 적용되며 인벤토리 보고서에 포함된 100만 객체당 스토리지 위치에 따라 아래 가격으로 청구됩니다. 스토리지 위치에 대한 자세한 내용은 버킷 위치를 참조하세요.

지원되는 위치

위치 리전 가격 책정
아시아
타이완(asia-east1) 객체 100만 개당 $0.0025
홍콩(asia-east2) 객체 100만 개당 $0.0028
도쿄(asia-northeast1) 객체 100만 개당 $0.0028
오사카(asia-northeast2) 객체 100만 개당 $0.0028
서울(asia-northeast3) 객체 100만 개당 $0.0028
싱가포르(asia-southeast1) 객체 100만 개당 $0.0025
오스트레일리아
시드니(australia-southeast1) 객체 100만 개당 $0.0028
멜버른(australia-southeast2) 객체 100만 개당 $0.0028
유럽
바르샤바(europe-central2) 객체 100만 개당 $0.0028
핀란드(europe-north1) 객체 100만 개당 $0.0025
마드리드(europe-southwest1) 객체 100만 개당 $0.0028
벨기에(europe-west1) 객체 100만 개당 $0.0025
런던(europe-west2) 객체 100만 개당 $0.0028
프랑크푸르트(europe-west3) 객체 100만 개당 $0.0028
네덜란드(europe-west4) 객체 100만 개당 $0.0025
취리히(europe-west6) 객체 100만 개당 $0.0031
밀라노(europe-west8) 객체 100만 개당 $0.0028
파리(europe-west9) 객체 100만 개당 $0.0028
인도
뭄바이(asia-south1) 객체 100만 개당 $0.0028
델리(asia-south2) 객체 100만 개당 $0.0028
인도네시아
자카르타(asia-southeast2) 객체 100만 개당 $0.0028
중동
텔아비브(me-west1) 객체 100만 개당 $0.0026
북미
몬트리올(northamerica-northeast1) 객체 100만 개당 $0.0028
토론토(northamerica-northeast2) 객체 100만 개당 $0.0028
아이오와(us-central1) 객체 100만 개당 $0.0025
사우스캐롤라이나(us-east1) 객체 100만 개당 $0.0025
북버지니아(us-east4) 객체 100만 개당 $0.0028
콜럼버스(us-east5) 객체 100만 개당 $0.0025
오리건(us-west1) 객체 100만 개당 $0.0025
로스앤젤레스(us-west2) 객체 100만 개당 $0.0028
솔트레이크시티(us-west3) 객체 100만 개당 $0.0028
라스베이거스(us-west4) 객체 100만 개당 $0.0028
댈러스(us-south1) 객체 100만 개당 $0.0025
남미
상파울루(southamerica-east1) 객체 100만 개당 $0.0043
산티아고(southamerica-west1) 객체 100만 개당 $0.0037
멀티 리전
아시아(asia) 객체 100만 개당 $0.0028
유럽(eu) 객체 100만 개당 $0.0028
미국(us) 객체 100만 개당 $0.0028
이중 리전
도쿄/오사카(asia1) 객체 100만 개당 $0.0028
핀란드/네덜란드(eur4) 객체 100만 개당 $0.0028
아이오와/사우스캐롤라이나(nam4) 객체 100만 개당 $0.0028

감사 로깅

Cloud Storage는 인벤토리 보고서가 대상 버킷에 생성될 때 감사 로그를 만듭니다. Storage Insights는 인벤토리 보고서 구성이 생성, 업데이트, 삭제될 때마다 감사 로그를 생성합니다.

인벤토리 보고서 구성이 소스 버킷에서 객체 메타데이터를 읽을 때는 Cloud Storage가 감사 로그를 만들지 않습니다.

VPC 서비스 제어와 통합

VPC 서비스 제어를 사용하여 Storage Insights 리소스에 대한 추가 보안 레이어를 제공할 수 있습니다. VPC 서비스 제어를 사용하는 경우 경계 외부에서 발생하는 요청으로부터 리소스와 서비스를 보호하는 서비스 경계에 프로젝트를 추가합니다. VPC 서비스 제어 및 서비스 경계에 대한 자세한 내용은 서비스 경계 세부정보 및 구성을 참조하세요.

다음 단계

인벤토리 보고서 구성을 만들고 인벤토리 보고서를 생성하는 방법을 알아보세요.