ライブインベントリテーブルを有効または無効にする - Amazon Simple Storage Service

ライブインベントリテーブルを有効または無効にする

デフォルトでは、メタデータテーブル設定には、バケット内のオブジェクトに対して発生したイベントを記録するジャーナルテーブルが含まれています。ジャーナルテーブルは、メタデータテーブル設定ごとに必要です。

必要に応じて、メタデータテーブル設定にライブインベントリテーブルを追加できます。ライブインベントリテーブルは、バケット内のすべてのオブジェクトとそのバージョンのシンプルでクエリ可能なインベントリを提供するため、データの最新の状態を判断できます。

注記

2025 年 7 月 15 日より前に S3 Metadata 設定を作成した場合、その設定でインベントリテーブルを有効にすることはできません。インベントリテーブルを作成してジャーナルテーブルレコードの有効期限が切れるように、設定を削除して再作成することをお勧めします。詳細については、「2025 年 7 月 15 日より前に作成されたメタデータ設定でインベントリテーブルを有効にする」を参照してください。

インベントリテーブルには、バケット内のすべてのオブジェクトの最新メタデータが含まれます。このテーブルを使用すると、さまざまなワークロードに対して処理するオブジェクトを特定することで、ビジネスワークフローとビッグデータジョブを簡素化および高速化できます。例えば、インベントリテーブルをクエリして、以下を実行できます。

  • S3 Glacier Deep Archive ストレージクラスに保存されているすべてのオブジェクトを検索します。

  • オブジェクトタグのディストリビューションを作成するか、タグなしでオブジェクトを検索します。

  • AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されていないすべてのオブジェクトを検索します。

  • 2 つの異なる時点でインベントリテーブルを比較して、特定のタグを持つオブジェクトの増加を把握します。

メタデータテーブル設定のインベントリテーブルを有効にすることを選択した場合、テーブルはバックフィルと呼ばれるプロセスを実行し、そのプロセス中に Amazon S3 は汎用バケットをスキャンして、バケットに存在するすべてのオブジェクトの初期メタデータを取得します。バケット内のオブジェクトの数によっては、このプロセスに数分 (最小 15 分) から数時間かかる場合があります。バックフィルプロセスが完了すると、インベントリテーブルのステータスが [バックフィル] から [アクティブ] に変わります。バックフィルが完了すると、通常、オブジェクトの更新は 1 時間以内にインベントリテーブルに反映されます。

注記
  • インベントリテーブルのバックフィルの実行は課金されます。汎用バケットに 10 億個を超えるオブジェクトがある場合は、インベントリテーブルの月額料金も請求されます。詳細については、Amazon S3 の料金 を参照してください。

  • インベントリテーブルの更新を一時停止してから再開することはできません。ただし、インベントリテーブルの設定を無効にすることはできます。インベントリテーブルを無効にしても削除されません。インベントリテーブルは、削除するまでレコード用に保持されます。

    インベントリテーブルを無効にし、後で再度有効にする場合は、まず AWS マネージドテーブルバケットから古いインベントリテーブルを削除する必要があります。インベントリテーブル設定を再度有効にすると、Amazon S3 は新しいインベントリテーブルを作成し、新しいインベントリテーブルのバックフィルに対して再度課金されます。

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用して、インベントリテーブルを有効または無効にできます。

前提条件

インベントリテーブルを無効にし、再度有効にする場合は、まず AWS マネージドテーブルバケットから古いインベントリテーブルを手動で削除する必要があります。削除しない場合、インベントリテーブルがテーブルバケットに既に存在するため、インベントリテーブルの再有効化は失敗します。インベントリテーブルを削除するには、「メタデータテーブルを削除する」を参照してください。

インベントリテーブル設定を再度有効にすると、Amazon S3 は新しいインベントリテーブルを作成し、新しいインベントリテーブルのバックフィルに対して再度課金されます。

インベントリテーブルを有効または無効にする

