ヘルプ Amazon Web Services API Gateway
Amazon API Gatewayでは、モバイルアプリやwebアプリケーションがAWSサービスへアクセスできるように、RESTful APIを作成、設定、ホストします。Site24x7とAWSの連携により、API呼び出し、キャッシング、レイテンシ―、サーバーサイドおよびクライアントエラーにおける統計の監視を、APIステージレベルだけでなく、メソッドレベルでも行います。
API Gatewayは、CloudWatchにAPIおよびステージレベルでメトリクスを自動公開します。リソースと関連したメソッドのAPI呼び出し、レイテンシー、連携レイテンシー、400および500エラーを監視するには、Detailed CloudWatchのメトリクスを有効にする必要があります。
Detailed CloudWatchメトリクスを有効にする手順:
Site24x7のエンティティに割り当てられているIAMポリシーに、以下の読み込みレベルアクションが存在することを確認します。 詳細はこちら
デフォルトでは、API GatewayメトリクスのデータポイントはCloudWatchに1分おきに送られます。Site24x7では、1分ごとに収集されたデータを、5分ごとに平均集計します。
Site24x7のAPIステージレベルでは、以下のメトリクスを収集します。
| メトリクス | 詳細 | データタイプ | 統計 |
|---|---|---|---|
| 4XXエラー | 取得したクライアント側のエラー数です。 | カウント | 合計 |
| 5XXエラー | 取得したサーバー側のエラー数です。 | カウント | 合計 |
| キャッシュのヒット数 | API キャッシュから配信されたリクエストの数です。 | カウント | 合計 |
| キャッシュのミス数 | キャッシュが有効である際に、バックエンドから提供されたリクエストの数です。 | カウント | 合計 |
| カウント | APIリクエストの合計数です。 | カウント | 合計 |
| 連携レイテンシー | API Gatewayがバックエンドにリクエストを中断してから、バックエンドからのレスポンスを受信するまでにかかった時間です。 | ミリ秒 | 平均および95パーセンタイル |
| レイテンシー | API Gatewayがクライアントからリクエストを受信してから、クライアントへレスポンスを返すまでにかかった時間です。 | ミリ秒 | 平均および95パーセンタイル |
| 属性 | 説明 |
|---|---|
| APIエンドポイント | APIのURLです。 |
| APIキー選択式 | クライアントが有効なAPIキーを提供した場合のみリクエストを処理するとサービスが判断した際に、評価される式です。 |
| 実行APIエンドポイントを無効化する | クライアントがデフォルトのexecute-apiエンドポイントを使用してAPIを呼び出せるかどうかを指定します。 |
| 作成日時 | APIが作成された日時です。 |
| ルート選択式 | サービスが受信メッセージに対してルーティング先を選択する際に評価される、ルート選択式です。 |
| 属性 | 説明 |
|---|---|
| プロトコルタイプ | APIのプロトコルタイプ(HTTP、WebSocket、またはREST)です。 |
| ステージ名 | ステージの名前です。 |
| APIGatewayID | APIのIDです。 |
| APIGateway名 | API Gatewayの名前です。 |
| リージョン | APIが作成されたリージョンです。 |
| デプロイの自動化 | デプロイが自動的にリリースされたかどうかを指定します。 |
| 作成日時 | ステージが作成された日時です。 |
| 最終更新日時 | ステージが最後に更新された日時です。 |
| デプロイID | デプロイのIDです。 |
| 説明 | デプロイの説明です。 |
| クライアント証明書ID | ステージのクライアント証明書のIDです。※WebSocket APIのみでサポートされています。 |
| ステージ変数 | ステージリソースのステージ変数を定義するマップです。 |
| 属性 | 説明 |
|---|---|
| 資格情報の許可 | CORSリクエストに資格情報を含めるかどうかを指定します。※HTTP APIでのみサポートされています。 |
| 許可するヘッダー | 許可するHTTPヘッダーの一覧を表します。※HTTP APIでのみサポートされています。 |
| 許可するメソッド | 許可するHTTPメソッドの一覧を表します。※HTTP APIでのみサポートされています。 |
| 許可するオリジン | 許可するオリジンの一覧を表します。※HTTP APIでのみサポートされています。 |
| 公開するヘッダー | ブラウザ側からアクセスすることを許可するヘッダーの一覧を表します。※HTTP APIでのみサポートされています。 |
| 最大キャッシュ時間 | ブラウザがプリフライトリクエストの結果をキャッシュする最大時間を秒数で指定します。※HTTP APIでのみサポートされています。 |
| 属性 | 説明 |
|---|---|
| 送信元ARN | アクセスログを受信するCloudWatch LogsのロググループのARNです。 |
| ログフォーマット | 選択された$context変数によって指定される、アクセスログデータの1行の出力フォーマットです。このフォーマットには、少なくとも$context.requestIdを含める必要があります。 |
| 属性 | 説明 |
|---|---|
| 詳細なメトリクスの有効化 | このステージで詳細なメトリクスを有効にするかどうかを指定します。 |
| スロットリング・バースト制限 | このステージにおけるスロットリングのバースト制限を指定します。 |
| スロットリング・レート制限 | このステージにおけるスロットリングのレート制限を指定します。 |
| データトレースの有効化 | このルートでデータトレースロギングを有効にするかどうかを指定します。 |
| ロギングレベル | このルートのログ記録レベルを指定します。選択肢はINFO、ERROR、またはOFFです。 |
APIGatewayのステージに関連付けられている、監視対象のAPIGatewayリソースおよびルートの一覧を表示します。個々のリストをクリックすると、そのリソースに関連するパフォーマンスやリソース使用率の統計を確認できます。また、アクション列にある鉛筆アイコンをクリックすることで、しきい値を設定し、これらのサービスがいずれか障害を起こした際に通知を受け取ることも可能です。
トポロジービュータブでは、リソースを中心としたリアルタイムの依存関係マップが表示されます。APIGatewayリソースが周囲のAWSインフラストラクチャとどのように接続されているかをリアルタイムで動的に追跡するため、アラートが発生した際の根本原因の特定を迅速に行うことができます。
APIの実行および実装における問題を解決するため、リソースパスに関連する定義済みメソッドのAPI実行メトリクスを監視、視覚化およびアラートします。
監視するAPI Gatewayリソースの検出、追加手順:
APIステージから指定したリソースをオプトインする方法:
正規表現パターンと一致するリソースおよびメソッドの表示手順:
API概要タブでは、サービスのステータスと設定に関する情報を表示します。
| 属性 | 詳細 |
|---|---|
| API Gateway ID | APIの識別子(ID)です。 |
| API Gateway名 | API Gatewayの名前です。 |
| リージョン | API Gatewayが属するリージョンです。 |
| 属性 | 詳細 |
|---|---|
| ステージ名 | ステージの名前です。(API Gatewayへの呼び出しURIにおける、最初のパスセグメント) |
| 作成日 | ステージ作成時のタイムスタンプです。 |
| 最終アップデート時間 | 最終アップデート時のタイムスタンプです。 |
| デプロイID | ステージが指定するデプロイIDです。 |
| 詳細 | ステージの詳細です。 |
| キャッシュクラスター | キャッシュクラスターがステージで有効になっているかどうか示します。 |
| キャッシュクラスターのサイズ | キャッシュクラスターが有効になっている場合、そのサイズが表示されます。 |
| キャッシュクラスターのステータス | キャッシュクラスターが有効になっている場合、そのステータスが表示されます。 |
| ドキュメントのバージョン | 関連するAPIドキュメントのバージョンです。 |
| アクセスのログ記録 | アクセスログの設定です。 |
| クライアント証明書ID | APIステージでの、クライアント証明書の識別子(ID)です。 |
| ステージ変数 | ステージ変数です。 |
| 属性 | 詳細 |
|---|---|
| メトリクスの監視 | Amazon CloudWatchメトリクスが有効になっているかどうか示します。 |
| ロギングレベル | メソッドのロギングレベル(OFF、ERROR または INFO)です。 |
| データ追跡 | メソッドのロギング追跡が有効になっているかどうか示します。 |
| スロットルバースト制限 | スロットルのバースト制限です。 |
| スロットルレート制限 | スロットルのレート制限です。 |
| 宛先ARN | アクセスログを受信するCloudWatchロググループのARNです。 |
| APIキャッシュ | リクエストに対するレスポンスが、キャッシュされるのか、返されるのかを示します。 |
| キャッシュの有効期限 | レスポンスキャッシュ時の有効期限(TTL)です。(単位:秒) |
| キャッシュデータの暗号化 | レスポンスのキャッシュを暗号化するかどうかを示します。 |
| 認証の必要性 | キャッシュの無効化リクエストに、認証が必要かどうか示します。 |
| リクエストの認証処理 | キャッシュ無効化権限のないリクエストの処理方法を表示します。 |
| 属性 | 詳細 |
|---|---|
| CanaryデプロイID | ステージが指定するcanaryデプロイの識別子(ID)です。 |
| トラフィックの割合 | canaryデプロイへ転送されたトラフィックの割合です。 |
| Canaryステージ変数 | canaryリリースのデプロイに上書きされたステージ変数です。 |
| ステージキャッシュの使用 | canaryデプロイのステージで、ステージキャッシュを使用するかどうか表示します。 |
| 属性 | 詳細 |
|---|---|
| リソースID | リソースの識別子(ID)です。 |
| Parent ID | canaryデプロイへ転用するトラフィックの割合です。 |
| リソースパス | リソースの完全なパスです。 |
| メソッド | HTTP verbのメソッドです。 |
HTTPとWebソケット APIGatewayに関連づいているルートのAPI実行メトリックをディスカバリー、監視、可視化、アラートします。各ステージへのルート追跡に役立ちます。
次の手順でAPIGatewayルートをディスカバリーして監視に追加してください。
| 属性 | 説明 | 単位 | 統計 |
|---|---|---|---|
| 4xxエラー | クライアントサイドのエラーの数を計測します。 | 数 | 合計 |
| 5xxエラー | サーバーサイドのエラー数を計測します。 | 数 | Sum |
| 数 | APIリスエストの合計です。 | 数 | 合計 |
| 連携遅延 | APIGatewayルートがリクエストをしてから応答が受信されるまでの時間です。 | ミリ秒 | 平均および95パーセンタイル |
| 遅延 | API Gatewayがクライアントからリクエストを受信してから、クライアントにレスポンスを返すまでの時間です。 | ミリ秒 | 平均および95パーセンタイル |
| 処理済みデータ | APIGatewayルートにより処理されたデータの合計です。 | メガバイト | 合計 |
| 属性 | 説明 | 単位 | 統計 |
|---|---|---|---|
| 接続数 | $connectルート連携に送信されたメッセージ数です。 | 数 | 合計 |
| メッセージ数 | クライアントとの両方向(行き返り)でのWebソケットAPIメッセージ数です。 | 数 | 合計 |
| 連携エラー | 連携から4XX/5XX応答が返されたリクエスト数です。 | 数 | 合計 |
| クライアントエラー | 連携が呼び出される前にAPIGatewayにより4xxレスポンスが返されたリクエスト数です。 | 数 | 合計 |
| 実行エラー | 連携要求中に発生したエラーです。 | 数 | 合計 |
| 連携遅延 | 連携にリクエストを「送信し、応答が返ってくるまでの時間です。コールバックとモック統合のために抑制します。 | ミリ秒 | 平均 |
| 属性 | 説明 |
|---|---|
| APIGatewayID | 監視しているルートのAPIGatewayIDです。 |
| APIGateway名 | 監視しているルートのAPIGateway名です。 |
| リージョン | APIGatewayがデプロイされているリージョンです。 |
| ステージ名 | 監視しているルートのステージ名です。 |
| ルートID | 監視しているルートのIDです。 |
| リソースエンドポイントURL | 監視しているルートのAPIGatewayルートのURLです。 |
| リソースパス | 監視しているルートのAPIGatewayルートのキーです。 |
| メソッド | ルートのHTTPメソッドです。 |
| プロトコルタイプ | APIのタイプです。 |
| APIキー要件 | そのルートでAPIキーが必要かを確認します。WebソケットAPIでのみサポートしています。 |
| 認証 | 監視しているルートで認証が有効化されているかを確認します。 |
| 対象 | ルートの対象です。 |
| 属性 | 説明 |
|---|---|
| 接続タイプ | 連携エンドポイントとのネットワーク接続タイプです。 |
| 接続ID | プライベート連携のVPCリンクIDです。HTTP APIでのみサポートしています。 |
| 連携ID | 連携のためのIDです。 |
| 連携メソッド | 連携のHTTPメソッドタイプです。 |
| 連携タイプ | AWS、AWS_PROXY、HTTP、HTTP_PROXY、MOCKといった連携タイプです。 |
| 連携URI | Lambda関数のURIです。完全修飾URL、Application Load Balancerリスナー、Network Load Balancerリスナー、AWS CloudMapサービスのARNです。 |
| ペイロードフォーマットバージョン | 連携先に送信されるペイロードの形式です。 |
| タイムアウト | タイムアウトをWebソケットでは50から29,000ミリ秒、HTTP APIでは50から30,000ミリ秒で設定します。 |
| コンテンツハンドリングストラテジー | 応答ペイロードコンテンツタイプ変換の処理方法です。 |
| 説明 | 連携先の説明です。 |
| 連携先サブタイプ | AWS、AWS_PROXY、HTTP、HTTP_PROXY、MOCKといった連携先のサブタイプです。 |
| パススルー | リクエストのコンテンツタイプにの都筑入力リクエストのパススルーを指定し、連携先リソースのrequestTemplatesプロパティとしてマッピングテンプレートが指定されます。 |
| リクエストパラメーター | WebソケットAPIの場合は、メソッドリクエストからバックエンドに渡されるリクエストパラメータを指定するKey-Valueマップです。特定のintegrationSubtypeとのHTTP API連携の場合、リクエストパラメーターはAWS_PROXY連携先に渡されるパラメーターを指定するKey-Valueマップです。 |
| リクエストテンプレート | クライアントによって送信されたContent-Typeヘッダーの値に基づいて、要求ペイロードに適用される速度テンプレートのマップを表します |
| レスポンステンプレート | クライアントに応答を返す前に、バックエンド統合からのHTTP応答を変換するテンプレートです。 |
| TLS設定 | プライベート連携先のTLS設定です。 |
| 属性 | 説明 |
|---|---|
| 認証者ID | 認証者のIDです。 |
| 認証者タイプ | 入力リクエストパラメーターまたはJSON WebトークンのJWTを使用したLambda関数のREQUESTです。 |
| 認証者URI | 認証者のURIです。 |
| ID送信元 | 認証がリクエストされるID送信元です。 |
| 名前 | 認証者名です。 |
| JWT設定 | JWT認証者の設定です。 |
| シンプル応答の有効化 | Lambdaオーソライザーがシンプルな形式でレスポンスを返すかどうかを指定します。有効にすると、LambdaオーソライザーはIAMポリシーの代わりにブール値を返すことができます。 |
| ペイロードフォーマットバージョン | HTTP API Lambda認証者に送信されるペイロードフォーマットです。 |
| 認証者リザルトTTL | 秒単位のキャッシュされた認証者のリザルト存続時間時間です。 |
各APIGatewayルート監視はベーシック監視とみなされます。