エージェント設定を使用して EC2 インスタンスに CloudWatch エージェントをインストールする - Amazon CloudWatch

エージェント設定を使用して EC2 インスタンスに CloudWatch エージェントをインストールする

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

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

インスタンスで CloudWatch エージェントを実行できるようにするには CloudWatchAgentServerRole IAM ロールを EC2 インスタンスにアタッチする必要があります。このロールは、CloudWatch エージェントがインスタンス上でアクションを実行できるようにします。

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

Amazon EC2 インスタンスに CloudWatch エージェントパッケージをインストールする

Systems Manager Run Command または Amazon S3 のダウンロードリンクを使用して、CloudWatch エージェントパッケージをダウンロードできます。Amazon S3 ダウンロードリンクの使用については、「S3 ダウンロードリンクを使用して 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 エージェントのインストールおよび設定」を参照してください。

(オプション) 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. Open the Systems Manager console at https://console.aws.amazon.com/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. [Run command] を選択します。

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

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

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

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

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

  9. [Run] を選択します。

  10. 必要に応じて、[ターゲットと出力] 領域で、インスタンス名の横のボタンを選択して [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 を使用してエージェントを開始するには、以下のステップを実行します。

Run Command を使用して CloudWatch エージェントを開始するには

  1. Open the Systems Manager console at https://console.aws.amazon.com/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. [Run command] を選択します。

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

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

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

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

  8. CloudWatch エージェント設定ファイルを作成する」で説明されているとおり、[Optional Configuration Location (オプションの設定場所)] ボックスに、作成して Systems Manager Parameter Store に保存したエージェント設定ファイルの名前を入力します。

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

  10. [Run] を選択します。

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

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

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

コマンドラインを使用して CloudWatch エージェントを Amazon EC2 インスタンスに開始するには

  • このコマンドで、-a fetch-config によりエージェントは最新バージョンの CloudWatch エージェント設定ファイルをロードし、-s がエージェントを開始します。

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

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

    Linux: 設定ファイルをローカルコンピュータに保存した場合は、次のように入力します。

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

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

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

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

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