• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

ステップ3:テスト用のLambda関数を実装する

これは、New RelicのAWS Lambdaモニタリング を有効にするための1つのステップです。

New Relic では、独自のサーバーレス機能をインストルメント化するための出発点として、作業用の最小限の例を提供していますので、必要な要素に慣れ、アカウントリンクをテストし、独自のインストルメント化の参考にしていただけます。

Lambda関数を管理、デプロイする方法は数多くありますが、今回の例ではAWS CloudFormationを使用しています。最小限のツールしか必要とせず、ファーストパーティのサポートもあり、サードパーティのデプロイメントオプションの多くを支えています。

機能例 [#features]

それぞれの基本的な例は機能的には同じで、以下のようなNew Relicの機能を説明しています。

    • New Relic Lambda Extensionを介して、呼び出しのテレメトリをNew Relicに送信する。

    • 呼び出しイベントにカスタム属性を追加

    • テレメトリーにカスタムイベントを追加する

さらに、それぞれが実演します。

    • New Relic Lambda レイヤを自分の関数で使用する

    • AWS Secrets ManagerにアクセスしてNew Relicのライセンスキーを取得する機能にパーミッションを追加する

    • New Relic がテレメトリーを取得できるように、ハンドラをラップするためのランタイム固有のテクニック。

    • CloudWatchでファンクションログの保持を管理する

    • オプションとして、Lambda Extensionを介して機能ログをNew Relicのロギング製品に転送する。

例 [#examples]

私たちの例は、New Relic Lambda Extension と共に、この GitHub リポジトリ で公開されています。New Relic がインストルメントできる Lambda ランタイムごとに用意されています。

ヒント

例題をテストしていると、テレメトリーがすぐに送信されないことがあることに気づくかもしれません。AWS Lambdaのライフサイクルでは、エージェントとLambda Extensionの実行に一定の制約があります。さらに、貴重なプラットフォームの遠隔測定は、呼び出しが完了した後にのみ利用できます。New Relic Extension は、一定期間テレメトリをバッファリングし、次の呼び出し時(またはシャットダウン時)に一括して New Relic に配信することで、全体のパフォーマンスとタイムリーなテレメトリ配信の必要性とのバランスを取っています。

本番機能では、これが非常にうまく機能しています。手動でのテストでは、7秒間待ってから関数を再度呼び出し、以前にバッファリングされたテレメトリを配信する機会を与える必要がしばしばあります。

例題に掲載しているテンプレートは常に最新のものを提供するように努めていますが、お使いの地域やランタイムに対応した最新のNew Relic Lambdaレイヤーは、 layers site でいつでも見つけることができます。このサイトではAPIも提供しており、ご自身のテンプレートを最新に保つためにCI/CDパイプラインでご利用いただけます。

ディストリビューティッド(分散)トレーシング

基本的な例に加えて、分散トレースを自明ではないサーバーレスアプリケーションに統合する例を、 分散トレースの例 で提供しています。この例では、Lambda関数を呼び出す可能性のある2つの人気サービスであるSQSとSNSについて、Node、Python、Javaの関数を使った手動によるトレース伝搬を説明しています。

Copyright © 2022 New Relic Inc.