Amazon S3 インベントリ - Amazon Simple Storage Service

Amazon S3 インベントリ

Amazon S3 インベントリは、ストレージ管理に役立つ Amazon S3 が提供するツールの 1 つです。これは、ビジネス、コンプライアンス、および規制上のニーズに対応して、オブジェクトのレプリケーションと暗号化のステータスを監査し、レポートするために使用できます。また、Amazon S3 インベントリを使用して、ビジネスワークフローとビッグデータジョブを簡素化、高速化できます。このインベントリは、Amazon S3 同期 List API オペレーションの代替スケジュールを提供します。

Amazon S3 インベントリは、S3 バケットまたは共有プレフィックス (つまり、名前の先頭が共通文字列のオブジェクト) に関して、オブジェクトと対応するメタデータをリストしたカンマ区切り値 (CSV)、Apache の最適化された行列 (ORC)、または Apache Parquet 出力ファイルを毎日または毎週生成します。毎週の場合、最初のレポートの後は毎週日曜日 (UTC) にレポートが生成されます。Amazon S3 インベントリの料金に関する詳細については、Amazon S3 の料金を参照してください。

1 つのバケットに対して複数のインベントリリストを設定できます。インベントリに含めるオブジェクトメタデータ、すべてのオブジェクトバージョンと現在のバージョンだけのどちらをリストするか、インベントリリストのファイル出力を保存する場所、インベントリを毎日または毎週のどちらで生成するか、を設定できます。インベントリリストファイルを暗号化するように指定することもできます。

Amazon S3 インベントリをクエリする際に、Amazon Athena、Amazon Redshift Spectrum、およびその他のツール (PrestoApache HiveApache Spark など) で標準の SQL を使用できるようになりました。Athena を使用して、インベントリファイルに対してクエリを実行できます。Athena が使用可能なすべてのリージョンで、Amazon S3 インベントリへのクエリに Athena を使用できます。

ソースバケットと保存先バケット

インベントリによってオブジェクトがリストされるバケットは、ソースバケットと呼ばれます。インベントリリストのファイルが保存されるバケットは、保存先バケットと呼ばれます。

レプリケート元のバケット

インベントリは、ソースバケットに格納されているオブジェクトをリストします。バケット全体のインベントリリストを取得することも、(オブジェクトキー名の) プレフィックスによってフィルタされたリストを取得することもできます。

ソースバケット:

  • インベントリにリストされているオブジェクトが含まれます。

  • インベントリの設定が含まれます。

レプリケート先バケット

Amazon S3 インベントリリストのファイルは、保存先バケットに書き込まれます。すべてのインベントリリストファイルを保存先バケットの共通の場所にグループ化するには、インベントリの設定で保存先のプレフィックス (オブジェクトキー名) を指定します。

保存先バケット:

  • インベントリのファイルリストが含まれます。

  • 保存先バケットに保存されているすべてのファイルインベントリリストをリストしたマニフェストファイルが含まれます。詳細については、「インベントリマニフェスト」を参照してください。

  • バケットの所有権を検証するためのアクセス許可と、バケットにファイルを書き込むためのアクセス許可を Amazon S3 に付与する、バケットポリシーが必要です。

  • ソースバケットと同じ AWS リージョン に存在する必要があります。

  • ソースバケットと同じでもかまいません。

  • ソースバケットを所有するアカウントとは別の AWS アカウント によって所有されていてもかまいません。

Amazon S3 インベントリリスト

インベントリリストファイルには、ソースバケット内のオブジェクトのリストと、各オブジェクトのメタデータが含まれます。インベントリリストは、GZIP で圧縮された CSV ファイル、ZLIB で圧縮された Apache 最適化行列 (ORC) ファイル、または Snappy で圧縮された Apache Parquet ファイルとして保存先バケットに保存されます。オブジェクトは、キー名に基づいて昇順にソートされます。

