• ログイン

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

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

問題を作成する

ステップ1: AWSとNew Relicのアカウントをリンクする

これは、 NewRelicのAWSLambdaモニタリングを有効にするための最初のステップです。

AWS アカウントを New Relic にリンクさせると、New Relic に AWS アカウントのインベントリを作成したり、Lambda 関数の CloudWatch メトリクスを収集したりする権限が与えられます。AWSアカウントのリソースは、 エクスプローラー にエンティティとして表示され、設定情報が表示されます。

Lambdaサーバーレス関数モニタリングが機能するには、 APIポーリングまたはメトリックストリームの統合が必要です。このアカウントのリンクを開始する前に、統合の選択を設定するか、CLIにAPIポーリング統合をインストールさせることができます。

また、この統合ステップでは、New Relic のライセンスキーを AWS Secrets Manager サービスに保存し、遠隔測定結果を New Relic アカウントに送信できるようにします。

推奨される方法: newrelic-lambda CLI

要件

当社のLambdaレイヤーを使ってサーバーレス監視を実現するには、以下のものが必要です。

  • AWS CLI v2は、 aws configureを使用してインストールおよび構成されています。
  • Python バージョン3.3以上がインストールされていること。
  • newrelic-lambdaCLIpip3 install newrelic-lambda-cliを実行してインストールできます。
  • New Relic のアカウントです。admin ロールを持っているか、 Infrastructure manager アドオンロール を持っている必要があります。
  • A ユーザーキー.
  • IAMリソース、マネージドシークレット、Lambdasを作成するパーミッションを持つAWSアカウント。また、CloudFormationスタックやS3バケットを作成するための権限も必要です。

CLIとの統合

Lambdaサーバーレス関数のモニタリングにはAPIポーリングまたはメトリックストリームの統合が必要なため、統合が検出されない場合、CLIはAPIポーリングを自動的にインストールします。メトリックストリームが必要な場合は、CLIを実行する前に今すぐインストールしてください。

要件 がすべて揃ったら、 ユーザーキー を使って以下のコマンドを実行し、AWS アカウントと New Relic アカウントをリンクさせます( ハイライトされた の値はすべて置き換えてください)。

newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID \
    --nr-api-key YOUR_NEW_RELIC_USER_KEY

newrelic-lambda CLIは、セキュリティを強化するために、 AWSSecretManagerのシークレットとしてNewRelicライセンスキーを追加します。

ヒント

AWS Secrets ManagerにNew Relicのライセンスキーを保存する

New Relic ライセンスキー は、お客様を識別し、New Relic を認証するもので、お客様の遠隔測定をお客様の New Relic アカウントと関連付けることができます。遠隔測定を送信する各機能は、この値にアクセスする必要があり、安全に管理する必要があります。これらの問題を解決するのが AWS Secrets Manager です。

組織の都合でAWS Secrets Managerを使用できない場合や、リージョンごとに複数のシークレットを保存する必要がある場合は、ライセンスキーを設定する別の方法として、以下を参照してください。

代替方法

トラブルシューティング

AWSのシークレットマネージャーが使えない

組織がAWSSecretsManagerの使用を許可していない場合、New RelicLambdaExtensionはNEW_RELIC_LICENSE_KEY環境変数を受け入れます。 newrelic-lambda integrations installコマンドから--disable-license-key-secretフラグを追加します。次に、この環境変数をLambda関数構成のNewRelicライセンスキーに設定します。

複数のAWSリージョンとアカウント

newrelic-lambda CLIは、 --aws-regionパラメーターを使用してリージョンごとに1回実行する必要があります。同じリンクされたアカウント名を使用すると、ツールはアカウントリンクがすでに作成されていることを検出します。ライセンスキーシークレットは、各リージョンで作成する必要があります。

同様に、複数のAWSアカウントをNewRelicアカウントにリンクできます。各アカウントに異なるリンクされたアカウント名を付けます。 CLIツールの--aws-profile引数は、名前付きプロファイルを選択します。このツールは、AWSCLIと同じ設定を使用します。

ライセンスキーの取得に失敗しました AccessDeniedException

ラムダコードには、AWSSecretsManagerを読み取る権限を持つ実行ロールが必要です。次のようなログが見つかった場合は、実行ロールのポリシーに適切な権限を追加してください。この例では、 template.yamlファイルをチェックして、この権限を付与する簡単な方法を確認してください。

Failed to retrieve license key AccessDeniedException: User: <ARN> is not authorized to perform: secretsmanager:GetSecretValue on resource: <ARN>
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.