インベントリテーブルを有効または無効にするには
  1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. 左のナビゲーションペインで、[汎用バケット] を選択します。

  3. インベントリテーブルを有効または無効にするメタデータテーブル設定を持つ汎用バケットを選択します。

  4. バケットの詳細ページで、[メタデータ] タブを選択します。

  5. [メタデータ] タブで、[編集] を選択し、[インベントリテーブル設定を編集] を選択します。

  6. [インベントリテーブル設定を編集] ページで、[インベントリテーブル][有効] または [無効] を選択します。

    注記

    [有効] を選択する前に、[前提条件] を確認し、満たしていることを確認してください。

    • [有効] を選択した場合は、AWS Key Management Service (AWS KMS) キー (SSE-KMS) を使用したサーバー側の暗号化でテーブルを暗号化するかどうかを選択できます。デフォルトでは、インベントリテーブルは、Amazon S3 マネージドキーを使用してサーバー側の暗号化 (SSE-S3) を使用して暗号化されます。

      SSE-KMS を使用する場合は、汎用バケットと同じリージョンにカスタマーマネージド KMS キーを指定する必要があります。

      重要

      メタデータテーブルの暗号化タイプは、テーブルの作成中にのみ設定できます。AWS マネージドテーブルの作成後は、暗号化設定を変更することはできません。

      • インベントリテーブルを SSE-S3 (デフォルト) で暗号化するには、[暗号化タイプを指定しない] を選択します。

      • インベントリテーブルを SSE-KMS で暗号化するには、[暗号化タイプを指定する] を選択します。[暗号化タイプ] で、[AWS Key Management Service (AWS KMS) キー (SSE-KMS) を使用したサーバー側の暗号化] を選択します。[AWS KMS キー] で、既存の KMS キーから選択するか、KMS キー ARN を入力します。KMS キーがまだない場合は、[KMS キー ARN を入力] を選択し、[KMS キーを作成する] を選択します。

    • [無効] を選択した場合、[インベントリテーブルが無効になると、テーブルは更新されなくなり、更新を再開できなくなる] チェックボックスをオンにします。

  7. [Save changes] (変更の保存) をクリックします。

次のコマンドを実行するには、AWS CLI をインストールして設定する必要があります。AWS CLI をまだインストールしていない場合は、「AWS Command Line Interface ユーザーガイド」の「AWS CLI の最新バージョンのインストールまたは更新」を参照してください。

別の方法として、AWS CloudShell を使用してコンソールから AWS CLI コマンドを実行することもできます。AWS CloudShell は、AWS マネジメントコンソールから直接起動できる、ブラウザベースの事前認証済みシェルです。詳細については、「AWS CloudShell ユーザーガイド」の「CloudShell とは」と「AWS CloudShell の使用開始」を参照してください。

AWS CLI を使用してインベントリテーブルを有効または無効にするには

次のコマンド例を使用する際は、user input placeholders をユーザー自身の情報に置き換えます。

注記

インベントリ設定を有効にする前に、[前提条件] を確認し、満たしていることを確認してください。

  1. インベントリテーブル設定を含む JSON ファイルを作成し、保存します (例: inventory-config.json)。以下は、新しいインベントリテーブルを有効にするための設定例です。

    インベントリテーブルを有効にする場合は、オプションで暗号化設定を指定できます。デフォルトでは、メタデータテーブルは Amazon S3 マネージドキー (SSE-S3) を使用したサーバー側の暗号化で暗号化されます。この暗号化は、SseAlgorithmAES256 に設定することで指定できます。

    AWS Key Management Service (AWS KMS) キー (SSE-KMS) を使用したサーバー側の暗号化を使用してインベントリテーブルを暗号化するには、SseAlgorithmaws:kms に設定します。また、汎用バケットがあるリージョンと同じリージョンで、カスタマーマネージド KMS キーの ARN に KmsKeyArn を設定する必要があります。

    { "ConfigurationState": "ENABLED", "EncryptionConfiguration": { "SseAlgorithm": "aws:kms", "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id" } }

    既存のインベントリテーブルを無効にする場合は、次の設定を使用します。

    { "ConfigurationState": "DISABLED" } }
  2. 次のコマンドを使用して、汎用バケットのインベントリテーブル設定を更新します (例: amzn-s3-demo-bucket)。

    aws s3api update-bucket-metadata-inventory-table-configuration \ --bucket amzn-s3-demo-source-bucket \ --inventory-table-configuration file://./inventory-config.json \ --region us-east-2

REST リクエストを送信して、インベントリテーブルを有効または無効にできます。詳細については、 を参照してください。UpdateBucketMetadataInventoryTableConfiguration

AWS SDK を使用して、Amazon S3 のインベントリテーブルを有効または無効にできます。詳細については、「サポートされる SDK のリスト」を参照してください。