クイックスタート: 実行中の EC2 Linux インスタンスに CloudWatch Logs エージェントをインストールして設定する - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クイックスタート: 実行中の EC2 Linux インスタンスに CloudWatch Logs エージェントをインストールして設定する

重要

古いログエージェントは廃止されました。EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる統合エージェント CloudWatch が含まれています。詳細については、「 CloudWatch Logs の開始方法」を参照してください。

古い CloudWatch Logs エージェントから統合エージェントへの移行については、「ウィザードを使用して CloudWatch エージェント設定ファイルを作成する」を参照してください。

古いログエージェントは、Python の 2.6 から 3.5 までのバージョンしかサポートしていません。さらに、古い CloudWatch Logs エージェントはインスタンスメタデータサービスバージョン 2 (IMDSv2) をサポートしていません。サーバーが IMDSv2 を使用している場合は、古い CloudWatch Logs エージェントではなく、新しい統合 エージェントを使用する必要があります。

このセクションの残りの部分では、まだ使用しているお客様向けの古い CloudWatch Logs エージェントの使用について説明します。

ヒント

CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる新しい統合エージェントが含まれています。古い CloudWatch Logs エージェントをまだ使用していない場合は、新しい統合 CloudWatchエージェントを使用することをお勧めします。詳細については、「 CloudWatch Logs の開始方法」を参照してください。

さらに、古いエージェントでは、Instance Metadata Service Version 2 (IMDSv2) がサポートされていません。サーバーが IMDSv2 を使用している場合は、古い CloudWatch Logs エージェントではなく、新しい統合エージェントを使用する必要があります。

このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。

実行中の EC2 Linux インスタンスで古い CloudWatch Logs エージェントを設定する

既存の EC2 インスタンスで CloudWatch Logs エージェントインストーラーを使用して、 CloudWatch Logs エージェントをインストールして設定できます。インストールが完了したら、エージェントのインストール中に、インスタンスから、作成したログストリームにログが自動的に流れます。エージェントは開始を確認し無効にされるまで実行し続けます。

エージェントの使用に加えて、、 CloudWatch Logs SDK AWS CLI、または CloudWatch Logs API を使用してログデータを発行することもできます。 AWS CLI は、コマンドラインまたはスクリプトでのデータの発行に最適です。 CloudWatch Logs SDK は、アプリケーションから直接ログデータを公開したり、独自のログ公開アプリケーションを構築したりするのに最適です。

ステップ 1: CloudWatch Logs 用に IAM ロールまたはユーザーを設定する

CloudWatch Logs エージェントは IAM ロールとユーザーをサポートします。インスタンスに関連付けられた IAM ロールがすでに存在する場合、その下に IAM ポリシーが含まれていることを確認してください。インスタンスに関連付けられた IAM ロールがまだ存在しない場合は、次のステップで IAM 認証情報を使用するか、IAM ロールインスタンスに割り当てることができます。詳細については、「インスタンスへの IAM ロールのアタッチ」を参照してください。

Logs 用に IAM CloudWatch ロールまたはユーザーを設定するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで Roles (ロール) を選択します。

  3. ロール名を選択してロールを選択します (名前の横にあるチェックボックスを選択しないでください)。

  4. [Attach Policies (ポリシーのアタッチ)] を選択して、[ポリシーの作成] を選択します。

    新しいブラウザタブまたはウィンドウが開きます。

  5. [JSON] タブを選択して、次の JSON ポリシードキュメントを入力します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
  6. 完了したら、[ポリシーの確認] を選択します。構文エラーがある場合は、Policy Validator (ポリシー検証) によってレポートされます。

  7. [ポリシーの確認] ページで、作成するポリシーの [名前] と [説明] (オプション) を入力します。ポリシーの [Summary] (概要) を参照して、ポリシーによって付与された許可を確認します。次に、[Create policy] (ポリシーの作成) を選択して作業を保存します。

  8. ブラウザタブまたはウィンドウを閉じ、ロールの [アクセス権限の追加] を選択します。[更新] を選択し、新しいポリシーを選択してロールに追加します。

  9. [Attach Policy] を選択します。

