API Gateway で REST API の CloudWatch ログ記録を設定する
リクエストの実行や API へのクライアントのアクセスに関連する問題のデバッグに役立てるために、Amazon CloudWatch Logs で API コールのログを有効にすることができます。CloudWatch の詳細については、「Amazon CloudWatch のメトリクスを使用して REST API の実行をモニタリングする」を参照してください。
CloudWatch には 2 種類の API ログ記録があります。
-
実行ログ記録 – API Gateway は、エラーや実行トレースなど、API リクエストを処理するために実行されたアクションをログに記録します。Amazon CloudWatch Logs 配信を設定して、実行ログを独自の送信先にルーティングすることもできます。
-
アクセスログ記録 – API にアクセスしたユーザーとその方法をログに記録します。独自のロググループを作成し、ログ形式を選択し、含める
$context変数を指定します。
実行ログとアクセスログを互いに独立して有効にすることができます。
CloudWatch によるログのアクセス許可
CloudWatch Logs を有効にするには、API Gateway の CloudWatch に対するログの読み取りと書き込みのアクセス許可をアカウントに付与する必要があります。AmazonAPIGatewayPushToCloudWatchLogs マネージドポリシーには、必要なすべてのアクセス許可が含まれています。
注記
API Gateway は IAM ロールを引き受けるために AWS Security Token Service を呼び出すため、リージョンで AWS STS が有効になっていることを確認します。詳細については、「AWS リージョンでの AWS STS の管理」を参照してください。
これらのアクセス許可をアカウントに付与するには、apigateway.amazonaws.com を信頼できるエンティティとして IAM ロールを作成し、前述のポリシーを IAM ロールにアタッチして、その IAM ロールの ARN をアカウントの cloudWatchRoleArn プロパティに設定します。cloudWatchRoleArn プロパティは、CloudWatch Logs を有効にする AWS リージョンごとに設定する必要があります。
IAM ロール ARN の設定時にエラーが発生した場合は、AWS Security Token Service アカウントの設定をチェックして、使用しているリージョンで AWS STS が有効になっていることを確認してください。AWS STS を有効にする方法の詳細については、IAM ユーザーガイドの「AWS リージョンでの AWS STS の管理」を参照してください。