New RelicのECSインテグレーションは、Amazon ECS環境からのパフォーマンスデータをレポートおよび表示します。
インストールの概要
インストールする前に、次の2つの起動タイプに対してinfrastructureエージェント(newrelic-infra)がどのようにデプロイされるかの概要を理解しておくとよいでしょう。
- EC2 and EXTERNAL (ECS Anywhere) launch type: - 当社のエージェントは、デーモンスケジューリング戦略を使用して、サービスとしてECSクラスタにデプロイされます(こちらのAWSドキュメントで説明)。これにより、クラスタのすべてのEC2インスタンスにエージェントがインストールされ、ECSとDockerコンテナが監視されます。 
- AWS Fargate launch type: - 監視するすべてのタスクで、エージェントはサイドカーとしてデプロイされます。オプション:AWSがサイドカーを定義する方法の詳細をご覧ください。 
インストールオプション
必要なインストールを選択します。
CloudFormationを使用してインストールする
AWS CloudFormationを使用したインストールを支援するために、EC2、EXTERNAL(ECS Anywhere)、およびAWS Fargate起動タイプのAWSアカウントに、ECSインテグレーションをインストールするCloudFormationテンプレートがいくつか用意されています。
CloudFormationを使用してインストールするには:
- ECSインテグレーションタスクを登録するには、このスタックをデプロイします。スタックを目的のリージョンにデプロイしていることを確認してください。このスタックは次のリソースを作成します。 - New Relic - を保存するシークレット 
- ライセンスキーにアクセスするためのポリシー 
- ライセンスキーへのアクセス権を持つ、ECSタスク - ExecutionRoleとして使用されるインスタンスロール
- EC2および外部(ECS Anywhere)の起動タイプ:New Relic Infrastructure ECSインテグレーションタスクを登録する 
 
- 起動タイプに応じて追加の手順に従ってください。 
完了したら、次の手順を参照してください。
自動スクリプトでインストールする
インストールオプションの1つは、インストールスクリプトを使用することです。自動インストールスクリプトを使用するには:
- ECSインテグレーションインストーラをダウンロードします bash$curl -O https://download.newrelic.com/infrastructure_agent/integrations/ecs/newrelic-infra-ecs-installer.sh
- インストーラに実行権限を追加します bash$chmod +x newrelic-infra-ecs-installer.sh
- -hで実行してドキュメントと要件を確認しますbash$./newrelic-infra-ecs-installer.sh -h
- AWSプロファイルが ECSクラスタが作成されたのと同じリージョンを指していることを確認します bash$aws configure get regionus-east-1$aws ecs list-clustersYOUR_CLUSTER_ARNSarn:aws:ecs:us-east-1:YOUR_AWS_ACCOUNT:cluster/YOUR_CLUSTER
- とクラスタ名を指定してインストーラーを実行します。 
- Fargate起動タイプ(EC2起動タイプではない)の追加手順: - デプロイするサイドカーコンテナを含むタスク定義の例をダウンロードします。 bash$curl -O https://download.newrelic.com/infrastructure_agent/integrations/ecs/newrelic-infra-ecs-fargate-example-latest.json- ヒント- Gravitonの場合は、 - "cpuArchitecture": "X86_64"を- "cpuArchitecture": "ARM64"に置き換えます。- 作成したばかりの - NewRelicECSTaskExecutionRoleをタスク実行ロールとして使用する必要があります。ロールにアタッチされたポリシー(すべての起動タイプ):- NewRelicSSMLicenseKeyReadAccessライセンスキーを使用してSSMにアクセスできるようになります。
- AmazonECSTaskExecutionRolePolicy
 
- 次に、監視したいコンテナをサイドカーとして追加できます 
 
完了したら、次の手順を参照してください。
手動インストール
インストールオプションの1つは、自動インストーラスクリプトによって実行される手順を手動で実行することです。awscliツールを使用してこれを行う方法について説明します。
- AWSプロファイルが ECSクラスタが作成されたのと同じリージョンを指していることを確認します bash$aws configure get regionus-east-1$aws ecs list-clustersYOUR_CLUSTER_ARNSarn:aws:ecs:us-east-1:YOUR_AWS_ACCOUNT:cluster/YOUR_CLUSTER
- をSystems Manager(SSM)パラメーターとして保存します。 bash$aws ssm put-parameter \>--name "/newrelic-infra/ecs/license-key" \>--type SecureString \>--description 'New Relic license key for ECS monitoring' \>--value "NEW_RELIC_LICENSE_KEY"
- ライセンスキーパラメーターにアクセスするためのIAMポリシーを作成します bash$aws iam create-policy \>--policy-name "NewRelicSSMLicenseKeyReadAccess" \>--policy-document "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"ssm:GetParameters\"],\"Resource\":[\"ARN_OF_LICENSE_KEY_PARAMETER\"]}]}" \>--description "Provides read access to the New Relic SSM license key parameter"
- タスク実行ロールとして使用するIAMロールを作成します bash$aws iam create-role \>--role-name "NewRelicECSTaskExecutionRole" \>--assume-role-policy-document '{"Version":"2008-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"ecs-tasks.amazonaws.com"},"Action":"sts:AssumeRole"}]}' \>--description "ECS task execution role for New Relic infrastructure"
- ポリシー - NewRelicSSMLicenseKeyReadAccessと- AmazonECSTaskExecutionRolePolicyをロールにアタッチしますbash$aws iam attach-role-policy \>--role-name "NewRelicECSTaskExecutionRole" \>--policy-arn "POLICY_ARN"
- 詳細な手順については、以下の起動タイプを選択してください 
完了したら、次の手順を参照してください。
このドキュメントはインストールの役に立ちましたか?
インストール後の次の手順
このインテグレーションをインストールした後:
- 数分待ってから、UIでデータを探します
- 推奨:ECSクラウドインテグレーションをインストールします。これにより、クラスタやサービスに関する情報を含む他のECSデータが取得されます
- 推奨アラート条件を参照してください
- このプロセスによって作成されるAWSリソースを理解します
作成されたAWSリソース
デフォルト/推奨値を使用してECSインテグレーションをインストールすると、AWSで次のことが行われます。
- Systems Manager(SSM)パラメーター - /newrelic-infra/ecs/license-keyを作成します。このシステムパラメーターにはNew Relic- が含まれています。 
- IAMポリシー - NewRelicSSMLicenseKeyReadAccessを作成します。これにより、ライセンスキーを使用してSSMライセンスへのアクセスが可能になります
- タスク実行ロールとして使用するIAMロール - NewRelicECSTaskExecutionRoleを作成します。ロールにアタッチされたポリシー:- NewRelicSSMLicenseKeyReadAccess(インストーラにより作成)
- AmazonECSTaskExecutionRolePolicy
 
- EC2および外部(ECS Anywhere)起動タイプの - newrelic-infraECSタスク定義を登録します
- EC2起動タイプの場合、以下も行われます - デーモンスケジューリング戦略とEC2起動タイプを使用して、登録されたタスクのサービスnewrelic-infraを作成します。
 
- デーモンスケジューリング戦略とEC2起動タイプを使用して、登録されたタスクのサービス
- EXTERNAL(ECS Anywhere)起動タイプの場合、以下も行われます - デーモンスケジューリング戦略とEXTERNAL(ECS Anywhere)起動タイプを使用して、登録されたタスクのサービスnewrelic-infra-externalを作成します
 
- デーモンスケジューリング戦略とEXTERNAL(ECS Anywhere)起動タイプを使用して、登録されたタスクのサービス