🦁

【API Gateway】CloudWatch Logsを有効化する

に公開

はじめに

API GatewayではCloudWatch Logsはデフォルトでは有効化になっていません。
有効化するためには設定をする必要があります。
今回はその設定方法をご紹介したいと思います。

IAMロールの作成

IAMポリシーの作成

まずAPI gatewayがCloudWatch Logsへ書き込めるよう、ポリシーを作成します。
今回はAWS管理ポリシーのAmazonAPIGatewayPushToCloudWatchLogsを使用します。

IAMロールの作成

信頼されたエンティティを選択で「AWS のサービス」を、ユースケースでは「API Gateway」を選択しましょう。

API Gatewayでの設定

IAMロールの指定

次にAPI Gatewayで設定していきます。

まず、下記の画像の設定を開きます。

CloudWatch ログのロール ARNで先ほど作成したIAMロールのARNを入力しましょう。

ログを有効化

続いてログを取集したいAPIを選択し、ステージ画面を開き、下記画像の編集を開きます。

ログ収集の種類を選択します。

これでログが有効化になりました。
では、確認をしていきます。

確認

CloudWatchのロググループにいき、下記のような命名でロググループが作成されているはずです。
API-Gateway-Execution-Logs_{APIのID}/{ステージ名}

注意点

IAMロールを設定せずに、ログを有効化するとCloudWatch Logs role ARN must be set in account settings to enable loggingというエラーがでます。
適切なIAMロールを設定しましょう。

Discussion