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

Amazon S3 インベントリ

重要

Amazon S3 では、Amazon S3 のすべてのバケットに対する基本レベルの暗号化として、Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) が適用されるようになりました。2023 年 1 月 5 日以降、Amazon S3 にアップロードされるすべての新しいオブジェクトは、追加費用なしで、パフォーマンスに影響を与えずに自動的に暗号化されます。S3 バケットのデフォルト暗号化設定と新しいオブジェクトのアップロードのための自動暗号化ステータスは、AWS CloudTrail ログ、S3 インベントリ、S3 ストレージレンズ、Amazon S3 コンソール、および AWS Command Line Interface と AWS SDK の追加の Amazon S3 API レスポンスヘッダーとして利用できるようになりました。詳細については、「デフォルトの暗号化のよくある質問」を参照してください。

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

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

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

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

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

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

ソースバケット

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

ソースバケット:

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

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

保存先バケット

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

保存先バケット:

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

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

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

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

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

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

Amazon S3 インベントリのリスト

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

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

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

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

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

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

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

  • サイズ - バイト単位のオブジェクトサイズ。不完全なマルチパートアップロード、オブジェクトメタデータ、削除マーカーのサイズは含まれません。

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

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

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

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

  • レプリケーションステータス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 オブジェクトロックの使用」を参照してください。

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

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

  • チェックサムアルゴリズム - オブジェクトのチェックサムを作成するために使用されるアルゴリズムを示します。

注記

ライフサイクル設定に基づいて、オブジェクトが有効期限に達すると、存続期間が終了したオブジェクトは自動的に Amazon S3 削除キューに追加され、非同期的に削除されます。そのため、有効期限が切れる日と Amazon S3 がオブジェクトを削除する日との間に遅延が生じることがあります。インベントリレポートには、有効期限が切れていてもまだ削除されていないオブジェクトが含まれます。S3 ライフサイクルの有効期限アクションの詳細については、「オブジェクトの有効期限」を参照してください。

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

s3:PutInventoryConfiguration アクセス許可により、ユーザーは、インベントリリストを設定するとき、各オブジェクトについて以前にリストされたすべてのメタデータフィールドを選択することと、インベントリを保存する保存先バケットを指定することの両方ができるようになります。保存先バケット内のオブジェクトへの読み取りアクセス権を持つユーザーは、インベントリリストで利用可能なすべてのオブジェクトメタデータフィールドにアクセスできます。インベントリレポートへのアクセスを制限するには、「S3 インベントリおよび S3 分析に対するアクセス許可の付与」を参照してください。

インベントリ整合性

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

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

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