Serverless Framework の REST API アクセスログが無効

REST API のリクエスト履歴を残すため、アクセスログを有効にします。

説明

Serverless Framework で provider.logs.restApi.accessLogging を無効にすると、API Gateway REST API のアクセスログが生成されません。アプリケーションのログだけでは、API Gateway が処理した全リクエストを把握できない場合があります。

想定される影響

障害や不審な呼び出しの調査に必要な、リクエストごとの記録が不足するおそれがあります。

対処方法

provider.logs.restApi.accessLogging: true を設定し、リクエスト ID を含む形式、ログ送信権限、保持期間を設定してください。シークレットや不要なリクエスト本文をログに残さないでください。

例

この例は Framework が作成する REST API に適用されます。provider.apiGateway.restApiId で外部 API を取り込む場合は、その API のログを別途設定してください。

変更前

yaml
provider:
  name: aws
  logs:
    restApi:
      accessLogging: false
      format: 'requestId: $context.requestId'

変更後

yaml
provider:
  name: aws
  logs:
    restApi:
      accessLogging: true
      format: 'requestId: $context.requestId'

参考資料