インベントリリストには、S3 バケット内のオブジェクトのリストと、リストされている各オブジェクトの次のメタデータが含まれます。

  • バケット名 – インベントリ対象のバケットの名前。

  • キー名 – バケット内のオブジェクトを一意に識別するオブジェクトのキー名 (またはキー)。CSV ファイル形式を使用すると、キー名は URL エンコードされるため、これをデコードしてから使用する必要があります。

  • バージョン ID – オブジェクトのバージョン ID。バケットのバージョニングを有効にすると、Amazon S3 はバケットに追加されたオブジェクトにバージョン番号を割り当てます。詳細については、「S3 バケットでのバージョニングの使用」を参照してください。このフィールドは、リストが現在のバージョンのオブジェクトだけである場合は含まれません。

  • IsLatest – オブジェクトが現在のバージョンのオブジェクトである場合は、True に設定されます このフィールドは、リストが現在のバージョンのオブジェクトだけである場合は含まれません。

  • サイズ – オブジェクトのサイズ (バイト単位)。

  • 最終更新日 – オブジェクトの作成日または最終更新日のどちらか新しい方。

  • ETag – エンティティタグは、オブジェクトのハッシュです。ETag は、オブジェクトのコンテンツに加えた変更のみを反映し、メタデータに加えた変更は反映しません。ETag は、オブジェクトデータの MD5 ダイジェストである場合があります。どちらであるかは、オブジェクトの作成方法と暗号化方法によって決まります。

  • ストレージクラス – オブジェクトの保存に使用されるストレージクラス。詳細については、「Amazon S3 ストレージクラスを使用する」を参照してください。

  • マルチパートアップロードフラグ – オブジェクトがマルチパートアップロードとしてアップロードされた場合は、True に設定されます。詳細については、「マルチパートアップロードを使用したオブジェクトのアップロードとコピー」を参照してください。

  • 削除マーカー – オブジェクトが削除マーカーである場合は、True に設定されます。詳細については、「S3 バケットでのバージョニングの使用」を参照してください。(オブジェクトのすべてのバージョンを含めるようにレポートを設定している場合、このフィールドはレポートに自動的に追加されます)。

  • レプリケーションステータスPENDINGCOMPLETEDFAILED または REPLICA に設定します。詳細については、「レプリケーションステータス情報の取得」を参照してください。

  • 暗号化ステータスSSE-S3SSE-CSSE-KMS、または NOT-SSE に設定します。SSE-S3、SSE-KMS、および顧客提供キー付き SSE (SSE-C) のサーバー側暗号化ステータス。ステータスが NOT-SSE の場合、オブジェクトはサーバー側の暗号化を使用して暗号化されません。詳細については、「暗号化を使用したデータの保護」を参照してください。

  • S3 オブジェクトロックリテンション期日 – ロックされたオブジェクトを削除できなくなる日付です。詳細については、「S3 オブジェクトロックの使用」を参照してください。

  • S3 オブジェクトロックモード – ロックされたオブジェクトを Governance または Compliance に設定します。詳細については、「S3 オブジェクトロックの使用」を参照してください。

  • S3 オブジェクトロックのリーガルホールドの状態 – リーガルホールドがオブジェクトに適用されている場合は On に設定されます。それ以外の場合は、Off に設定されます。詳細については、「S3 オブジェクトロックの使用」を参照してください。

  • Intelligent-Tiering アクセス層 – Intelligent-Tiering に保存されている場合の、オブジェクトのアクセス層 (頻繁または低頻度)。詳細については、「アクセスパターンが変化する、またはアクセスパターンが不明なデータを、自動的に最適化するためのストレージクラス」を参照してください。

  • S3 バケットキーステータスENABLED または DISABLED に設定します。オブジェクトがサーバー側の暗号化に S3 バケットキーを使用するかどうかを示します。詳細については、「Amazon S3 バケットキーの使用」を参照してください。

古いインベントリリストを削除するライフサイクルポリシーを作成することをお勧めします。詳細については、「ストレージのライフサイクルの管理」を参照してください。

インベントリ整合性

すべてのオブジェクトが各インベントリリストに表示されない場合があります。インベントリリストは、新しいオブジェクトと上書きの両方に対する PUT および DELETE の結果整合性を提供します。インベントリリストはバケット項目のローリングスナップショットであり、結果的に整合します (つまり、最近追加されたオブジェクトまたは削除されたオブジェクトはリストに含まれない可能性があります)。

オブジェクトに対してアクションを実行する前に、オブジェクトの状態を検証するため、HEAD Object REST API リクエストを実行してオブジェクトのメタデータを取得するか、Amazon S3 コンソールでオブジェクトのプロパティを確認することをお勧めします。AWS CLI または AWS SDK でオブジェクトのメタデータを確認することもできます。詳細については、Amazon Simple Storage Service API リファレンスの「HEAD Object」を参照してください。

S3 インベントリの使用の詳細については、以下のトピックを参照してください。