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

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

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

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

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

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

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

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

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

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

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

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

  • ソースバケットと同じロケーションになければなりません。
  • ソースバケットと同じプロジェクトに存在する必要があります。
  • ソースバケットと同じバケットにできます。

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

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

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

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

metadata フィールド 説明 メモ
プロジェクト ソースバケットが存在するプロジェクトの ID。 必須
バケット ソースバケットの名前。 必須
name オブジェクトの名前です。 必須
location ソースバケットのロケーション 省略可
size オブジェクトのサイズ。 省略可
timeCreated オブジェクトの作成時間(RFC 3339 形式)。 省略可
timeDeleted オブジェクトの削除時間(RFC 3339 形式)。オブジェクトのこのバージョンがライブ バージョンでなくなったものの、非現行バージョンとしてバケットに残っている場合にのみ返されます。 省略可
更新済み オブジェクト メタデータの変更時刻(RFC 3339 形式)。 省略可
storageClass オブジェクトのストレージ クラス 省略可
etag オブジェクトに対する HTTP 1.1 Entity タグ 省略可
retentionExpirationTime オブジェクトの削除が可能になるまでの最短時間。オブジェクトに設定された保持構成保持ポリシーによって異なります。オブジェクトを含むバケットに設定されます。retentionExpriationTime の値は RFC 3339 形式です。 省略可
crc32c RFC 4960 の付録 B に記載されている CRC32C チェックサム。base64 を使用して、ビッグ エンディアン バイト順でエンコードされます。CRC32C チェックサムの詳細については、オブジェクトのメタデータをご覧ください。 省略可
md5Hash データの MD5 ハッシュ。base64 でエンコードされます。複合オブジェクトの場合、このフィールドは存在しません。MD5 ハッシュの詳細については、オブジェクトのメタデータをご覧ください。 省略可
の生成 このオブジェクトのコンテンツ世代。オブジェクトのバージョニングで使用されます。 省略可
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 とサービス境界の詳細については、サービス境界の詳細と構成をご覧ください。

制約事項

Cloud Storage バケットでIP フィルタリングを有効にすると、サービス エージェントを使用して Cloud Storage を操作するかどうかにかかわらず、Storage Insights がバケットにアクセスできなくなります。サービスの中断を防ぐため、バケットのインベントリ レポートを作成する場合は、Cloud Storage バケットで IP フィルタリングを使用しないことをおすすめします。

次のステップ

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