Lambda@Edge 関数のログが見つからないときの対処方法

Lambda@Edge 関数のログが見つからないときの対処方法

2021.05.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

Lambda@Edge をバージニア北部(us-east-1)リージョンにデプロイしましたが、ログが CloudWatch Logs へ出力されないです。

正常にログを出力させる方法を教えてください。

どう対応すればいいの?

Lambda@Edge のログは CloudWatch Logs へ出力されますが、関数が実行される場所にもっとも近いリージョンに保存されます。

日本から CloudFront へリクエストを送信した場合、ログは東京リージョンに作成された可能性が高いです。まずは東京リージョンの CloudWatch Logs でロググループを確認してみてください。

ロググループは以下の形式で出力されます。

/aws/cloudfront/LambdaEdge/DistributionId

CloudWatch Logs コンソールのロググループで /aws/cloudfront/LambdaEdge/ と入力すれば、Lambda@Edge のロググループのみ検索できます。

もちろんディストリビューション ID で直接ロググループを検索することも可能です。(CloudWatch Logs コンソールの検索機能は以前より向上しています。)

どこで呼び出されたかわからないときは?

クライアント(ビューワー)がどの場所からアクセスしたか不明なときは、CloudFront コンソールの Monitoring からどのリージョンの Lambda@Edge が呼び出されたかを確認してください。

以下の順番に操作することで確認ができます。

参考資料

注記

エラーをトラブルシューティングするときに CloudWatch ログファイルまたはメトリクスを確認する場合は、関数が実行される場所に最も近いリージョンに表示または保存されていることに注意してください。したがって、例えば英国のユーザーがいるウェブサイトまたはウェブアプリケーションで、ディストリビューションに関連する Lambda 関数がある場合は、リージョンを変更してロンドン AWS リージョンの CloudWatch メトリクスまたはログファイルを表示する必要があります。詳細については、このトピックの後半の「Lambda@Edge リージョンの判別」を参照してください。


AWSテクニカルサポートノートについて

過去にクラスメソッドのAWS総合支援サービスで頂いたお問合せの中から、通常のAWS利用時でも有益になりうる情報をテクニカルサポートチームがTIPSとしてご紹介しています。技術サポートは、無料でご提供しております。詳細は下記ボタンからご覧ください。

クラスメソッドのAWSサポートの詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事