Storage Insights のインベントリ レポート

Storage Insights のインベントリ レポート機能を使用すると、大規模なオブジェクト ストレージを管理できます。これは、Objects: list API オペレーションに代わる、高速でスケジュール可能な機能です。

インベントリ レポートには、オブジェクトのストレージ クラス、ETag、コンテンツ タイプなど、オブジェクトに関するメタデータ情報が含まれています。この情報は、ストレージ費用の分析、オブジェクトの監査と検証、データ セキュリティとコンプライアンスの確保に役立ちます。インベントリ レポートをカンマ区切り値(CSV)ファイルまたは Apache Parquet ファイルとしてエクスポートすると、BigQuery などのツールでさらに詳しい分析を行うことができます。

このページでは、Storage Insights インベントリ レポート機能の概要について説明します。この機能の使用方法については、インベントリ レポートの作成と管理をご覧ください。

インベントリ レポートの概要

インベントリ レポートには、オブジェクトと、特定のバケット(ソースバケット)に関連付けられたメタデータのリストが含まれます。インベントリ レポートを生成するには、まず、レポートの生成頻度、レポートに含めるメタデータ フィールド、レポートを生成して保存するバケット(宛先バケット)を定義するインベントリ レポートの構成を作成する必要があります。

インベントリ レポートの構成を作成すると、自動的に UUID(universally unique identifier)が割り当てられます。このフィールドは編集できません。インベントリ レポート構成の次のフィールドは編集可能です。

  • インベントリ レポート構成の表示名
  • インベントリ レポートに含まれるオブジェクトのメタデータ フィールド
  • インベントリ レポートを保存する宛先バケット
  • スケジュール。これにより、インベントリ レポートの生成頻度が決まります。
  • インベントリ レポートが生成されるファイル形式(CSV または Apache Parquet)

インベントリ レポートの構成を削除すると、この構成の新しいインベントリ レポートは生成されなくなりますが、既存のインベントリ レポートは残ります。

ソースバケットと宛先バケット

ソースバケットには、インベントリ レポートの生成対象となるオブジェクトが含まれます。また、インベントリ レポート構成も含まれます。1 つのソースバケットには、最大 100 件のインベントリ レポート構成を作成できます。

宛先バケットには、生成されたインベントリ レポートが保存されます。宛先バケットは次の要件を満たす必要があります。

  • ソースバケットと同じロケーションに存在している。
  • ソースバケットと同じプロジェクトに存在している。
  • ソースバケットと同じバケットにできます。

インベントリ レポートの構成を初めて作成すると、サービス エージェントが自動的に作成されます。インベントリ レポート構成を作成し、転送先バケットにインベントリ レポートを書き込むには、必要な IAM 権限がご自身とサービス エージェントの両方に付与されている必要があります。ご自身サービス エージェントに必要な権限を確認してください。

Storage Insights は、ソースと宛先のバケットの名前を使用して、ジョブの実行時に使用するバケットを決定します。ソースバケットまたは宛先バケットを削除してから、同じ名前の新しいバケットを作成すると、Storage Insights は新しいバケットを使用してジョブを実行します。

オブジェクトのメタデータのフィールド

インベントリ レポートには、次のメタデータ フィールドを含めることができます。「必須」の印があるメタデータ フィールドは、インベントリ レポートに必ず含める必要があります。

メタデータ フィールド 説明
project ソースバケットが存在するプロジェクトの ID。 必須
bucket ソースバケットの名前。 必須
name オブジェクトの名前です。 必須
location ソースバケットのロケーション 省略可
size オブジェクトのサイズ。 省略可
timeCreated オブジェクトの作成時間(RFC 3339 形式)。 省略可
timeDeleted オブジェクトの削除時間(RFC 3339 形式)。オブジェクトのこのバージョンがライブ バージョンでなくなったものの、非現行バージョンとしてバケットに残っている場合にのみ返されます。 省略可
updated オブジェクト メタデータの変更時間(RFC 3339 形式)。 省略可
storageClass オブジェクトのストレージ クラス 省略可
etag オブジェクトの HTTP 1.1 Entity タグ 省略可
retentionExpirationTime オブジェクトの削除が可能になるまでの最短時間。オブジェクトに設定された保持構成保持ポリシーによって異なります。オブジェクトを含むバケットに設定されます。retentionExpriationTime の値は RFC 3339 形式です。 省略可
crc32c RFC 4960 の付録 B に記載されている CRC32C チェックサム。base64 を使用して、ビッグ エンディアン バイト順でエンコードされます。CRC32C チェックサムの詳細については、オブジェクトのメタデータをご覧ください。 省略可
md5Hash データの MD5 ハッシュ。base64 でエンコードされます。複合オブジェクトの場合、このフィールドは存在しません。MD5 ハッシュの詳細については、オブジェクトのメタデータをご覧ください。 省略可
generation このオブジェクトのコンテンツの世代。オブジェクトのバージョニングで使用されます。 省略可
metageneration この世代のオブジェクトのメタデータのバージョン。前提条件としてメタデータの変更を検出する場合に使用されます。メタ世代のメンバーは、特定のオブジェクトの特定の世代でのみ意味を持ちます。 省略可
contentType オブジェクト データの Content-Type。Content-Type なしで格納されたオブジェクトは application/octet-stream として扱われます。 省略可
contentEncoding オブジェクト データの Content-Encoding 省略可
timeStorageClassUpdated オブジェクトのストレージ クラスが最後に変更された時刻。オブジェクトが初めて作成された場合は、その時刻が timeCreated に設定されます。 省略可

オブジェクト メタデータ フィールドの詳細については、オブジェクトのメタデータをご覧ください。

インベントリ レポートのシャード

インベントリ レポートに 1,000,000 を超えるオブジェクトが含まれている場合、Storage Insights は 1 つ以上のシャード オブジェクトを生成し、インベントリ レポートを作成します。インベントリ レポートのすべてのシャードが正常に生成されると、シャードと同じ宛先バケットにマニフェスト ファイルが生成されます。

インベントリ レポートのマニフェスト ファイル

マニフェスト ファイルが存在する場合は、インベントリ レポートを構成するすべてのシャードが生成されています。マニフェスト ファイルには、インベントリ レポートのシャード オブジェクトの名前も指定されています。

マニフェスト ファイル名のパターンは 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 Service Controls との統合

VPC Service Controls を使用すると、Storage Insights リソースのセキュリティを強化できます。VPC Service Controls を使用すると、境界の外から発生したリクエストからリソースとサービスを保護するプロジェクトをサービス境界に追加できます。VPC Service Controls とサービス境界の詳細については、サービス境界の詳細と構成をご覧ください。

次のステップ

インベントリ レポート構成を作成し、インベントリ レポートの生成を開始する方法を確認する。