Lambda のコンテナ化されたイメージを使用していて、アプリケーションを監視する場合は、コードにNew Relicを追加する必要があります。 事前に構築されたレイヤーをイメージに追加したら、そのイメージをAWS Elastic Container Registry にプッシュします。 そこから、関数を実行するたびに、New Relic も同時に実行されます。
事前に構築されたレイヤーをコードに追加するためのガイドを以下に示します。
Dockerfile に New Relic を追加します。
New Relicは、レイヤーのさまざまなランタイム(Java、Node.js、 Python、拡張機能のみ。
- 特定の Lambda 関数のランタイムとリージョンと互換性のあるレイヤーを選択します。
Dockerfile の先頭に次のコードを追加します。
FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java:17-arm64 AS layer# Layer codeCOPY --from=layer /opt/ /opt/FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-python:38-arm64 AS layer# Layer codeCOPY --from=layer /opt/ /opt/FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20-arm64 AS layer# Layer codeCOPY --from=layer /opt/ /opt/FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension:x86 as layer# Layer codeCOPY --from=layer /opt/ /opt/
画像を作成する
- New Relic の事前構築済みレイヤーを Dockerfile に追加したら、Dockerfile から新しいイメージを構築する必要があります。 この新しいイメージには、元のコード_と_New Relic のレイヤーが含まれます。 これを行うには、AWS ガイドの「Docker イメージのプッシュ」に記載されている手順に従うことをお勧めします。
- 新しいイメージを、パートナーシップ用のAWS Elastic Container Registry (ECR) リポジトリにプッシュします。
Lambda関数を設定する
AWS ECR にプッシュしたイメージを使用して新しい Lambda 関数を作成します。 この関数を作成する方法の詳細については、AWS ガイド「コンテナイメージの操作」を確認することをお勧めします。
Lambda 関数を元の関数と同じ設定で構成しますが、 New Relic Lambda 監視に必要な環境変数を必ず追加してください。
関数のハンドラーを更新して、関数の
cmd
オーバーライドで新しくアタッチされたレイヤーを指すようにします。 次の 2 つのドキュメントの指示に従ってそれを実行できます。