📘

Amplify Console のアクセスログを AWS CLI と curl でサクッと取得する

2021/01/08に公開
  • Amplify Console のアクセスログをターミナルからサクッと確認したい場合や、定期的に保存したり分析したい場合に便利かもしれない

こんな感じで OK

DOMAIN_NAME=xxx.amplifyapp.com
APP_ID=xxx
aws amplify generate-access-logs --domain-name ${DOMAIN_NAME} --app-id ${APP_ID} --query logUrl | xargs curl

Amplify Console のアクセスログ

  • Amplify Console のアクセスログは CSV 形式で保存される[1]
  • ログフォーマットは CloudFront と同じ[2]

Amplify Console のアクセスログをコマンドラインから取得する流れ

  • AWS CLI の generate-access-log コマンドでアクセスログを取得可能な URL が取得可能[3]
    • AWS CLI の query オプションを使うと出力内容を制御できるので、 URL のみに絞る[4]
  • あとはこの URL にアクセスすればアクセスログが取得できる
    • 上記の場合 xargs で取得した URL を curl に連携して、アクセスログを標準出力に表示している[5]
脚注
  1. https://docs.aws.amazon.com/amplify/latest/userguide/access-logs.html ↩︎

  2. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#LogFileFormat ↩︎

  3. https://awscli.amazonaws.com/v2/documentation/api/latest/reference/amplify/generate-access-logs.html ↩︎

  4. https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#cli-usage-output-filter ↩︎

  5. https://man7.org/linux/man-pages/man1/xargs.1.html ↩︎

Discussion