サーバーで CloudWatch エージェントをインストールして実行する - Amazon CloudWatch

サーバーで CloudWatch エージェントをインストールして実行する

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

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

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

sudo yum install amazon-cloudwatch-agent

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

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

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

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

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

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

AMD64

Amazon Linux および Amazon Linux 2

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

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

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

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

AMD64

CentOS

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

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

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

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

AMD64

Redhat

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

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

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

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

AMD64

SUSE

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

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

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

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

AMD64

Debian

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

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

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

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

AMD64

Ubuntu

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

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

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

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

AMD64

Windows

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

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

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

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

ARM64

Amazon Linux 2

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

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

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

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

ARM64

Redhat

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

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

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

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

ARM64

Ubuntu

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

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

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

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

ARM64

SUSE

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

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

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

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

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

  1. CloudWatch エージェントをダウンロードします。Linux サーバーで、次のように入力します。download-link の場合、前の表の適切なダウンロードリンクを使用します。

    wget download-link

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

    https://s3.amazonaws.com/amazoncloudwatch-agent/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 です。

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

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

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

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

[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 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 が使用されます。このプロファイルの作成の詳細については、「(オンプレミスサーバーへのインストール) 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