本ブログではNew RelicとAWS Lambdaの統合の概要とモニタリング情報の確認方法と活用方法について紹介します。

はじめに

 New RelicとAWS Lambdaの統合は、サーバーレスアプリケーションのパフォーマンス管理と障害対応において非常に重要です。統合により、リアルタイムのメトリクスやトレースデータ、ログが効率的に収集・分析され、アプリケーションの性能やリソース消費の可視性が向上します。これにより、開発チームは迅速に問題を特定し、効果的な解決策を実施できます。また、パフォーマンス最適化に基づく改善が容易になり、アプリケーションの品質とユーザーエクスペリエンスが向上します。

 サーバーレス技術の進化が止まらない現代、AWS LambdaとNew Relicを組み合わせたモニタリングがあなたのアプリケーションを次のレベルへ導きます。このブログシリーズでは、簡単かつ効果的なセットアップ方法からトラブルシューティングまで、あなたのサーバーレス環境を最適化するための実践的なガイドを提供します。あなたのアプリケーションを最高のパフォーマンスに導くために、New RelicとAWS Lambdaの強力な統合をぜひ活用してください。

AWS Lambda関数のモニタリングの概要

 AWS Lambda関数を実行する際には、Lambda関数のイベントトリガー、Lambda関数が実行されるための設定、Lambda関数が利用するリソースなど、様々な要素が関与します。New Relicは、Lambda関数の実行時に必要なデータを収集し、Lambda関数のパフォーマンスを正確にモニタリングすることができます。

 メトリクス、トレース、ログはそれぞれ異なるデータタイプであり、AWS LambdaとNew Relicの統合においてそれぞれ独自のセットアップが必要です。以下に、それぞれのデータタイプごとのセットアップ方法を説明します。

  1. メトリクス

     AWS Metric Streams や AWS CloudWatchのAPI Pollingを利用して、AWS Lambda関数のメトリクスデータをNew Relicに連携します。これにより、リアルタイムで関数の実行に関連する情報を取得できます。

  2. トレース

     分散トレーシングを実現するために、New RelicのLambda Layerを利用して関数の実行を自動的にトレースできるようにします。Serverless Framework、AWS SAMなどのデプロイツールを使用して、このセットアップを行います。

  3. ログ

     ログデータをNew Relicに送信するためには、2つの方法があります。AWS Lambda関数のログデータをAmazon CloudWatch Logsから取得し、AWS Lambda関数を使用してNew Relicへ転送します。また、New Relic Lambda Extensionを使って実行するAWS Lambda関数から直接New Relicへ転送する方法があります。

各データタイプに対応するセットアップを行うことで、New Relicを使用してAWS Lambda関数のメトリクス、トレース、ログを効果的に監視および分析できます。これにより、アプリケーションのパフォーマンスの問題や障害の原因を迅速に特定し、改善することができます。

AWS Lambda関数のモニタリング情報の確認手順

以下の手順でNew Relic上のデータを確認します。

  1. New Relicのアカウントにログインします。
  2. メニューから「Serverless」を選択し、「Lambda functions」の一覧から対象のアプリケーションをクリックします。メニューに「Serverless」がない場合は「All Capabilities」から「Serverless」を選択してください。

メトリクスデータの確認手順

  1. Monitoring」の「CloudWatch metrics」を選択します。
  2. メトリクスデータが表示されていることを確認します。

トレースデータの確認手順

  1. Monitoring」の「Distributed Tracing」または「Events」の「Invocations」を選択します。
  2. トレースデータが表示されていることを確認します。

ログデータの確認手順

  1. 「Monitoring」の「Logs」を選択します。
  2. ログデータが表示されていることを確認します。

AWS Lambda関数のモニタリング情報の活用方法

New RelicでAWS Lambdaをモニタリングすることによって、以下のような多くの利点が得られます。

  1. パフォーマンスのモニタリング: Lambda関数の実行時間、メモリ使用量、エラー率などの重要なメトリクスをリアルタイムで把握し、パフォーマンスの問題を特定できます。
Lambda関数のSummary画面を確認する
  1. トレーシング: 分散トレーシング機能を利用して、サービス間の通信を追跡し、トランザクションのボトルネックや遅延を特定できます。

ソースコードレベルで処理時間を確認でき、クエリやエラーといった情報も統合的に表示できます。

  1. ログの分析: Logs in Context機能を使って、ログデータと関連するパフォーマンスデータやトレース情報を統合的に表示・分析できます。これにより、エラーや障害の原因特定や問題解決が迅速かつ効率的に行えます。

分散トレーシング機能と組み合わせることでサービス間を跨いだトランザクション単位でログを集約して確認できます。

  1. アラートと通知: カスタムアラートを設定して、特定の閾値を超えた際に通知を受け取ることができます。これにより、問題が発生した場合に素早く対応できます。

チャートの右上にある3点リーダーを選択し、メニューを開きます。メニューの中からCreate alert conditionを選択することでアラート条件の設定が可能です。

  1. ダッシュボードのカスタマイズ

    New Relicのダッシュボードをカスタマイズして、重要なメトリクスや情報を一目で確認できるようにすることができます。

  2. リソースの最適化

    モニタリングデータを分析して、Lambda関数のリソース使用状況を最適化し、コストを削減できます。

  3. CI/CDとの統合

    デプロイプロセスにモニタリングのセットアップを組み込むことで、継続的なモニタリングが可能になります。これにより、新しい機能や変更がリリースされた際にもパフォーマンスや安定性を維持できます。

これらの機能により、New Relicを使ってAWS Lambdaをモニタリングすることで、これらの機能や利点を活用し、アプリケーションのパフォーマンスを最適化し、迅速な問題解決が可能となります。また、継続的なモニタリングにより、アプリケーションの品質を維持・向上させることができます。

まとめ

 New Relicを使用してAWS Lambdaをモニタリングすることで、リアルタイムのパフォーマンスのモニタリング、分散トレーシング、Logs in Context、アラートと通知、カスタムダッシュボードなど、多様な機能を活用してアプリケーションのパフォーマンス最適化や問題解決が可能となります。これにより、開発チームは迅速かつ効率的にLambda関数のパフォーマンスを把握し、障害発生時の原因特定や対応が容易になります。継続的なモニタリングを通じて、アプリケーションの品質を維持・向上させることができるため、New RelicはAWS Lambdaの運用において非常に重要なツールとなります。

次のステップ

 セットアップ手順を確認し、自身の環境に適用してAWS Lambda関数のモニタリングを開始しましょう。具体的なセットアップ手順については、ブログ記事を参照してください。

このブログでは、New Relic Lambda CLIやServerless Framework、AWS SAMを利用した統合方法や、メトリクス、トレース、ログデータの取得方法など、詳細な手順が解説されています。