翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クイックスタート: 起動時に EC2 Linux インスタンスに CloudWatch Logs エージェントをインストールして設定する
ヒント
このセクションで説明されている古い CloudWatch Logs エージェントは、非推奨へのパスにあります。代わりに、ログとメトリクスの両方を収集できる新しい統合 CloudWatch エージェントを使用することを強くお勧めします。さらに、古い CloudWatch Logs エージェントには Python 3.3 以前が必要であり、これらのバージョンはデフォルトで新しいEC2インスタンスにはインストールされません。統合 CloudWatch エージェントの詳細については、 CloudWatch 「 エージェントのインストール」を参照してください。
このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。
起動時の EC2 Linux インスタンスへの古い CloudWatch Logs エージェントのインストール
Amazon の機能である Amazon EC2 ユーザーデータを使用すると、起動時にEC2パラメータ情報をインスタンスに渡して、そのインスタンスに CloudWatch Logs エージェントをインストールおよび設定できます。 CloudWatch Logs エージェントのインストールと設定情報を Amazon に渡すにはEC2、Amazon S3 バケットなどのネットワークロケーションに設定ファイルを指定します。
複数のログソースから単一のログストリームにデータを送信する設定はサポートされていません。
前提条件
ロググループとログストリームをすべて記述したエージェントの設定ファイルを作成します。これは、モニタリングするログファイルとそのアップロード先のロググループおよびログストリームが記述されているテキストファイルです。エージェントはこの設定ファイルを使用して記述されたすべてのログファイルのモニタリングおよびアップロードを開始します。エージェント設定ファイルの設定の詳細については、「CloudWatch Logs エージェントリファレンス」を参照してください。
以下は、Amazon Linux 2 のサンプルエージェント設定ファイルです。
[general] state_file = /var/lib/awslogs/state/agent-state [/var/log/messages] file = /var/log/messages log_group_name = /var/log/messages log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S
以下は、Ubuntu のサンプルエージェント設定ファイルです。
[general] state_file = /var/awslogs/state/agent-state [/var/log/syslog] file = /var/log/syslog log_group_name = /var/log/syslog log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S
IAM ロールを設定するには
-
でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
ナビゲーションペインで、[Policies]、[Create Policy] の順に選択します。
-
[Create Policy] ページの [Create Your Own Policy] で、[Select] を選択します。カスタムポリシーの作成の詳細については、IAM「Amazon ユーザーガイド」の「Amazon のポリシーEC2」を参照してください。 EC2
-
[Review Policy] ページで、[Policy Name] にポリシーの名前を入力します。
-
[Policy Document] に、次のポリシーをコピーして貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
-
[ポリシーの作成] を選択します。
-
ナビゲーションペインで [Roles]、[Create New Role] の順に選択します。
-
[Set Role Name] ページで、ロールの名前を入力し、[Next Step] を選択します。
-
ロールタイプの選択 ページで、Amazon EC2の横にある選択 を選択します。
-
[Attach Policy] ページのテーブルのヘッダーで、[Policy Type]、[Customer Managed] の順に選択します。
-
作成したIAMポリシーを選択し、次のステップ を選択します。
-
[ロールの作成] を選択します。
ユーザーとポリシーの詳細については、 ユーザーガイドのIAM「ユーザーとグループ」とIAM「ポリシーの管理」を参照してください。 IAM
新しいインスタンスを起動して CloudWatch ログを有効にするには
-
で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/
。 -
[Launch Instance] (インスタンスの起動) を選択します。
詳細については、「Amazon EC2ユーザーガイド」の「インスタンスの起動」を参照してください。
-
ステップ 1: Amazon マシンイメージ (AMI) ページで起動する Linux インスタンスタイプを選択し、ステップ 2: インスタンスタイプを選択するページで、次へ: インスタンスの詳細を設定する を選択します。
Cloud-init
が Amazon マシンイメージ () に含まれていることを確認しますAMI。Amazon Linux AMIs、、AMIsおよび for Ubuntu および にRHELはすでに cloud-init が含まれていますが、 AMIsの CentOS などは含まれていない AWS Marketplace 可能性があります。 -
ステップ 3: インスタンスの詳細を設定する ページで、IAMロール に対して、作成したIAMロールを選択します。
-
[Advanced Details] の [User data] で、以下のスクリプトをボックス内に貼り付けます。その後、スクリプトを更新するには、[-c] オプションの値を、エージェント設定ファイルの位置に変更します。
#!/bin/bash curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O chmod +x ./awslogs-agent-setup.py ./awslogs-agent-setup.py -n -r us-east-1 -c
s3://amzn-s3-demo-bucket/my-config-file
-
そのほかインスタンスへの必要な変更を行い、起動設定を確認して [Launch] を選択します。
-
エージェントがしばらく実行された後、 CloudWatch コンソールに新しく作成されたロググループとログストリームが表示されます。
詳細については、「Logs に送信された CloudWatch ログデータを表示する」を参照してください。