Amazon CloudWatch を使用して AWS API コールの使用量をモニタリングするにはどうすればよいですか?

最終更新日: 2022 年 3 月 30 日

AWS のサービスを作成もしくは更新したり、アクセスしたりしようとすると、「Rate exceeded」(レートを超過しました) というエラーメッセージが表示されます。 「レート超過」エラーを防ぐために、Amazon CloudWatch メトリクスを使用して行う AWS API コールの数をモニタリングするにはどうすればよいですか?

簡単な説明

1 秒あたりに実行できる AWS API コールの数には制限があります。この制限を超えると、「レート超過」エラーが表示され、それ以降の API コールが抑制されます。「レート超過」エラーの原因となっている API コールを特定する方法の詳細については、「レート超過」エラーの原因となっている AWS API コールを特定するにはどうすればよいですか? を参照してください。

自動化で API コールを使用している場合は、使用量を監視して「レート超過」エラーを回避することがベストプラクティスです。Amazon CloudWatch は、一部の AWS のサービスの使用量を追跡するメトリクスを収集します。これらのメトリクスは AWS Service Quotas に対応します。この記事に記載されている手順に従って、これらのメトリクスをグラフ化し、使用量を視覚化します。

解決方法

この方法を使用して、使用量メトリクスを発行するすべての AWS リソースの使用量を確認およびモニタリングします。この例では PutMetricData を使用しています。

  1. CloudWatch Service Quotas のドキュメントで、PutMetricData API コールのデフォルト制限を確認してください。また、Service Quotas コンソールを使用して、アカウントに適用されている制限を確認することもできます。
  2. CloudWatch コンソールを開きます。
  3. ナビゲーションペインで [Metrics] (メトリクス) を選択し、[All Metrics] (すべてのメトリクス) を選択します。
  4. 使用量メトリクスは名前空間 AWS/Usage で公開されます。この名前空間を選択し、グラフ化する API コールをフィルタリングします。この場合は、 PutMetricData を選択します。
  5. メトリクス CallCount を選択します。このメトリクスは、API オペレーションが実行された回数をカウントします。
  6. [Graped metrics] を選択し、使用量を確認する時間範囲を選択します。この場合は、「レート超過」エラーが発生した範囲を選択します。
  7. [期間] で [1 分] を選択し、 [統計] で [SUM] を選択します。これにより、1 分あたりに実行された API コールの総数がわかります。

    注意:ほとんどの API コールでは、1 秒あたりに実行される API コールの数に制限があります。これは 1 秒あたりのトランザクション数 (TPS) として測定されます。PutMetricData の場合、制限は 150 TPS です。

  8. 現在の使用量を表示するには、[数式を追加] を選択し、[空の式で開始] を選択します。
  9. 新しい行に、次のように入力します。
SERVICE_QUOTA(m1)

この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?