バケットのメトリクス設定 - Amazon Simple Storage Service

バケットのメトリクス設定

Amazon S3 の Amazon CloudWatch リクエストメトリクスの場合、1 分間の CloudWatch メトリクスの受信、CloudWatch アラームの設定、および CloudWatch ダッシュボードへのアクセスにより、Amazon S3 ストレージのオペレーションとパフォーマンスをほぼリアルタイムで確認できます。クラウドストレージに依存するアプリケーションの場合、これらのメトリクスを使用すると、オペレーションの問題を迅速に特定して対応できます。有効になっている場合、デフォルトでは、Amazon S3 バケットレベルでこれらの 1 分のメトリクスが利用可能です。

バケット内のオブジェクトに対する CloudWatch リクエストメトリクスを取得するには、そのバケットのメトリクス設定を作成する必要があります。共有プレフィックスまたはオブジェクトタグを使用して収集したメトリクスにフィルタを定義することもできます。これにより、メトリクスフィルタを特定のビジネスアプリケーション、ワークフロー、または内部組織に合わせることができます。

使用可能な CloudWatch メトリクスとストレージおよびリクエストメトリクスの違いの詳細については、「Amazon CloudWatch を使用したメトリクスのモニタリング」を参照してください。

メトリクス設定を使用するときは、以下に注意してください。

  • バケットあたりの最大メトリクス設定数は 1000 です。

  • フィルタを使用して、メトリクス設定に含めるバケット内のオブジェクトを選択できます。共有プレフィックスまたはオブジェクトタグでフィルタリングすると、メトリクスフィルタを特定のビジネスアプリケーション、ワークフロー、または内部組織に合わせることができます。バケット全体のメトリクスをリクエストするには、フィルタのないメトリクス設定を作成します。

  • メトリクス設定は、リクエストメトリクスを有効にするためにのみ必要です。バケットレベルでの日次ストレージメトリクスは常にオンになり、追加料金なしで提供されます。現在、フィルタリングされたオブジェクトサブセットの日次ストレージメトリクスを取得することはできません。

  • 各メトリクス設定では、使用可能なリクエストメトリクスのフルセットが有効になります。オペレーション固有のメトリクス (PostRequests など) は、バケットまたはフィルタにそのタイプのリクエストがある場合にのみ報告されます。

  • リクエストメトリクスは、オブジェクトレベルのオペレーションに対して報告されます。また、バケットの取得 (オブジェクトのリスト)バケットオブジェクトバージョンの取得マルチパートアップロードのリストなどのバケットコンテンツをリストするオペレーションに対しても報告されますが、バケットでのその他のオペレーションに対しては報告されません。

  • リクエストメトリクスでは、プレフィックスによるフィルタリングがサポートされますが、ストレージメトリクスではサポートされません。

ベストエフォート型の CloudWatch メトリクス配信

CloudWatch メトリクスは、ベストエフォートで配信されます。リクエストメトリクスを持つ Amazon S3 オブジェクトのほとんどのリクエストにより、データポイントが CloudWatch に送信されます。

メトリクスの完全性や適時性は保証されません。特定のリクエストのデータポイントが、リクエストが実際に処理されたよりも後のタイムスタンプで返される場合があります。または 1 分のデータポイントが CloudWatch を通じて使用可能になる前に遅延したり、まったく配信されなかったりすることがあります。CloudWatch リクエストメトリクスは、バケットに対するトラフィックの特性をほぼリアルタイムで示します。すべてのリクエストを完全に報告するためのものではありません。

この機能はベストエフォート型であるため、請求情報とコスト管理ダッシュボードで利用できるレポートには、バケットメトリクスに表示されない 1 つ以上のアクセスリクエストが含まれることがあります。

メトリクス設定のフィルタ処理

CloudWatch メトリクス設定を使用する場合、1 つのバケット内の関連オブジェクトのグループに設定をフィルタリングするオプションがあります。以下の要素の 1 つ以上に基づいて、メトリクス設定に含めるバケット内のオブジェクトをフィルタリングできます。

  • オブジェクトキー名のプレフィックス – Amazon S3 データモデルはフラット構造ですが、プレフィックスを使用して階層を推測できます。Amazon S3 コンソールはフォルダの概念でこれらのプレフィックスをサポートします。プレフィックスでフィルタリングした場合、同じプレフィックスを持つオブジェクトがメトリクス設定に含まれます。

  • タグ – オブジェクトにタグ (キー値と名前のペア) を追加できます。タグを使用すると、オブジェクトを簡単に検索および整理できます。メトリクス設定のフィルタとしてタグを使用することもできます。

フィルタを指定した場合、単一のオブジェクトで機能するリクエストのみがフィルタと一致し、報告されたメトリクスに含められます。複数のオブジェクトの削除などのリクエストや List リクエストは、フィルターによる設定のメトリクスを一切返しません。

より複雑なフィルタリングをリクエストするには、複数の要素を選択します。これらのすべての要素を持つオブジェクトのみがメトリクス設定に含められます。フィルタを設定しない場合、バケット内のすべてのオブジェクトがメトリクス設定に含められます。

メトリクス設定を追加する方法

AWS CLI または Amazon S3 REST API を使用して、Amazon S3 コンソールでバケットにメトリクス設定を追加できます。AWS マネジメントコンソール でこれを行う方法については、Amazon Simple Storage Service コンソールユーザーガイドの「S3 バケットにリクエストメトリクスを設定する方法」を参照してください。

AWS CLI を使用してメトリクス設定を追加するには

  1. AWS CLI をインストールしてセットアップします。手順については、AWS Command Line Interface ユーザーガイド の「AWS コマンドラインインターフェイスの設定」を参照してください。

  2. ターミナルを開きます。

  3. 次のコマンドを実行してメトリクス設定を追加します。

    aws s3api put-bucket-metrics-configuration --endpoint https://s3.us-west-2.amazonaws.com --bucket bucket-name --id metrics-config-id --metrics-configuration '{"Id":"metrics-config-id","Filter":{"Prefix":"prefix1"}}'
  4. 設定が追加されたことを確認するには、次のコマンドを実行します。

    aws s3api get-bucket-metrics-configuration --endpoint https://s3.us-west-2.amazonaws.com --bucket bucket-name --id metrics-config-id

    これにより、以下のレスポンスが返ります。

    { "MetricsConfiguration": { "Filter": { "Prefix": "prefix1" }, "Id": "metrics-config-id" } }

Amazon S3 REST API でメトリクス設定をプログラムで追加することもできます。詳細については、Amazon Simple Storage Service API Reference の次のトピックを参照してください。