Amazon CloudWatch によるメトリクスのモニタリング
Amazon S3 の Amazon CloudWatch メトリクスは、Amazon S3 を使用するアプリケーションのパフォーマンスを理解して向上させるのに役立つことがあります。Amazon S3 で CloudWatch を使用する方法は複数あります。
-
バケットの日次ストレージメトリクス - バケットストレージは、CloudWatch を使用してモニタリングできます。これは、Amazon S3 からのストレージデータを収集し、読み取り可能な日次のメトリクスに加工する働きをします。これらの Amazon S3のストレージメトリクスは 1 日に 1 回報告され、すべてのお客様に追加料金なしで提供されます。
-
リクエストメトリクス - Amazon S3 リクエストをモニタリングし、オペレーションの問題をすばやく特定して対応します。メトリクスは、処理のレイテンシーの後に 1 分間隔で使用できます。これらの CloudWatch メトリクスは、Amazon CloudWatch カスタムメトリクスと同じレートで請求されます。CloudWatch の料金の詳細については、Amazon CloudWatch の料金
をご覧ください。これらのメトリクスの取得をオプトインする方法の詳細については、「バケットのメトリクス設定」を参照してください。 有効にすると、すべてのオブジェクトオペレーションのリクエストメトリクスが報告されます。デフォルトでは、Amazon S3 バケットレベルでこれらの 1 分のメトリクスが利用可能です。共有プレフィックスまたはオブジェクトタグを使用して収集したメトリクスにフィルタを定義することもできます。これにより、メトリクスフィルタを特定のビジネスアプリケーション、ワークフロー、または内部組織に合わせることができます。
-
レプリケーションメトリクス - レプリケーションを保留している S3 API オペレーションの合計数、レプリケーションを保留しているオブジェクトの合計サイズ、およびレプリケート先リージョンへの最大レプリケーション時間をモニタリングします。S3 レプリケーション時間制御 (S3 RTC) が有効になっているレプリケーションルールのみがレプリケーションメトリクスを発行します。
リクエストメトリクスとは異なり、レプリケーションメトリクスをプレフィックスやタグでフィルタリングすることはできません。ただし、プレフィックスとタグに基づくレプリケーションルールを設定できます。この場合、レプリケーションメトリクスは、指定したプレフィックスやタグのレプリケーションをモニタリングします。詳細については、「S3 Replication Time Control (S3 RTC) を使用してコンプライアンス要件を満たす」を参照してください。
すべての CloudWatch 統計は 15 か月間保持されるため、履歴情報にアクセスしてウェブアプリケーションまたはサービスの動作をより的確に把握することができます。詳細については、Amazon CloudWatch ユーザーガイドの「Amazon CloudWatch とは」を参照してください。
メトリクスとディメンション
Amazon S3 が CloudWatch に送信するストレージメトリクスとディメンションを以下に示します。
バケットの Amazon S3 CloudWatch 日次ストレージメトリクス
AWS/S3
名前空間には、バケットの以下の日次ストレージメトリクスが含まれます。
メトリクス | 説明 |
---|---|
BucketSizeBytes |
STANDARD ストレージクラス、INTELLIGENT_TIERING ストレージクラス、標準 – 低頻度アクセス (STANDARD_IA) ストレージクラス、OneZone – 低頻度アクセス (ONEZONE_IA)、低冗長化ストレージ (RRS) クラス、ディープアーカイブストレージ (S3 Glacier Deep Archive)、または Glacier (GLACIER) ストレージクラスのバケットに保存されているデータの量 (バイト単位)。この値を計算するには、バケット内のすべてのオブジェクト (最新のオブジェクトと最新でないオブジェクトの両方) のサイズを合計します。これには、バケットに対するすべての不完全なマルチパートアップロードのすべてのパートのサイズも含めます。 有効なストレージタイプのフィルター: 単位: バイト 有効な統計: Average |
NumberOfObjects |
GLACIER ストレージクラスを除く、すべてのストレージクラスについて、バケットに保存されたオブジェクトの合計数。この値を計算するには、バケット内のすべてのオブジェクト (最新のオブジェクトと最新でないオブジェクトの両方) と、バケットに対するすべての不完全なマルチパートアップロードの合計パート数をカウントします。 有効なストレージタイプのフィルター: 単位: カウント 有効な統計: Average |
Amazon S3 CloudWatch のリクエストメトリクス
AWS/S3
名前空間には、次のリクエストメトリクスが含まれます。
メトリクス | 説明 |
---|---|
AllRequests |
タイプに関係なく、Amazon S3 バケットに対して行われた HTTP リクエストの総数。フィルタでメトリクス設定を使用している場合、このメトリクスはフィルタの要件を満たすバケット内のオブジェクトに対する HTTP リクエストのみを返します。 単位: カウント 有効な統計: Sum |
GetRequests |
Amazon S3 バケット内のオブジェクトに対して行われた HTTP GET リクエストの数。これには、リストオペレーションは含まれません。 単位: カウント 有効な統計: Sum マルチパートアップロードのリスト、パートのリスト、バケットオブジェクトバージョンの取得など、ページ分割されたリスト指向のリクエストは、このメトリクスに含まれません。 |
PutRequests |
Amazon S3 バケット内のオブジェクトに対して行われた HTTP PUT リクエストの数。 単位: カウント 有効な統計: Sum |
DeleteRequests |
Amazon S3 バケットのオブジェクトに対して行われた HTTP DELETE リクエストの数。これには、複数オブジェクトの削除リクエストも含まれます。このメトリクスは、削除されるオブジェクトの数ではなくリクエストの数を示します。 単位: カウント 有効な統計: Sum |
HeadRequests |
Amazon S3 バケットに対して行われた HTTP HEAD リクエストの数。 単位: カウント 有効な統計: Sum |
PostRequests |
Amazon S3 バケットに対して行われた HTTP POST リクエストの数。 単位: カウント 有効な統計: Sum Delete Multiple Objects リクエストと SELECT Object Content リクエストは、このメトリクスに含まれません。 |
SelectRequests |
Amazon S3 バケットのオブジェクトに対して行われた Amazon S3 の SELECT Object Content リクエストの数。 単位: カウント 有効な統計: Sum |
SelectScannedBytes |
Amazon S3 バケットの Amazon S3 の SELECT Object Content リクエストでスキャンされたデータのバイト数。 単位: バイト 有効な統計: Average (リクエストあたりのバイト数)、Sum (期間あたりのバイト数)、Sample Count、Min、Max (p100 と同じ)、p0.0~p99.9 のパーセンタイル |
SelectReturnedBytes |
Amazon S3 バケットの Amazon S3 の SELECT Object Content リクエストで返されたデータのバイト数。 単位: バイト 有効な統計: Average (リクエストあたりのバイト数)、Sum (期間あたりのバイト数)、Sample Count、Min、Max (p100 と同じ)、p0.0~p99.9 のパーセンタイル |
ListRequests |
バケットの内容をリストする HTTP リクエストの数。 単位: カウント 有効な統計: Sum |
BytesDownloaded |
Amazon S3 バケットに対する、レスポンスに本文が含まれるリクエストに対してダウンロードしたバイト数。 単位: バイト 有効な統計: Average (リクエストあたりのバイト数)、Sum (期間あたりのバイト数)、Sample Count、Min、Max (p100 と同じ)、p0.0~p99.9 のパーセンタイル |
BytesUploaded |
Amazon S3 バケットに対する、リクエストボディを含むアップロードしたバイト数。 単位: バイト 有効な統計: Average (リクエストあたりのバイト数)、Sum (期間あたりのバイト数)、Sample Count、Min、Max (p100 と同じ)、p0.0~p99.9 のパーセンタイル |
4xxErrors |
Amazon S3 バケットに対して行われた、値が 0 または 1 の HTTP 4xx クライアントエラーステータスコードリクエストの数。 単位: カウント 有効な統計: Average (リクエストあたりの報告数)、Sum (期間あたりの報告数)、Min、Max、Sample Count |
5xxErrors |
Amazon S3 バケットに対して行われた、値が 0 または 1 の HTTP 5xx サーバーエラーステータスコードリクエストの数。 単位: カウント 有効な統計: Average (リクエストあたりの報告数)、Sum (期間あたりの報告数)、Min、Max、Sample Count |
FirstByteLatency |
Amazon S3 バケットがリクエスト全体を受信してからレスポンスの返信が開始するまでのリクエストあたりの時間。 単位: ミリ秒 有効な統計: Average、Sum、Min、Max (p100 と同じ)、Sample Count、p0.0~p100 のパーセンタイル |
TotalRequestLatency |
最初のバイトが受信されてから Amazon S3 バケットに最後のバイトが送信されるまでのリクエストあたりの経過時間。これには、 単位: ミリ秒 有効な統計: Average、Sum、Min、Max (p100 と同じ)、Sample Count、p0.0~p100 のパーセンタイル |
Amazon S3 CloudWatch レプリケーションメトリクス
レプリケーションを保留している S3 API オペレーションの合計数、レプリケーションを保留しているオブジェクトの合計サイズ、およびレプリケート先リージョンへの最大レプリケーション時間をモニタリングします。レプリケーションメトリクスを公開するのは、S3 レプリケーション時間制御 (S3 RTC) が有効なレプリケーションルールだけです。
CloudWatch リクエストメトリクスとは異なり、レプリケーションメトリクスをプレフィックスやタグでフィルタリングすることはできません。ただし、プレフィックスとタグに基づくレプリケーションルールを設定できます。この場合、レプリケーションメトリクスは、指定したプレフィックスやタグのレプリケーションをモニタリングします。詳細については、「S3 Replication Time Control (S3 RTC) を使用してコンプライアンス要件を満たす」を参照してください。
Amazon CloudWatch でレプリケーションメトリクスのアラームを有効にできます。レプリケーションメトリクスのアラームを設定する場合は、[Missing data treatment (欠落データの処理)] フィールドを [Treat missing data as ignore (maintain the alarm state) (欠落データの処理方法: 無視 (アラームの状態を維持)] に設定します。
メトリクス | 説明 |
---|---|
ReplicationLatency |
特定のレプリケーションルールについて、レプリケート先リージョンがレプリケート元リージョンより遅れる最大秒数。 単位: 秒 有効な統計: Max |
BytesPendingReplication |
特定のレプリケーションルールについて、レプリケーションが保留中のオブジェクトの合計バイト数。 単位: バイト 有効な統計: Max |
OperationsPendingReplication |
特定のレプリケーションルールについて、レプリケーションが保留中のオペレーションの数。 単位: カウント 有効な統計: Max |
Amazon S3 on Outposts CloudWatch メトリクス
S3Outposts
名前空間には、Amazon S3 on Outposts バケットのための以下のメトリクスが含まれます。プロビジョニングされた S3 on Outposts バイトの合計数、オブジェクトで使用可能な合計空きバイト数、および特定のバケットのすべてのオブジェクトの合計サイズをモニタリングできます。
S3 on Outposts は、次のメトリクスのみをサポートし、他の Amazon S3 メトリクスはサポートしません。
メトリクス | 説明 |
---|---|
OutpostTotalBytes |
Outpost のプロビジョニングされた合計容量 (バイト単位) 単位: バイト 期間: 5 分 |
OutpostFreeBytes |
お客様のデータを保存するために Outpost で使用可能な空きバイト数。 単位: バイト 期間: 5 分 |
BucketUsedBytes |
指定されたバケットのすべてのオブジェクトの合計サイズ。 単位: カウント 期間: 5 分 |
Amazon S3 CloudWatch のディメンション
以下のディメンションは、Amazon S3 メトリクスをフィルタリングするために使用されます。
ディメンション |
説明 |
---|---|
BucketName
|
このディメンションを指定すると、リクエストしたデータがフィルタリングされて、指定のバケットのものだけになります。 |
StorageType
|
このディメンションは、バケットに保存されたデータを、以下のストレージタイプでフィルターリングします。
|
FilterId |
このディメンションは、プレフィックスやタグなど、バケットに対するリクエストメトリクスに対して指定するメトリクス設定をフィルタリングします。メトリクス設定を作成する際に、フィルタ ID を指定します。詳細については、「バケットのメトリクス設定」を参照してください。 |
CloudWatch メトリクスへのアクセス
以下の手順を使用して、Amazon S3 のストレージメトリクスを表示できます。Amazon S3 メトリクスを含めるには、開始と終了のタイムスタンプを設定する必要があります。特定の
24 時間あたりのメトリクスの場合は、期間を 1 日の秒数である 86400 秒に設定します。また、BucketName
および StorageType
ディメンションを忘れずに設定してください。
たとえば、AWS CLI を使用して特定のバケットのサイズの平均 (バイト単位) を取得する場合、次のコマンドを使用できます。
aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --namespace AWS/S3 --start-time 2016-10-19T00:00:00Z --end-time 2016-10-20T00:00:00Z --statistics Average --unit Bytes --region
us-west-2
--dimensions Name=BucketName,Value=ExampleBucket
Name=StorageType,Value=StandardStorage --period 86400 --output json
この例では、次の出力が生成されます。
{ "Datapoints": [ { "Timestamp": "2016-10-19T00:00:00Z", "Average": 1025328.0, "Unit": "Bytes" } ], "Label": "BucketSizeBytes" }
CloudWatch コンソールを使用してメトリクスを表示するには
-
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
ナビゲーションペインで メトリクスを選択します。
-
[S3] 名前空間を選択します。
-
(オプション) メトリクスを表示するには、検索ボックスにメトリクス名を入力します。
-
(オプション) [StorageType] ディメンションでフィルターする場合は、検索ボックスにストレージクラスの名前を入力します。
AWS CLI を使用して AWS アカウントに保存された有効なメトリクスのリストを表示するには
-
コマンドプロンプトで、次のコマンドを使用します。
aws cloudwatch list-metrics --namespace "AWS/S3"
関連リソース
-
AWS CLI コマンドリファレンスのlist-metricsアクション
-
AWS CLI コマンドリファレンスのget-metric-statistics アクション