サーバーでの CloudWatch エージェントのインストールおよび実行 - Amazon CloudWatch

サーバーでの CloudWatch エージェントのインストールおよび実行

必要なエージェント設定ファイルを作成し、IAM ロールまたは IAM ユーザーを作成したら、次のステップに従い、作成した設定を使用してサーバーにエージェントをインストールして実行します。まず、エージェントを実行するサーバーに IAM ロールまたは IAM ユーザーをアタッチします。次に、そのサーバーにエージェントパッケージをダウンロードし、作成したエージェントの設定を使用して起動します。

S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードする

注記

CloudWatch エージェントをダウンロードするには、接続に TLS 1.2 以降を使用する必要があります。

エージェントはその実行先となる各サーバーにインストールする必要があります。

Amazon Linux 2

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

sudo yum install amazon-cloudwatch-agent

すべてのオペレーティングシステム

サポートされているすべてのオペレーティングシステムで、以下の手順で説明するように、コマンドラインと Amazon S3 ダウンロードリンクを使用して、CloudWatch エージェントをダウンロードしてインストールできます。

ダウンロードリンクごとに、全般的なリンクと各リージョンのリンクがあります。例えば、Amazon Linux 2023、Amazon Linux 2、x86-64 アーキテクチャの場合、有効なダウンロードリンクは次の 3 つです。

  • https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

  • https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

  • https://amazoncloudwatch-agent-eu-central-1.s3.eu-central-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

アーキテクチャ プラットフォーム ダウンロードリンク 署名ファイルリンク

x86-64

Amazon Linux 2023 および Amazon Linux 2

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

CentOS

https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

Redhat

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

SUSE

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

Debian

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig

x86-64

Ubuntu

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig

x86-64

Oracle

https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

x86-64

macOS

https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig

x86-64

Windows

https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig

ARM64

Amazon Linux 2023 および Amazon Linux 2

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig

ARM64

Red Hat

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig

ARM64

Ubuntu

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig

ARM64

SUSE

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm

https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig

https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig

コマンドラインを使用して CloudWatch エージェントを Amazon EC2 インスタンスにインストールするには
  1. CloudWatch エージェントをダウンロードします。Linux サーバーで、次のように入力します。download-link の場合、前の表の適切なダウンロードリンクを使用します。

    wget download-link

    Windows Server を実行しているサーバーの場合、次のファイルをダウンロードします。

    https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
  2. パッケージをダウンロードしたら、オプションでパッケージの署名を確認できます。詳細については、「CloudWatch エージェントパッケージの署名の検証」を参照してください。

  3. パッケージをインストールします。Linux サーバーに RPM パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。

    sudo rpm -U ./amazon-cloudwatch-agent.rpm

    Linux サーバーに DEB パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。

    sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

    Windows Server を実行するサーバーに MSI パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。

    msiexec /i amazon-cloudwatch-agent.msi

    このコマンドは PowerShell 内からも使用できます。MSI コマンドオプションの詳細については、Microsoft Windows のドキュメントで「Command-Line Options」を参照してください。

(EC2 インスタンスへのインストール) IAM ロールのアタッチ

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

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

(オンプレミスサーバーへのインストール) IAM 認証情報と AWS リージョンを指定する

CloudWatch エージェントで、オンプレミスサーバーのデータを送信できるようにするには、先ほど作成した IAM ユーザーのアクセスキーおよびシークレットキーを指定する必要があります。このユーザーの作成方法については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。

また、メトリクスを送信する AWS リージョンを指定する必要があります。そのためには、次の例に示されているように、region 設定ファイルの [AmazonCloudWatchAgent] セクションの AWS フィールドを使用します。

[profile AmazonCloudWatchAgent] region = us-west-1

aws configure コマンドを使用して CloudWatch エージェントの名前付きプロファイルを作成する例を以下に示します。この例では、AmazonCloudWatchAgent のデフォルトプロファイル名を使用しているものとします。

CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成するには
  1. まだの場合は、AWS Command Line Interface をサーバーにインストールしてください。詳細については、「AWS CLI のインストール」を参照してください。

  2. Linux サーバーでは、以下のコマンドを入力し、プロンプトに従います。

    sudo aws configure --profile AmazonCloudWatchAgent

    Windows Server では、管理者として PowerShell を開き、以下のコマンドを入力して、プロンプトに従います。

    aws configure --profile AmazonCloudWatchAgent

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

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

プロキシで設定するエンドポイントとポートは、次のとおりです。

  • エージェントを使用してメトリクスを収集する場合は、適切なリージョンの CloudWatch エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「Amazon CloudWatch エンドポイントとクォータ」に記載されています。

  • エージェントを使用してログを収集する場合は、適切なリージョンの CloudWatch Logs エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「Amazon CloudWatch Logs エンドポイントとクォータ」に記載されています。

  • Systems Manager を使用してエージェントをインストールするか、Parameter Store を使用して設定ファイルを保存する場合は、適切なリージョンの Systems Manager エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「AWS Systems Manager エンドポイントとクォータ」に記載されています。

(オプション) プロキシ情報またはリージョン情報の一般的な設定を変更する

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 the on-premises 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 が使用されます。このプロファイルの作成の詳細については、「(オンプレミスサーバーへのインストール) IAM 認証情報と AWS リージョンを指定する」を参照してください。

    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 エージェントを起動する

コマンドラインを使用してサーバー上の CloudWatch エージェントを起動するには、以下のステップを実行します。

コマンドラインを使用してサーバーの CloudWatch エージェントを起動するには
  1. 使用するエージェント設定ファイルを、エージェントを実行するサーバーにコピーします。設定ファイルのコピー先のパス名を書き留めます。

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

    以下のいずれかのコマンドを入力します。configuration-file-path は、エージェント設定ファイルへのパスに置き換えます。このファイルの名前は、ウィザードで作成した場合は config.json になり、手動で作成した場合は amazon-cloudwatch-agent.json になる場合があります。

    Linux を実行する EC2 インスタンスで、次のコマンドを入力します。

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

    Linux を実行しているオンプレミスサーバーでは、次のように入力します。

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

    Windows Server を実行する EC2 インスタンスでは、PowerShell コンソールから次のように入力します。

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

    Windows Server を実行するオンプレミスサーバーでは、PowerShell コンソールから次のように入力します。

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