ステップ 2: 既存の Amazon EC2 インスタンスに CloudWatch ログをインストールして設定する

CloudWatch Logs エージェントをインストールするプロセスは、Amazon EC2 インスタンスが Amazon Linux、Ubuntu、CentOS、Red Hat のいずれを実行しているかによって異なります。インスタンスの Linux のバージョンに適切な手順を使用してください。

既存の Amazon Linux インスタンスに CloudWatch Logs をインストールして設定するには

Amazon Linux AMI 2014.09 以降では、 CloudWatch awslogs パッケージを使用した RPM インストールとして Logs エージェントを使用できます。それ以前のバージョンの Amazon Linux は、sudo yum update -y コマンドを使用してインスタンスを更新することで awslogs パッケージにアクセスできます。 CloudWatch Logs インストーラを使用する代わりに awslogs パッケージを RPM としてインストールすると、インスタンスは CloudWatch Logs エージェントを手動で再インストール AWS することなく、 から定期的なパッケージ更新とパッチを受け取ります。

警告

以前に Python スクリプトを使用してエージェントをインストールした場合は、RPM インストール方法を使用して CloudWatch Logs エージェントを更新しないでください。これを行うと、 CloudWatch Logs エージェントが にログを送信できなくなる設定上の問題が発生する可能性があります CloudWatch。

  1. Amazon Linux インスタンスに接続します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスへの接続」を参照してください。

    接続問題の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスへの接続に関するトラブルシューティング」を参照してください。

  2. Amazon Linux インスタンスを更新してパッケージリポジトリの最新の変更を取得します。

    sudo yum update -y
  3. awslogs パッケージをインストールします。これは Amazon Linux インスタンスで awslogs をインストールする推奨手段です。

    sudo yum install -y awslogs
  4. /etc/awslogs/awslogs.conf ファイルを編集して追跡するログを設定します。このファイルの編集方法については、「CloudWatch Logs エージェントのリファレンス」を参照してください。

  5. デフォルトでは、/etc/awslogs/awscli.conf は us-east-1 リージョンを指します。ログを別の領域にプッシュするには、awscli.conf ファイルを編集し、その領域を指定します。

  6. awslogs サービスを開始します。

    sudo service awslogs start

    Amazon Linux 2 を実行している場合は、次のコマンドを使用して awslogs サービスを開始します。

    sudo systemctl start awslogsd
  7. (オプション) /var/log/awslogs.log ファイルでサービス開始時に記録されたエラーがあるかどうか確認します。

  8. (オプション)システム起動時に毎回 awslogs サービスを起動する場合は、次のコマンドを実行します。

    sudo chkconfig awslogs on

    Amazon Linux 2 を実行している場合は、次のコマンドを使用してシステムブートのたびにサービスを開始します。

    sudo systemctl enable awslogsd.service
  9. エージェントが実行されてしばらくしたら、 CloudWatch コンソールに新しく作成されたロググループとログストリームを確認してください。

    詳細については、「Logs に送信された CloudWatch ログデータを表示する」を参照してください。

既存の Ubuntu Server、CentOS、または Red Hat インスタンスに CloudWatch Logs をインストールして設定するには

