オンプレミスサーバーへの CloudWatch エージェントのインストール - Amazon CloudWatch

オンプレミスサーバーへの CloudWatch エージェントのインストール

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

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

Systems Manager Run Command または Amazon S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードできます。Amazon 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. 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. [ターゲット] 領域で、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 とする場合は、これ以上何もする必要はありません。必要に応じて、別の名前をつけ、shared_credential_profile ファイルの common-config.toml の値としてその名前を指定することができます。詳細は次のセクションを参照してください。

次の例では、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 エージェントには、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 エージェントは、Systems Manager Run Command またはコマンドラインを使用して開始できます。

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

  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 -s -c ssm:configuration-parameter-store-name

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

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -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 onPremise -s -c ssm:configuration-parameter-store-name

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

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