AWS の API Gateway 用モニタリングツール
AWS では、API Gateway のモニタリングに使用できるさまざまなツールを提供しています。これらのツールの中には、自動モニタリングを設定できるものもあれば、手操作を必要とするものもあります。モニタリングタスクをできるだけ自動化することをお勧めします。
AWS の自動モニタリングツール
以下の自動モニタリングツールを使用して、API Gateway を監視し、問題が発生したときにレポートすることができます。
Amazon CloudWatch アラーム - 指定した期間にわたって単一のメトリクスをモニタリングし、複数の期間にわたる特定のしきい値に対するメトリクスの値に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon Simple Notification Service (Amazon SNS) のトピックまたは Amazon EC2 Auto Scaling のポリシーに送信される通知です。CloudWatch アラームは、特定の状態にあるという理由だけでアクションを呼び出すことはありません。状態が変更され、指定された期間維持されている必要があります。詳細については、「Amazon CloudWatch のメトリクスを使用して REST API の実行をモニタリングする」を参照してください。
Amazon CloudWatch Logs - AWS CloudTrail またはその他の出典からログファイルをモニタリング、保存、およびアクセスします。詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon CloudWatch Logs とは」を参照してください。
Amazon EventBridge (旧 CloudWatch Events) - イベントに一致したものを 1 つ以上のターゲットの関数やストリームにルーティングして、変更、状態の情報の収集、是正措置を行います。詳細については、「EventBridge ユーザーガイド」の「Amazon EventBridge とは」を参照してください。
AWS CloudTrail ログモニタリング - アカウント間でログファイルを共有し、CloudTrail のログファイルを CloudWatch Logs に送信することでそれらをリアルタイムでモニタリングし、ログを処理するアプリケーションを Java で作成し、CloudTrail からの提供後にログファイルが変更されていないことを検証します。詳細については、「AWS CloudTrail ユーザーガイド」の「CloudTrail ログファイルの使用」を参照してください。
手動モニタリングツール
API Gateway のモニタリングでもう 1 つ重要な点は、CloudWatch のアラームの対象外の項目を手動でモニタリングすることです。API Gateway、CloudWatch、その他の AWS のコンソールのダッシュボードは、AWS 環境の状態を一目で把握できるビューを提供します。API 実行のログファイルを確認することもお勧めします。
-
API Gateway のダッシュボードには、指定した期間の API の特定のステージに関する以下の統計情報が表示されます。
-
API 呼び出し
-
キャッシュヒット、API キャッシュが有効になっている場合のみ。
-
キャッシュミス、API キャッシュが有効になっている場合のみ。
-
レイテンシー
-
統合のレイテンシー
-
4XX エラー
-
5XX エラー
-
-
CloudWatch のホームページには、以下の情報が表示されます。
-
現在のアラームとステータス
-
アラームとリソースのグラフ
-
サービスのヘルスステータス
また、CloudWatch を使用して以下のことを行えます。
-
重視するサービスをモニタリングするためのカスタマイズしたダッシュボードを作成します
-
メトリクスデータをグラフ化して、問題のトラブルシューティングを行い、傾向を確認する
-
AWS リソースのすべてのメトリクスを検索して、参照する
-
問題があることを通知するアラームを作成/編集する
-
API Gateway をモニタリングする CloudWatch のアラームの作成
アラームの状態が変わったら、Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。アラームは、指定期間にわたって単一のメトリクスを監視し、指定したしきい値に対応したメトリクスの値に基づいて、期間数にわたって 1 つ以上のアクションを実行します。アクションは、Amazon SNS のトピックまたはオートスケーリングのポリシーに送信される通知です。アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch のアラームは、メトリクスが特定の状態にあるだけではアクションを呼び出しません。アクションを呼び出すには、指定した期間継続している必要があります。