はじめに
API Gatewayの以下ログ種類について、ユースケースや設定についてメモレベルでまとめました。
目次
- 実行ログ
- アクセスログ
- 参考文献🌟
実行ログ
ログ詳細
- API Gateway のリクエスト実行ログ(Execution Logs)を記録するために使用される。
- 「APIが正しく動作していない」、「どこでエラーが発生しているかわからない」といった状況で役立つ。
1. リクエストの詳細
クライアントが送信したリクエストデータ(HTTP メソッド、パス、クエリパラメータ、ヘッダーなど)
2. リクエスト処理の統合データ
API Gateway がバックエンド(例: Lambda 関数)と統合する際の詳細(リクエスト変換、バックエンドのレスポンス、変換結果など)
3. レスポンスの詳細
API Gateway がクライアントに返すレスポンスデータ(ステータスコード、ヘッダー、レスポンスボディなど)
4. パフォーマンスデータ
API Gateway による処理時間、バックエンドの応答時間などのパフォーマンス情報
5. エラーに関する詳細
API Gateway 内部エラー、統合エラー(バックエンドの失敗など)、認証エラー、アクセス拒否エラーなど
ログレベル
ログレベル |
記録内容 |
1リクエストあたりのログサイズ |
INFO |
エラー情報に加え、APIリクエストやレスポンスの詳細等、デバッグや分析に役立つ情報を記録 |
約数百バイト ~ 数キロバイト |
ERROR |
エラーが発生した場合のみログを記録 |
約数十バイト ~ 数百バイト(エラー無しの場合は0) |
ログサイズの削減
-
ログとトレースの設定
でログレベルを「エラーのみ」に設定することで削減可能
- ログレベル別の出力内容の違い:「出力内容」は上記のログ詳細(1〜5)を指します。
- 出力ログレベルをERRORのみとすると、エラー時のデバッグに必要な情報のみ記録される一方、 以下の懸念 は挙げられる。
- 正常処理時の詳細情報は記録されない。
- ERRORのみに設定した環境で重要なAPIのリクエスト数や遅延をモニタリングしたい時にどう対処するか

ログとトレースの設定 |
出力ログレベル |
出力内容 |
エラーと情報ログ |
INFO・ERROR |
1〜5を全て出力 |
エラーのみ |
ERROR |
1・5のみ出力(エラーが発生したリクエストやエラー詳細のみ) |
アクセスログ
ログ詳細
- API Gatewayを介して行われた各リクエストのメタデータを記録するもので、使用状況の監視やセキュリティ分析に役立つ。
- 「APIの利用状況をモニタリングしたい」、「セキュリティインシデントを検知したい」といった用途に適している。
1. クライアントのIPアドレス
2. リクエストのHTTPメソッドとエンドポイント
3. 応答ステータスコード
4. リクエストおよびレスポンスのサイズ
5. リクエストの処理時間
6. その他、定義したカスタムフィールド
・主にAPIの利用状況やトラフィックパターンを把握するために使用
・ログ形式(JSON、CLF、CSVなど)をカスタマイズ可能
・CloudWatch Logsに出力されるほか、ログ管理ツールへの転送も可能
ログ設定

参考文献🌟