Ubuntu Server、CentOS、または Red Hat を実行している AMI を使用している場合は、次の手順を使用して CloudWatch Logs エージェントをインスタンスに手動でインストールします。

  1. EC2 インスタンスに接続します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスへの接続」を参照してください。

    接続問題の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスへの接続に関するトラブルシューティング」を参照してください。

  2. 2 つのオプションのいずれかを使用して、 CloudWatch Logs エージェントインストーラを実行します。インターネットから直接実行するか、ファイルをダウンロードしてスタンドアロンで実行できます。

    注記

    CentOS 6.x、Red Hat 6.x、または Ubuntu 12.04 を実行している場合は、インストーラをダウンロードしてスタンドアロンで実行する手順を使用してください。これらのシステムでは、インターネットから直接 CloudWatch Logs エージェントをインストールすることはできません。

    注記

    Ubuntu では、次のコマンドを実行する前に apt-get update を実行してください。

    インターネットから直接実行するには、次のコマンドを使用してプロンプトに従います。

    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
    sudo python ./awslogs-agent-setup.py --region us-east-1

    前のコマンドが機能しない場合は、以下を試してください。

    sudo python3 ./awslogs-agent-setup.py --region us-east-1

    スタンドアロンをダウンロードして実行するには、次のコマンドを使用してプロンプトに従います。

    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/AgentDependencies.tar.gz -O
    tar xvf AgentDependencies.tar.gz -C /tmp/
    sudo python ./awslogs-agent-setup.py --region us-east-1 --dependency-path /tmp/AgentDependencies

    CloudWatch Logs エージェントをインストールするには、us-east-1、us-west-1、us-west-2、ap-south-1、ap-northeast-2、ap-southeast-1、ap-southeast-2、ap-northeast-1、eu-central-1、eu-west-1、または sa-east-1 リージョンを指定します。

    注記

    awslogs-agent-setup の現行バージョンとバージョン履歴の詳細については、CHANGELOG.txt を参照してください。

    CloudWatch Logs エージェントインストーラは、セットアップ時に特定の情報を必要とします。開始する前に、モニタリングするログファイルとそのタイムスタンプ形式を知っておく必要があります。また、次の情報を準備する必要があります。

    項目 説明

    AWS アクセスキー ID

    IAM ロールを使用する場合は Enter キーを押します。それ以外の場合は、 AWS アクセスキー ID を入力します。

    AWS シークレットアクセスキー

    IAM ロールを使用する場合は Enter キーを押します。それ以外の場合は、 AWS シークレットアクセスキーを入力します。

    デフォルトリージョン名

    Enter キーを押します。デフォルトは us-east-2 です。これは、us-east-1、us-west-1、us-west-2、ap-south-1、ap-northeast-2、ap-southeast-1、ap-southeast-2、ap-northeast-1、eu-central-1、eu-west-1、または sa-east-1 に設定できます。

    デフォルト出力形式

    空白にしたまま Enter キーを押します。

    アップロードするログファイルのパス

    送信するログデータを含むファイルの場所です。インストーラはパスの候補を表示します。

    送信先ロググループ名

    ロググループの名前です。インストーラはロググループ名の候補を表示します。

    送信先ログストリーム名

    デフォルトでは、ホストの名前です。インストーラはホスト名の候補を表示します。

    タイムスタンプ形式

    指定ログファイル内のタイムスタンプ形式を指定します。独自の形式を指定するには、[custom] を選択します。

    初期位置

    データをどのようにアップロードできますか データファイルのすべてをアップロードする場合は [start_of_file] に設定します。新しく付け加えられたデータのみをアップロードする場合は [end_of_file] に設定します。

    これらの手順が完了すると、インストーラは別のログファイルを設定するかどうか尋ねてきます。各ログファイルについて何回でもプロセスを実行できます。他にモニタリングするログファイルがない場合、別のログをセットアップするようにインストーラに求められた時に [N] を選択します。エージェント設定ファイルの設定の詳細については、「CloudWatch Logs エージェントのリファレンス」を参照してください。

    注記

    複数のログソースから単一のログストリームにデータを送信する設定はサポートされていません。

  3. エージェントが実行されてしばらくしたら、 CloudWatch コンソールに新しく作成されたロググループとログストリームを確認してください。

    詳細については、「Logs に送信された CloudWatch ログデータを表示する」を参照してください。