エージェント設定を使用した EC2 インスタンスへの CloudWatch エージェントのインストール - Amazon CloudWatch

エージェント設定を使用した EC2 インスタンスへの CloudWatch エージェントのインストール

CloudWatch エージェント設定を Parameter Store に保存すると、他のサーバーにエージェントをインストールするときに使用できます。

IAM ロールをインスタンスにアタッチする

インスタンスで CloudWatch エージェントを実行できるようにするには CloudWatchAgentServerRole IAM ロールを EC2 インスタンスにアタッチする必要があります。このロールは、CloudWatch エージェントがインスタンス上でアクションを実行できるようにします。このロールは事前に作成しておく必要があります。詳細については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。

詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスへの IAM ロールのアタッチ」を参照してください。

Amazon EC2 インスタンスに CloudWatch エージェントパッケージをダウンロードする

エージェントはその実行先となる各サーバーにインストールする必要があります。CloudWatch エージェントは、Amazon Linux 2023 および Amazon Linux 2 でパッケージとして利用できます。このオペレーティングシステムを使用している場合は、以下のコマンドを入力してパッケージをインストールできます。また、インスタンスにアタッチされた IAM ロールに CloudWatchAgentServerPolicy がアタッチされていることを確認する必要もあります。詳細については、「Amazon EC2 インスタンスの CloudWatch エージェントで使用する IAM ロールを作成する」を参照してください。

sudo yum install amazon-cloudwatch-agent

サポートされているすべてのオペレーティングシステムで、Systems Manager Run Command または Amazon S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードできます。Amazon S3 ダウンロードリンクの使用については、「CloudWatch エージェントパッケージをダウンロードする」を参照してください。

注記

CloudWatch エージェントをインストールまたは更新する場合、アンインストールして再インストールするオプションのみがサポートされています。インプレースの更新オプションを使用することはできません。

Systems Manager を使用して Amazon EC2 インスタンスで CloudWatch エージェントをダウンロードする

Systems Manager を使用して CloudWatch エージェントをインストールするには、Systems Manager に合わせてインスタンスが適切に設定されていることを確認する必要があります。

SSM Agent のインストールと更新

Amazon EC2 インスタンスでは、CloudWatch エージェントを使用するにはバージョン 2.2.93.0 以降のインスタンスが実行されている必要があります。CloudWatch エージェントをインストールする前に、SSM Agent を更新するか、インスタンスにインストールしてください (まだの場合)。

Linux を実行しているインスタンスでの SSM Agent のインストールまたは更新については、AWS Systems Manager ユーザーガイドLinux インスタンスでの SSM Agent のインストールおよび設定を参照してください。

Windows Server を実行しているインスタンスでの SSM Agent のインストールまたは更新については、AWS Systems Manager ユーザーガイドWindows インスタンスでの SSM Agent のインストールおよび設定を参照してください。

(オプション) Systems Manager の前提条件を確認します。

Systems Manager Run Command を使用して CloudWatch エージェントをインストールおよび設定する前に、インスタンスが Systems Manager の最低要件を満たしていることを確認してください。詳細については、AWS Systems Manager ユーザーガイドAWS Systems Manager のセットアップを参照してください。

インターネットアクセスを確認する

CloudWatch または CloudWatch Logs にデータを送信するには、Amazon EC2 インスタンスにアウトバウンドインターネットアクセスが必要です。インターネットアクセスの詳しい設定方法については、Amazon VPC ユーザーガイドの「インターネットゲートウェイ」を参照してください。

CloudWatch エージェントパッケージをダウンロードする

Systems Manager Run Command では、インスタンスの設定を管理できます。Systems Manager ドキュメントを指定してパラメータを指定し、1 つ以上のインスタンスでコマンドを実行します。インスタンスの SSM Agent は、コマンドを処理し、指定されたとおりにインスタンスを設定します。

Run Command を使用して CloudWatch エージェントをダウンロードするには
  1. Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Run Command] を選択します。

    -または-

    AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document] リストで、[AWS-ConfigureAWSPackage] を選択します。

  5. [Targets] 領域で、CloudWatch エージェントをインストールするインスタンスを選択します。特定のインスタンスが表示されない場合、Run Command 用に設定されていない可能性があります。詳細については、AWS Systems Manager ユーザーガイドからハイブリッド環境での AWS Systems Manager のセットアップを参照してください。

  6. [アクション] リストで、[インストール] を選択します。

  7. [名前] ボックスに、「AmazonCloudWatchAgent」と入力します。

  8. エージェントの最新バージョンをインストールには、[Version (バージョン)] を [latest (最新)] に設定したままにします。

  9. [Run (実行)] を選択します。

  10. 必要に応じて、[Targets and outputs] 領域で、インスタンス名の横のボタンを選択して [View output] を選択します。Systems Manager に、エージェントが正常にインストールされたことが表示されます。

(オプション) CloudWatch エージェントの一般的な設定と名前付きプロファイルを変更する

CloudWatch エージェントには、common-config.toml と呼ばれる設定ファイルが含まれます。(オプション) このファイルを使用してプロキシおよびリージョン情報を指定できます。

