Amazon CloudWatch
ユーザーガイド

オンプレミスサーバーに CloudWatch エージェントをインストールする

CloudWatch エージェントをあるコンピュータにダウンロードし、必要なエージェント設定ファイルを作成した場合は、その設定ファイルを使用して他のオンプレミスサーバーにエージェントをインストールできます。

オンプレミスサーバーに CloudWatch エージェントをダウンロードする

Systems Manager Run Command または Amazon S3 のダウンロードリンクを使用して、CloudWatch エージェントパッケージをダウンロードできます。Amazon S3 ダウンロードリンクの使用については、「S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードする」を参照してください。

Systems Manager を使用したダウンロード

Systems Manager Run Command を使用するには、Amazon EC2 Systems Manager にオンプレミスサーバーを登録する必要があります。詳細については、AWS Systems Manager ユーザーガイドの「ハイブリッド環境での Systems Manager の設定」を参照してください。

すでにサーバーを登録している場合、SSM Agent を最新バージョンに更新します。

Linux を実行しているサーバーでの SSM Agent の更新については、AWS Systems Manager ユーザーガイドの「ハイブリッド環境で SSM Agent をインストールする (Linux)」を参照してください。

Windows Server を実行しているサーバーでの SSM Agent の更新については、AWS Systems Manager ユーザーガイドの「ハイブリッド環境で SSM Agent をインストールする (Windows)」を参照してください。

SSM Agent を使用してオンプレミスサーバーで 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] を空白のままにします。

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

    エージェントパッケージがダウンロードされたら、次のステップではエージェントパッケージを設定して開始します。

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

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

また、メトリクスを送信する AWS リージョンを指定する必要があります。これには、region フィールドを使用します。

このファイルの例を以下に示します。

[AmazonCloudWatchAgent] aws_access_key_id=my_access_key aws_secret_access_key=my_secret_key region = us-west-1

my_access_key および my_secret_key で、Systems Manager Parameter Store へのアクセス許可がない IAM ユーザーのキーを使用します。CloudWatch エージェントに必要な IAM ユーザーの詳細については、「オンプレミスサーバーで CloudWatch エージェントを使用するための IAM ユーザーを作成する」を参照してください。

このプロファイルの名前を AmazonCloudWatchAgent とする場合は、これ以上何もする必要はありません。必要に応じて、別の名前をつけ、 common-config.toml ファイルの shared_credential_profile の値としてその名前を指定することができます。詳細は次のセクションを参照してください。

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

CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成するには

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

    sudo aws configure --profile AmazonCloudWatchAgent

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

    aws configure --profile AmazonCloudWatchAgent

(オプション) 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 が使用されます。このプロファイルの作成の詳細については、「(オンプレミスサーバーへのインストール) 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= "C:\\Documents and Settings\\username\\.aws\\credentials"
    shared_credential_file= "/usr/username/credentials"

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

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

CloudWatch エージェントを開始する

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

SSM Agent を使用してオンプレミスサーバーで 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. [Targets] 領域で、エージェントをインストールしたインスタンスを選択します。

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

  7. [Mode] リストで、[onPremise] を選択します。

  8. [Optional Configuration Location (オプションの設定場所)] ボックスで、ウィザードで作成して Parameter Store に保存したエージェント設定ファイルの名前を入力します。

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

    エージェントが、設定ファイルで指定した設定で開始されます。

コマンドラインを使用してオンプレミスサーバーで CloudWatch エージェントを開始するには

  • このコマンドで、-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 onPremise -c ssm:configuration-parameter-store-name -s

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

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

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

    ./amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m onPremise -c ssm:configuration-parameter-store-name -s

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

    ./amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m onPremise -c file:configuration-file-path -s