

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

# クイックスタート: EC2 Linux インスタンスの起動時に CloudWatch Logs エージェントをインストールして設定する
<a name="EC2NewInstanceCWL"></a>

**ヒント**  
このセクションで説明している古い CloudWatch Logs エージェントは非推奨になる予定です。代わりに、ログとメトリクスの両方を収集できる新しい統合 CloudWatch エージェントを使用することを強くお勧めします。さらに、古い CloudWatch Logs エージェントには Python 3.3 以前が必要であり、これらのバージョンはデフォルトでは新しい EC2 インスタンスにインストールされません。統合 CloudWatch エージェントの詳細については、[CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)を参照してください。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。

## 起動時における EC2 Linux インスタンスへの古い CloudWatch Logs エージェントのインストール
<a name="EC2NewInstanceCWL-oldagent"></a>

Amazon EC2 ユーザーデータは、インスタンスの起動時にパラメータ情報を渡す Amazon EC2 の機能です。これを使用してインスタンスに CloudWatch Logs エージェントをインストールして設定します。CloudWatch Logs エージェントのインストール情報と設定情報を Amazon EC2 に渡すには、Amazon S3 バケットのようなネットワークの場所に設定ファイルを用意します。

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

**前提条件**  
ロググループとログストリームをすべて記述したエージェントの設定ファイルを作成します。これは、モニタリングするログファイルとそのアップロード先のロググループおよびログストリームが記述されているテキストファイルです。エージェントはこの設定ファイルを使用して記述されたすべてのログファイルのモニタリングおよびアップロードを開始します。エージェント設定ファイルの設定の詳細については、「[CloudWatch Logs エージェントのリファレンス](AgentReference.md)」を参照してください。

以下は、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 ロールを設定するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで、[**Policies**]、[**Create Policy**] の順に選択します。

1. [**Create Policy**] ページの [**Create Your Own Policy**] で、[**Select**] を選択します。カスタムポリシー作成の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 のIAM ポリシー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)」を参照してください。

1. [**Review Policy**] ページで、[**Policy Name**] にポリシーの名前を入力します。

1. [**Policy Document**] に、次のポリシーをコピーして貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "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/*"
               ]
           }
       ]
   }
   ```

------

1. **[ポリシーを作成]** を選択します。

1. ナビゲーションペインで [**Roles**]、[**Create New Role**] の順に選択します。

1. [**Set Role Name**] ページで、ロールの名前を入力し、[**Next Step**] を選択します。

1. [**Select Role Type**] ページで、[**Amazon EC2 **] の隣にある [**Select**] を選択します。

1. [**Attach Policy**] ページのテーブルのヘッダーで、[**Policy Type**]、[**Customer Managed**] の順に選択します。

1. 作成した IAM ポリシーを選択し、[**Next Step (次のステップ)**] を選択します。

1. **[ロールの作成]** を選択します。

   ユーザーとポリシーの詳細については、*IAM ユーザーガイド*の「[IAM ユーザーとグループ](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html)」および「[IAM ポリシーを管理する](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)」を参照してください。

**新しいインスタンスを起動して CloudWatch Logs を有効にするには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. [**インスタンスの作成**] を選択してください。

   詳細については、「*Amazon EC2 ユーザーガイド*」の「[Launching an Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html)」を参照してください。

1. [**ステップ 1: Amazon Machine Image (AMI) を選択する**] ページで、起動する Linux インスタンスタイプを選択し、[**ステップ 2: インスタンスタイプを選択する**] ページで [**Next: Configure Instance Details**] を選択します。

   [cloud-init](http://cloudinit.readthedocs.org/en/latest/index.html) が Amazon Machine Image (AMI) に含まれていることを確認します。Amazon Linux AMIs、および Ubuntu と RHEL の AMIs にはすでに cloud-init が含まれていますが、 の CentOS やその他の AMIs には含まれていない AWS Marketplace 場合があります。

1. [**ステップ 3: インスタンスの詳細を設定する**] ページの [**IAM role (IAM ロール)**] で、作成した IAM ロールを選択します。

1. [**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}}
   ```

1. そのほかインスタンスへの必要な変更を行い、起動設定を確認して [**Launch**] を選択します。

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

   詳細については、「[CloudWatch Logs に送信されたログデータを表示する](Working-with-log-groups-and-streams.md#ViewingLogData)」を参照してください。