Linux を実行しているサーバーでは、このファイルは /opt/aws/amazon-cloudwatch-agent/etc ディレクトリにあります。Windows Server を実行しているサーバーでは、このファイルは C:\ProgramData\Amazon\AmazonCloudWatchAgent ディレクトリにあります。

デフォルトの common-config.toml は次のようになります。

# This common-config is used to configure items used for both ssm and cloudwatch access ## Configuration for shared credential. ## Default credential strategy will be used if it is absent here: ## Instance role is used for EC2 case by default. ## AmazonCloudWatchAgent profile is used for onPremise case by default. # [credentials] # shared_credential_profile = "{profile_name}" # shared_credential_file= "{file_name}" ## Configuration for proxy. ## System-wide environment-variable will be read if it is absent here. ## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy ## Note: system-wide environment-variable is not accessible when using ssm run-command. ## Absent in both here and environment-variable means no proxy will be used. # [proxy] # http_proxy = "{http_url}" # https_proxy = "{https_url}" # no_proxy = "{domain}"

初期状態では、すべての行がコメントアウトされています。認証情報プロファイルやプロキシ設定を設定するには、その行から # を削除し、値を指定します。このファイルを手動で編集するか、Systems Manager の RunShellScript Run Command を使用できます。

  • shared_credential_profile – オンプレミスサーバーの場合、このコード行では、データを CloudWatch に送信するために使用する IAM ユーザー認証情報を指定します。このコード行をコメントアウトした場合、AmazonCloudWatchAgent が使用されます。

    EC2 インスタンスでは、このコード行を使用して、CloudWatch エージェントでこのインスタンスのデータを別の AWS リージョンの CloudWatch に送信します。そのためには、送信先のリージョンの名前を指定する region フィールドを含む名前付きプロファイルを指定します。

    shared_credential_profile を指定する場合は、[credentials] 行の先頭から # を削除する必要もあります。

  • shared_credential_file – エージェントでデフォルトのパス以外のパスにあるファイルの認証情報を検索するには、ここで完全なパスとファイル名を指定します。デフォルトのパスは、/root/.aws (Linux) および C:\\Users\\Administrator\\.aws (Windows Server) です。

    以下の最初の例は、Linux サーバーで有効な shared_credential_file 行の構文です。2 番目の例は、Windows Server で有効です。Windows Server では、\ 文字をエスケープする必要があります。

    shared_credential_file= "/usr/username/credentials"
    shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"

    shared_credential_file を指定する場合は、[credentials] 行の先頭から # を削除する必要もあります。

  • プロキシ設定 – サーバーで HTTP プロキシまたは HTTPS プロキシを使用して AWS サービスに接続する場合は、これらのプロキシを http_proxy フィールドと https_proxy フィールドに指定します。プロキシから除外すべき URL がある場合、カンマで区切って no_proxy フィールドで指定します。

CloudWatch エージェントを起動する

Systems Manager Run Command またはコマンドラインを使用してエージェントを起動できます。

Systems Manager Run Command を使用して CloudWatch エージェントを起動する

Systems Manager Run Command を使用してエージェントを起動するには、次の手順に従います。

コマンドの実行を使用して CloudWatch エージェントを起動するには
  1. Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Run Command] を選択します。

    -または-

    AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document] リストで、[AmazonCloudWatch-ManageAgent] を選択します。

  5. [Targets] 領域で、CloudWatch エージェントをインストールしたインスタンスを選択します。

  6. [Action] リストで、[configure] を選択します。

  7. [Optional Configuration Source] リストで、[ssm] を選択します。

  8. [オプションの設定の場所] ボックスに、「CloudWatch エージェント設定ファイルを作成する」で説明されているように、作成して Systems Manager Parameter Store に保存したエージェント設定ファイルの Systems Manager パラメータ名を入力します。

  9. これらのステップを完了した後、[Optional Restart] リストで、[yes] を選択してエージェントを開始します。

  10. [Run (実行)] を選択します。

  11. 必要に応じて、[Targets and outputs] 領域で、インスタンス名の横のボタンを選択して [View output] を選択します。Systems Manager に、エージェントが正常に開始されたことが表示されます。

コマンドラインを使用して Amazon EC2 インスタンスで CloudWatch エージェントを起動する

コマンドラインを使用して CloudWatch エージェントを Amazon EC2 インスタンスにインストールするには、以下の手順を実行します。

コマンドラインを使用して CloudWatch エージェントを Amazon EC2 インスタンスに起動するには
  • このコマンドで、-a fetch-config によりエージェントは最新バージョンの CloudWatch エージェント設定ファイルをロードし、-s がエージェントを開始します。

    Linux および macOS: Systems Manager Parameter Store に設定ファイルを保存した場合は、次のように入力します。

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name

    Linux および macOS: 設定ファイルをローカルコンピュータに保存した場合は、次のコマンドを入力します。configuration-file-path は、エージェント設定ファイルへのパスに置き換えます。このファイルの名前は、ウィザードで作成した場合は config.json になり、手動で作成した場合は amazon-cloudwatch-agent.json になる場合があります。

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path

    Windows Server: エージェント設定ファイルを Systems Manager Parameter Store に保存した場合は、PowerShell コンソールから次のように入力します。

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name

    Windows Server: エージェント設定ファイルをローカルコンピュータに保存した場合は、PowerShell コンソールから次のように入力します。

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json"