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 -hAWSプロファイルが 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-infra
ECSタスク定義を登録しますEC2起動タイプの場合、以下も行われます
- デーモンスケジューリング戦略とEC2起動タイプを使用して、登録されたタスクのサービス
newrelic-infra
を作成します。
- デーモンスケジューリング戦略とEC2起動タイプを使用して、登録されたタスクのサービス
EXTERNAL(ECS Anywhere)起動タイプの場合、以下も行われます
- デーモンスケジューリング戦略とEXTERNAL(ECS Anywhere)起動タイプを使用して、登録されたタスクのサービス
newrelic-infra-external
を作成します
- デーモンスケジューリング戦略とEXTERNAL(ECS Anywhere)起動タイプを使用して、登録されたタスクのサービス