

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

# CloudWatch Logs の開始方法
<a name="CWL_GettingStarted"></a>

Amazon EC2 インスタンスとオンプレミスサーバーから CloudWatch Logs にログを収集するには、統合 CloudWatch エージェントを使用します。ログと高度なメトリクスの両方を 1 つのエージェントで収集できます。Windows Server を実行しているサーバーなど、オペレーティングシステム全体にわたるサポートが提供されています。このエージェントでも優れたパフォーマンスを提供します。

統合 CloudWatch エージェントを使用して CloudWatch メトリクスを収集する場合、ゲスト内の可視性のために、追加のシステムメトリクスを収集できます。また、`StatsD` または `collectd` を使用して、カスタムメトリクスを収集することもできます。

詳細については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)」を参照してください。

Linux を実行しているサーバーからのログの収集のみをサポートする古い CloudWatch Logs エージェントは非推奨となり、サポートされなくなりました。古い CloudWatch Logs エージェントから統合エージェントへの移行については、「[ウィザードを使用して CloudWatch エージェント設定ファイルを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。

**Topics**
+ [前提条件](GettingSetup_cwl.md)
+ [統合した CloudWatch エージェントの使用](UseCloudWatchUnifiedAgent.md)
+ [前の CloudWatch エージェントの使用](UsePreviousCloudWatchLogsAgent.md)
+ [でのクイックスタート CloudFormation](QuickStartCloudFormation.md)

# 前提条件
<a name="GettingSetup_cwl"></a>

Amazon CloudWatch Logs を使用するには、 AWS アカウントが必要です。 AWS アカウントでは、 サービス (Amazon EC2 など) を使用して、ウェブベースのインターフェイスである CloudWatch コンソールで表示できるログを生成できます。さらに、 AWS Command Line Interface () をインストールして設定できますAWS CLI。

## にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

## 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、*IAM* [ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイス](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)を有効にする」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、*AWS IAM アイデンティティセンター 「 ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## Command Line Interface をセットアップする
<a name="SetupCLI_cwl"></a>

を使用して CloudWatch Logs オペレーション AWS CLI を実行できます。

をインストールして設定する方法については AWS CLI、[「 ユーザーガイド」の AWS 「 コマンドラインインターフェイスのセットアップ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)」を参照してください。 *AWS Command Line Interface *

# 統合された CloudWatch エージェントを使用して CloudWatch Logs を使用する
<a name="UseCloudWatchUnifiedAgent"></a>

統合された CloudWatch エージェントを使用して CloudWatch Logs を開始する方法については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch エージェントを使用した Amazon EC2 Instances インスタンスとオンプレミスサーバーからのメトリクスとログの収集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。このセクションに記載されている手順を実行してエージェントのインストールと設定を行い、開始します。エージェントを使用して CloudWatch メトリクスを収集していない場合、メトリクスを参照するセクションはすべて無視できます。

現在古い CloudWatch Logs エージェントを使用していて、新しい統合エージェントの使用に移行する場合は、新しいエージェントパッケージに含まれているウィザードを使用することをお勧めします。このウィザードは、現在の CloudWatch Logs エージェント設定ファイルを読み込み、CloudWatch エージェントを設定して同じログを収集することができます。ウィザードの詳細については、*Amazon CloudWatch ユーザーガイド*の「[ウィザードを使用して CloudWatch エージェント設定ファイルを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。

# 前の CloudWatch ログエージェントを使用して CloudWatch ログを開始する方法
<a name="UsePreviousCloudWatchLogsAgent"></a>

**重要**  
CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる統合 CloudWatch エージェントが含まれています。ログのみの古いエージェントは非推奨となり、サポートされなくなりました。  
ログのみの古いエージェントから統合エージェントへの移行については、「[ウィザードを使用して CloudWatch エージェント設定ファイルを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントをまだ使用しているお客様向けに、その使用方法について説明します。

CloudWatch Logs エージェントを使用して、Linux または Windows Server を実行する Amazon EC2 インスタンスのログデータおよび AWS CloudTrailから記録されたイベントを発行できます。代わりに CloudWatch 統合エージェントを使用してログデータを発行することをお勧めします。新しいエージェントの詳細については、*Amazon CloudWatch User Guide*の「[CloudWatch エージェントを使用した Amazon EC2 Instances インスタンスとオンプレミスサーバーからのメトリクスとログの収集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。

**Topics**
+ [CloudWatch Logs エージェントの前提条件](#CWL_Prerequisites)
+ [クイックスタート: 実行中の EC2 Linux インスタンスにエージェントをインストールする](QuickStartEC2Instance.md)
+ [クイックスタート: EC2 Linux インスタンスの起動時にエージェントをインストールする](EC2NewInstanceCWL.md)
+ [クイックスタート: Windows サーバー 2016 インスタンスで CloudWatch Logs を使用する](QuickStartWindows2016.md)
+ [クイックスタート: Windows Server 2012 および Windows Server 2008 インスタンスでの CloudWatch Logs の使用](QuickStartWindows20082012.md)
+ [CloudWatch Logs エージェントの状態を報告する](ReportCWLAgentStatus.md)
+ [CloudWatch Logs エージェントを起動する](StartTheCWLAgent.md)
+ [CloudWatch Logs エージェントを停止する](StopTheCWLAgent.md)
+ [CloudWatch Logs エージェントのリファレンス](AgentReference.md)

## CloudWatch Logs エージェントの前提条件
<a name="CWL_Prerequisites"></a>

CloudWatch Logs エージェントでは、Python バージョン 2.7、3.0、または 3.3、および次のいずれかのバージョンの Linux が必要です。
+ Amazon Linux バージョン 2014.03.02 以降。Amazon Linux 2 はサポートされていません
+ Ubuntu Server バージョン 12.04、14.04、または 16.04
+ CentOS バージョン 6、6.3、6.4、6.5、または 7.0
+ Red Hat Enterprise Linux (RHEL) バージョン 6.5 または 7.0
+ Debian 8.0

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

**重要**  
古いログエージェントは廃止する予定です。CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる統合エージェントが含まれています。詳細については、「[CloudWatch Logs の開始方法](CWL_GettingStarted.md)」を参照してください。  
古い CloudWatch Logs エージェントから統合エージェントへの移行については、「[ウィザードを使用して CloudWatch エージェント設定ファイルを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。  
古いログエージェントは、Python の 2.6 から 3.5 までのバージョンしかサポートしていません。さらに、古い CloudWatch Logs エージェントでは、インスタンスメタデータサービスバージョン 2 (IMDSv2) がサポートされていません。サーバーで IMDSv2 を使用している場合は、古い CloudWatch Logs エージェントではなく、新しい統合エージェントを使用する必要があります。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントをまだ使用しているお客様向けに、その使用方法について説明します。

**ヒント**  
CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる新しい統合エージェントが含まれています。古い CloudWatch Logs エージェントをすでに使用しなくなった場合は、新しい統合 CloudWatch エージェントを使用することをお勧めします。詳細については、「[CloudWatch Logs の開始方法](CWL_GettingStarted.md)」を参照してください。  
さらに、古いエージェントでは、Instance Metadata Service Version 2 (IMDSv2) がサポートされていません。サーバーで IMDSv2 を使用している場合は、古い CloudWatch Logs エージェントではなく、新しい統合エージェントを使用する必要があります。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。

## 実行中の EC2 Linux インスタンスで古い CloudWatch Logs エージェントを設定する
<a name="QuickStartEC2Instance-oldagent"></a>

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

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

### ステップ 1: CloudWatch Logs で使用する IAM ロールまたはユーザーを設定する
<a name="running-ec2-step-1"></a>

CloudWatch Logs エージェントは、IAM ロールとユーザーをサポートします。インスタンスに関連付けられた IAM ロールがすでに存在する場合、その下に IAM ポリシーが含まれていることを確認してください。インスタンスに関連付けられた IAM ロールがまだ存在しない場合は、次のステップで IAM 認証情報を使用するか、IAM ロールインスタンスに割り当てることができます。詳細については、「[インスタンスへの IAM ロールのアタッチ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)」を参照してください。<a name="cloudwatchlogs_iam_role_procedure"></a>

**IAM ロールまたは CloudWatch Logs ユーザーを設定するには**

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

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

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

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

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

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

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:DescribeLogStreams"
       ],
         "Resource": [
           "*"
       ]
     }
    ]
   }
   ```

1. 完了したら、[**ポリシーの確認**] を選択します。構文エラーがある場合は、Policy Validator (ポリシー検証) によってレポートされます。

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

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

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

### ステップ 2: 既存の Amazon EC2 インスタンスに CloudWatch Logs をインストールして設定する
<a name="running-ec2-step-2"></a>

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

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

Amazon Linux AMI 2014.09 から、awslogs パッケージを使用した RPM のインストールに CloudWatch 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 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html)」を参照してください。

   接続問題の詳細については、「*Amazon EC2 ユーザーガイド*」「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)」を参照してください。

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

   ```
   sudo yum update -y
   ```

1. `awslogs` パッケージをインストールします。これは Amazon Linux インスタンスで awslogs をインストールする推奨手段です。

   ```
   sudo yum install -y awslogs
   ```

1. `/etc/awslogs/awslogs.conf` ファイルを編集して追跡するログを設定します。このファイルの編集方法については、「[CloudWatch Logs エージェントのリファレンス](AgentReference.md)」を参照してください。

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

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

   ```
   sudo service awslogs start
   ```

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

   ```
   sudo systemctl start awslogsd
   ```

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

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

   ```
   sudo chkconfig awslogs on
   ```

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

   ```
   sudo systemctl enable awslogsd.service
   ```

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

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

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

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

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html)」を参照してください。

   接続問題の詳細については、「*Amazon EC2 ユーザーガイド*」「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)」を参照してください。

1. 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](https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/CHANGELOG.txt) を参照してください。

   CloudWatch Logs エージェントのインストーラはセットアップ時に特定の情報が必要です。開始する前に、モニタリングするログファイルとそのタイムスタンプ形式を知っておく必要があります。また、次の情報を準備する必要があります。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html)

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

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

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

# クイックスタート: 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)」を参照してください。

# クイックスタート: Windows Server 2016 を実行している Amazon EC2 インスタンスで CloudWatch Logs エージェントを使用してログを CloudWatch Logs に送信できるようにする
<a name="QuickStartWindows2016"></a>

**ヒント**  
CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる新しい統合エージェントが含まれています。新しい統合 CloudWatch エージェントを使用することをお勧めします。詳細については、「[CloudWatch Logs の開始方法](CWL_GettingStarted.md)」を参照してください。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。

## Windows Server 2016 を実行している Amazon EC2 インスタンスで、古い CloudWatch Logs エージェントを使用して CloudWatch Logs にログを送信できるようにする
<a name="QuickStartWindows2016-olderagent"></a>

Windows Server 2016 を実行しているインスタンスで CloudWatch Logs にログを送信するには、複数の方法を使用できます。このセクションのステップでは、Systems Manager Run Command を使用します。他の可能な方法の詳細については、「[Amazon CloudWatch へのログ、イベント、パフォーマンスカウンターの送信](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/send_logs_to_cwl.html)」を参照してください。

**Topics**
+ [サンプル設定ファイルをダウンロードする](#configure_cwl_download)
+ [CloudWatch の JSON ファイルを設定する](#send_logs_to_cwl_json)
+ [Systems Manager 用 IAM ロールを作成する](#iam_permissions)
+ [Systems Manager の前提条件を確認する](#send_logs_cwl_syspre)
+ [インターネットアクセスを確認する](#send_logs_cwl_internet)
+ [Systems Manager Run Command を使用して CloudWatch Logs を有効化する](#remote-commands-cloudwatch)

### サンプル設定ファイルをダウンロードする
<a name="configure_cwl_download"></a>

サンプルファイル ([https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json](https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json)) をコンピュータにダウンロードします。

### CloudWatch の JSON ファイルを設定する
<a name="send_logs_to_cwl_json"></a>

CloudWatch に送信するログを決めるには、設定ファイルで選択して指定します。このファイルを作成し、項目を選択して指定するプロセスは、完了までに 30 分以上かかる場合があります。このタスクを 1 回完了したら、すべてのインスタンスで設定ファイルを再利用できます。

**Topics**
+ [ステップ 1: CloudWatch Logs を有効化する](#enable-CloudWatchLogs-in-JSON-file)
+ [ステップ 2: CloudWatch 設定を構成する](#configure_cwl_credentials)
+ [ステップ 3: 送信するデータを設定する](#configure_logs)
+ [ステップ 4: フロー制御を設定する](#configure_log_flow)
+ [ステップ 5: JSON コンテンツを保存する](#save_json_content)

#### ステップ 1: CloudWatch Logs を有効化する
<a name="enable-CloudWatchLogs-in-JSON-file"></a>

JSON ファイルの先頭で、`IsEnabled` の「false」を「true」に変更します。

```
"IsEnabled": true,
```

#### ステップ 2: CloudWatch 設定を構成する
<a name="configure_cwl_credentials"></a>

認証情報、リージョン、ロググループ名、およびログストリーム名前空間を指定します。これにより、インスタンスがログデータを CloudWatch Logs に送信できます。同じログデータを複数の異なる宛先に送信する場合は、一意の ID (たとえば「CloudWatchLogs2」および「CloudWatchLogs3」) および各 ID に異なるリージョンを付加してセクションを追加できます。

**ログデータを CloudWatch Logs に送信するように設定するには**

1. JSON ファイルで、`CloudWatchLogs` セクションを見つけます。

   ```
   {
       "Id": "CloudWatchLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "AccessKey": "",
           "SecretKey": "",
           "Region": "us-east-1",
           "LogGroup": "Default-Log-Group",
           "LogStream": "{instance_id}"
       }
   },
   ```

1.  [`AccessKey`] および [`SecretKey`] フィールドは空白のままにしておきます。IAM ロールを使用して認証情報を設定します。

1. `Region` には、ログデータを送信するリージョンを入力します (たとえば、`us-east-2`)。

1. `LogGroup` には、ロググループの名前を入力します。この名前は、CloudWatch コンソールの [**Log Groups (ロググループ)**] 画面に表示されます。

1. `LogStream` には、送信先のログストリームを入力します。この名前は、CloudWatch コンソールの [**Log Groups (ロググループ)] > [Streams (ストリーム)**] 画面に表示されます。

   デフォルトの `{instance_id}` を使用する場合、ログストリーム名はこのインスタンスのインスタンス ID です。

   存在しないログストリーム名を特定すると、CloudWatch Logs によってログストリームが自動的に作成されます。リテラル文字列、事前定義された変数 `{instance_id}`、`{hostname}`、`{ip_address}`、またはこれらの組み合わせを使用してログストリーム名を定義できます。

#### ステップ 3: 送信するデータを設定する
<a name="configure_logs"></a>

イベントログデータ、Event Tracing for Windows (ETW) データ、および他のログデータを CloudWatch Logs に送信できます。

**Windows アプリケーションイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`ApplicationEventLog` セクションを見つけます。

   ```
   {
       "Id": "ApplicationEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Application",
           "Levels": "1"
       }
   },
   ```

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**セキュリティログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`SecurityEventLog` セクションを見つけます。

   ```
   {
       "Id": "SecurityEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Security",
           "Levels": "7"
       }
   },
   ```

1. `Levels` には、**7** と入力してすべてのメッセージをアップロードします。

**システムイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`SystemEventLog` セクションを見つけます。

   ```
   {
       "Id": "SystemEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "System",
           "Levels": "7"
       }
   },
   ```

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**他の種類のイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルに、新しいセクションを追加します。各セクションには固有の `Id` が必要です。

   ```
   {
       "Id": "Id-name",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Log-name",
           "Levels": "7"
       }
   },
   ```

1. `Id` には、アップロードするログの名前を入力します (たとえば、**WindowsBackup**)。

1. `LogName` には、アップロードするログの名前を入力します。ログの名前を次のように確認できます。

   1. イベントビューワーを開きます。

   1. ナビゲーションペインで、[**Applications and Services Logs**] を選択します。

   1. ログに移動し、[**Actions**]、[**Properties**] を選択します。

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**イベントトレース (Windows) データを CloudWatch Logs に送信するには**

ETW (Event Tracing for Windows) には、アプリケーションがログを書き込むことができる効率的できめ細かいログ記録メカニズムが用意されています。各 ETW は、ログ記録セッションを開始および停止できるセッションマネージャにより制御されます。各セッションには、プロバイダーと 1 つ以上のコンシューマーが存在します。

1. JSON ファイルで、`ETW` セクションを見つけます。

   ```
   {
       "Id": "ETW",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Microsoft-Windows-WinINet/Analytic",
           "Levels": "7"
       }
   },
   ```

1. `LogName` には、アップロードするログの名前を入力します。

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**カスタムログ (テキストベースのログファイル) を CloudWatch Logs に送信するには**

1. JSON ファイルで、`CustomLogs` セクションを見つけます。

   ```
   {
       "Id": "CustomLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogDirectoryPath": "C:\\CustomLogs\\",
           "TimestampFormat": "MM/dd/yyyy HH:mm:ss",
           "Encoding": "UTF-8",
           "Filter": "",
           "CultureName": "en-US",
           "TimeZoneKind": "Local",
           "LineCount": "5"
       }
   },
   ```

1. `LogDirectoryPath` には、ログがインスタンスに格納されるパスを入力します。

1. `TimestampFormat` には、使用するタイムスタンプ形式を入力します。サポートされる値の詳細については、MSDN の「[カスタムの日付と時刻の書式指定文字列](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx)」を参照してください。
**重要**  
ソースログファイルには、各ログ行の先頭にタイムスタンプがあり、タイムスタンプの後にスペースがある必要があります。

1. `Encoding` には、使用するファイルエンコード (UTF-8 など) を入力します。サポートされる値の一覧については、MSDN の「[Encoding クラス](http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)」を参照してください。
**注記**  
表示名ではなく、エンコード名を使用します。

1. (オプション) `Filter` には、ログファイル名のプレフィックスを入力します。すべてのファイルをモニタリングするには、このパラメータを空白のままにします。サポートされる値の詳細については、MSDN の「[FileSystemWatcherFilter プロパティ](https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx)」を参照してください。

1. (オプション) `CultureName` には、タイムスタンプが記録されているロケールを入力します。`CultureName` が空の場合、Windows インスタンスにより現在使用されているのと同じロケールがデフォルトになります。詳細については、MSDN の「[Product Behavior](https://msdn.microsoft.com/en-us/library/cc233982.aspx)」トピックの表で、`Language tag` 列を参照してください。
**注記**  
`div`、`div-MV`、`hu`、および `hu-HU` 値は、サポートされていません。

1. (オプション) `TimeZoneKind` には、`Local` または `UTC` を入力します。これを設定すると、ログのタイムスタンプにタイムゾーン情報が含まれていない場合にタイムゾーン情報を提供できます。このパラメータが空になっていて、タイムスタンプにタイムゾーン情報が含まれていない場合、CloudWatch Logs ではデフォルトでローカルタイムゾーンが使用されます。タイムスタンプに既にタイムゾーン情報が含まれている場合、このパラメータは無視されます。

1. (オプション) `LineCount` には、ログファイルを識別するためのヘッダーの行数を入力します。たとえば、IIS のログファイルのヘッダーはほぼ同じです。「**5**」と入力すると、ログファイルのヘッダーの最初の 3 行が読み取られ、ログファイルを識別できます。IIS ログファイルで、3 番目の行は日時のスタンプですが、タイムスタンプは常にログファイル間で異なるという保証はありません。そのため、ログファイルの一意のフィンガープリントを作成するには、実際のログデータの少なくとも 1 行を含めることをお勧めします。

**IIS ログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`IISLog` セクションを見つけます。

   ```
   {
       "Id": "IISLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogDirectoryPath": "C:\\inetpub\\logs\\LogFiles\\W3SVC1",
           "TimestampFormat": "yyyy-MM-dd HH:mm:ss",
           "Encoding": "UTF-8",
           "Filter": "",
           "CultureName": "en-US",
           "TimeZoneKind": "UTC",
           "LineCount": "5"
       }
   },
   ```

1. `LogDirectoryPath` には、個々のサイト (`C:\inetpub\logs\LogFiles\W3SVCn` など) の IIS ログが格納されているフォルダを入力します。
**注記**  
W3C ログ形式のみサポートされます。IIS、NCSA、カスタム形式はサポートされません。

1. `TimestampFormat` には、使用するタイムスタンプ形式を入力します。サポートされる値の詳細については、MSDN の「[カスタムの日付と時刻の書式指定文字列](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx)」を参照してください。

1. `Encoding` には、使用するファイルエンコード (UTF-8 など) を入力します。サポートされる値の詳細については、MSDN の「[Encoding クラス](http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)」を参照してください。
**注記**  
表示名ではなく、エンコード名を使用します。

1. (オプション) `Filter` には、ログファイル名のプレフィックスを入力します。すべてのファイルをモニタリングするには、このパラメータを空白のままにします。サポートされる値の詳細については、MSDN の「[FileSystemWatcherFilter プロパティ](https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx)」を参照してください。

1. (オプション) `CultureName` には、タイムスタンプが記録されているロケールを入力します。`CultureName` が空の場合、Windows インスタンスにより現在使用されているのと同じロケールがデフォルトになります。サポートされる値の詳細については、MSDN の「[Product Behavior](https://msdn.microsoft.com/en-us/library/cc233982.aspx)」トピックの表で、`Language tag` 列を参照してください。
**注記**  
`div`、`div-MV`、`hu`、および `hu-HU` 値は、サポートされていません。

1. (オプション) `TimeZoneKind` には、`Local` または `UTC` を入力します。これを設定すると、ログのタイムスタンプにタイムゾーン情報が含まれていない場合にタイムゾーン情報を提供できます。このパラメータが空になっていて、タイムスタンプにタイムゾーン情報が含まれていない場合、CloudWatch Logs ではデフォルトでローカルタイムゾーンが使用されます。タイムスタンプに既にタイムゾーン情報が含まれている場合、このパラメータは無視されます。

1. (オプション) `LineCount` には、ログファイルを識別するためのヘッダーの行数を入力します。たとえば、IIS のログファイルのヘッダーはほぼ同じです。「**5**」と入力すると、ログファイルのヘッダーの最初の 5 行が読み取られ、ログファイルを識別できます。IIS ログファイルで、3 番目の行は日時のスタンプですが、タイムスタンプは常にログファイル間で異なるという保証はありません。そのため、ログファイルの一意のフィンガープリントを作成するには、実際のログデータの少なくとも 1 行を含めることをお勧めします。

#### ステップ 4: フロー制御を設定する
<a name="configure_log_flow"></a>

各データ型は、`Flows` セクションに対応する送信先を持っている必要があります。たとえば、カスタムログ、ETW ログ、およびシステムログを CloudWatch Logs に送信するには、`(CustomLogs,ETW,SystemEventLog),CloudWatchLogs` を `Flows` セクションに追加します。

**警告**  
無効なブロックを追加すると、フローがブロックされます。たとえば、ディスクメトリクスのステップを追加したが、インスタンスにディスクがない場合は、フローのすべてのステップがブロックされます。

同じログファイルを複数の宛先に送信できます。たとえば、アプリケーションログを `CloudWatchLogs` セクションで定義付けた 2 つの送信先に送信するには、`ApplicationEventLog,(CloudWatchLogs,CloudWatchLogs2)` を `Flows` セクションに追加します。

**フロー制御を設定するには**

1. `AWS.EC2.Windows.CloudWatch.json` ファイルで、「`Flows`」セクションを見つけます。

   ```
   "Flows": {
       "Flows": [
         "PerformanceCounter,CloudWatch",
         "(PerformanceCounter,PerformanceCounter2), CloudWatch2",
         "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs",
         "CustomLogs, CloudWatchLogs2",
         "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)"
       ]
   }
   ```

1. `Flows` には、アップロードされる各データ型 (たとえば、`ApplicationEventLog`) とその送信先 (たとえば、`CloudWatchLogs`) を追加します。

#### ステップ 5: JSON コンテンツを保存する
<a name="save_json_content"></a>

JSON ファイルの編集はこれで完了です。ファイルを保存し、ファイルコンテンツをテキストエディタ内の別のウィンドウに貼り付けます。ファイルコンテンツは、この手順の後のステップで必要になります。

### Systems Manager 用 IAM ロールを作成する
<a name="iam_permissions"></a>

インスタンスの認証情報の IAM ロールは、Systems Manager Run Command の実行時に必要になります。このロールにより、Systems Manager はインスタンス上でアクションを実行できます。詳細については、*AWS Systems Manager ユーザーガイド*の「[Systems Manager セキュリティロールの設定](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-access.html)」を参照してください。既存のインスタンスへの IAM ロールのアタッチについては、「*Amazon EC2 ユーザーガイド*」の「[Attaching an IAM Role to an Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)」を参照してください。

### Systems Manager の前提条件を確認する
<a name="send_logs_cwl_syspre"></a>

Systems Manager Run Command を使用して CloudWatch Logs との統合を設定する前に、インスタンスが最低要件を満たしていることを確認してください。詳細については、*AWS Systems Manager ユーザーガイド*の「[Systems Manager の前提条件](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html)」を参照してください。

### インターネットアクセスを確認する
<a name="send_logs_cwl_internet"></a>

CloudWatch にログとイベントのデータを送信するには、Amazon EC2 Windows Server のインスタンスとマネージドインスタンスにアウトバウンドのインターネットアクセスが必要です。インターネットアクセスの詳しい設定方法については、*Amazon VPC ユーザーガイド*の「[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。

### Systems Manager Run Command を使用して CloudWatch Logs を有効化する
<a name="remote-commands-cloudwatch"></a>

Run Command では、インスタンスの設定をオンデマンドで管理できます。Systems Manager ドキュメントを指定してパラメータを指定し、1 つ以上のインスタンスでコマンドを実行します。インスタンスの SSM エージェントは、コマンドを処理し、指定されたとおりにインスタンスを設定します。

**Run Command を使用して CloudWatch Logs との統合を設定するには**

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

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

1. ナビゲーションペインで、[**Run Command**] を選択します。

1. [**Run a command**] を選択します。

1. [**Command document**] で、[**AWS-ConfigureCloudWatch**] を選択します。

1. [**Target instances (ターゲットインスタンス)**] で、CloudWatch Logs と統合するインスタンスを選択します。このリストに表示されていないインスタンスは、Run Command 用に設定されていない場合があります。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Systems Manager Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/systems-manager-setting-up.html)」を参照してください。

1. [**Status**] で、[**Enabled**] を選択します。

1. [**Properties**] で、前のタスクで作成した JSON の内容をコピーして貼り付けます。

1. 残りのオプションフィールドを入力し、[**Run**] を選択します。

次の手順を使用して、Amazon EC2 コンソールでコマンドの実行結果を表示します。

**コンソールでコマンド出力を表示するには**

1. コマンドを選択します。

1. [**Output**] タブを選択します。

1. [**View Output**] を選択します。コマンド出力ページには、コマンドの実行結果が表示されます。

# クイックスタート: Windows Server 2012 および Windows Server 2008 を実行している Amazon EC2 インスタンスで、CloudWatch Logs へのログの送信を有効にする
<a name="QuickStartWindows20082012"></a>

**ヒント**  
CloudWatch には、EC2 インスタンスとオンプレミスサーバーからログとメトリクスの両方を収集できる新しい統合エージェントが含まれています。新しい統合 CloudWatch エージェントを使用することをお勧めします。詳細については、「[CloudWatch Logs の開始方法](CWL_GettingStarted.md)」を参照してください。  
このセクションの残りの部分では、古い CloudWatch Logs エージェントの使用について説明します。

## Windows Server 2012 および Windows Server 2008 を実行している Amazon EC2 インスタンスで、CloudWatch Logs へのログの送信を有効にする
<a name="QuickStartWindows20082012-olderagent"></a>

Windows Server 2012 および Windows Server 2008 を実行しているインスタンスで、CloudWatch Logs へのログの送信を有効にするには、以下のステップを実行します。

### サンプル設定ファイルをダウンロードする
<a name="configure_cwl_download2012"></a>

サンプル JSON ファイル ([https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json](https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json)) をコンピュータにダウンロードします。このファイルは以降のステップで編集します。

### CloudWatch の JSON ファイルを設定する
<a name="send_logs_to_cwl_json2012"></a>

CloudWatch に送信するログを決めるには、JSON 設定ファイルで選択して指定します。このファイルを作成し、項目を選択して指定するプロセスは、完了までに 30 分以上かかる場合があります。このタスクを 1 回完了したら、すべてのインスタンスで設定ファイルを再利用できます。

**Topics**
+ [ステップ 1: CloudWatch Logs を有効化する](#enable-CloudWatchLogs-in-JSON-file2012)
+ [ステップ 2: CloudWatch 設定を構成する](#configure_cwl_credentials2012)
+ [ステップ 3: 送信するデータを設定する](#configure_logs2012)
+ [ステップ 4: フロー制御を設定する](#configure_log_flow2012)

#### ステップ 1: CloudWatch Logs を有効化する
<a name="enable-CloudWatchLogs-in-JSON-file2012"></a>

JSON ファイルの先頭で、`IsEnabled` の「false」を「true」に変更します。

```
"IsEnabled": true,
```

#### ステップ 2: CloudWatch 設定を構成する
<a name="configure_cwl_credentials2012"></a>

認証情報、リージョン、ロググループ名、およびログストリーム名前空間を指定します。これにより、インスタンスがログデータを CloudWatch Logs に送信できます。同じログデータを複数の異なる宛先に送信する場合は、一意の ID (たとえば「CloudWatchLogs2」および「CloudWatchLogs3」) および各 ID に異なるリージョンを付加してセクションを追加できます。

**ログデータを CloudWatch Logs に送信するように設定するには**

1. JSON ファイルで、`CloudWatchLogs` セクションを見つけます。

   ```
   {
       "Id": "CloudWatchLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "AccessKey": "",
           "SecretKey": "",
           "Region": "us-east-1",
           "LogGroup": "Default-Log-Group",
           "LogStream": "{instance_id}"
       }
   },
   ```

1.  [`AccessKey`] および [`SecretKey`] フィールドは空白のままにしておきます。IAM ロールを使用して認証情報を設定します。

1. `Region` には、ログデータを送信するリージョンを入力します (たとえば、`us-east-2`)。

1. `LogGroup` には、ロググループの名前を入力します。この名前は、CloudWatch コンソールの [**Log Groups (ロググループ)**] 画面に表示されます。

1. `LogStream` には、送信先のログストリームを入力します。この名前は、CloudWatch コンソールの [**Log Groups (ロググループ)] > [Streams (ストリーム)**] 画面に表示されます。

   デフォルトの `{instance_id}` を使用する場合、ログストリーム名はこのインスタンスのインスタンス ID です。

   存在しないログストリーム名を特定すると、CloudWatch Logs によってログストリームが自動的に作成されます。リテラル文字列、事前定義された変数 `{instance_id}`、`{hostname}`、`{ip_address}`、またはこれらの組み合わせを使用してログストリーム名を定義できます。

#### ステップ 3: 送信するデータを設定する
<a name="configure_logs2012"></a>

イベントログデータ、Event Tracing for Windows (ETW) データ、および他のログデータを CloudWatch Logs に送信できます。

**Windows アプリケーションイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`ApplicationEventLog` セクションを見つけます。

   ```
   {
       "Id": "ApplicationEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Application",
           "Levels": "1"
       }
   },
   ```

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**セキュリティログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`SecurityEventLog` セクションを見つけます。

   ```
   {
       "Id": "SecurityEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Security",
           "Levels": "7"
       }
   },
   ```

1. `Levels` には、**7** と入力してすべてのメッセージをアップロードします。

**システムイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`SystemEventLog` セクションを見つけます。

   ```
   {
       "Id": "SystemEventLog",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "System",
           "Levels": "7"
       }
   },
   ```

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**他の種類のイベントログデータを CloudWatch Logs に送信するには**

1. JSON ファイルに、新しいセクションを追加します。各セクションには固有の `Id` が必要です。

   ```
   {
       "Id": "Id-name",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Log-name",
           "Levels": "7"
       }
   },
   ```

1. `Id` には、アップロードするログの名前を入力します (たとえば、**WindowsBackup**)。

1. `LogName` には、アップロードするログの名前を入力します。ログの名前を次のように確認できます。

   1. イベントビューワーを開きます。

   1. ナビゲーションペインで、[**Applications and Services Logs**] を選択します。

   1. ログに移動し、[**Actions**]、[**Properties**] を選択します。

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**イベントトレース (Windows) データを CloudWatch Logs に送信するには**

ETW (Event Tracing for Windows) には、アプリケーションがログを書き込むことができる効率的できめ細かいログ記録メカニズムが用意されています。各 ETW は、ログ記録セッションを開始および停止できるセッションマネージャにより制御されます。各セッションには、プロバイダーと 1 つ以上のコンシューマーが存在します。

1. JSON ファイルで、`ETW` セクションを見つけます。

   ```
   {
       "Id": "ETW",
       "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogName": "Microsoft-Windows-WinINet/Analytic",
           "Levels": "7"
       }
   },
   ```

1. `LogName` には、アップロードするログの名前を入力します。

1. `Levels` には、アップロードするメッセージのタイプを指定します。次のいずれかの値を指定できます。
   + **1** - エラーメッセージだけをアップロードします。
   + **2** - 警告メッセージだけをアップロードします。
   + **4** - 情報メッセージだけをアップロードします。

   値を組み合わせて複数のタイプのメッセージを含めることができます。たとえば、値 **3** はエラーメッセージ (**1**) と警告メッセージ (**2**) をアップロードします。値 **7** は、エラーメッセージ (**1**)、警告メッセージ (**2**)、情報メッセージ (**4**) をアップロードします。

**カスタムログ (テキストベースのログファイル) を CloudWatch Logs に送信するには**

1. JSON ファイルで、`CustomLogs` セクションを見つけます。

   ```
   {
       "Id": "CustomLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogDirectoryPath": "C:\\CustomLogs\\",
           "TimestampFormat": "MM/dd/yyyy HH:mm:ss",
           "Encoding": "UTF-8",
           "Filter": "",
           "CultureName": "en-US",
           "TimeZoneKind": "Local",
           "LineCount": "5"
       }
   },
   ```

1. `LogDirectoryPath` には、ログがインスタンスに格納されるパスを入力します。

1. `TimestampFormat` には、使用するタイムスタンプ形式を入力します。サポートされる値の詳細については、MSDN の「[カスタムの日付と時刻の書式指定文字列](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx)」を参照してください。
**重要**  
ソースログファイルには、各ログ行の先頭にタイムスタンプがあり、タイムスタンプの後にスペースがある必要があります。

1. `Encoding` には、使用するファイルエンコード (UTF-8 など) を入力します。サポートされる値の詳細については、MSDN の「[Encoding クラス](http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)」を参照してください。
**注記**  
表示名ではなく、エンコード名を使用します。

1. (オプション) `Filter` には、ログファイル名のプレフィックスを入力します。すべてのファイルをモニタリングするには、このパラメータを空白のままにします。サポートされる値の詳細については、MSDN の「[FileSystemWatcherFilter プロパティ](https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx)」を参照してください。

1. (オプション) `CultureName` には、タイムスタンプが記録されているロケールを入力します。`CultureName` が空の場合、Windows インスタンスにより現在使用されているのと同じロケールがデフォルトになります。サポートされる値の詳細については、MSDN の「[Product Behavior](https://msdn.microsoft.com/en-us/library/cc233982.aspx)」トピックの表で、`Language tag` 列を参照してください。
**注記**  
`div`、`div-MV`、`hu`、および `hu-HU` 値は、サポートされていません。

1. (オプション) `TimeZoneKind` には、`Local` または `UTC` を入力します。これを設定すると、ログのタイムスタンプにタイムゾーン情報が含まれていない場合にタイムゾーン情報を提供できます。このパラメータが空になっていて、タイムスタンプにタイムゾーン情報が含まれていない場合、CloudWatch Logs ではデフォルトでローカルタイムゾーンが使用されます。タイムスタンプに既にタイムゾーン情報が含まれている場合、このパラメータは無視されます。

1. (オプション) `LineCount` には、ログファイルを識別するためのヘッダーの行数を入力します。たとえば、IIS のログファイルのヘッダーはほぼ同じです。「**5**」と入力すると、ログファイルのヘッダーの最初の 3 行が読み取られ、ログファイルを識別できます。IIS ログファイルで、3 番目の行は日時のスタンプですが、タイムスタンプは常にログファイル間で異なるという保証はありません。そのため、ログファイルの一意のフィンガープリントを作成するには、実際のログデータの少なくとも 1 行を含めることをお勧めします。

**IIS ログデータを CloudWatch Logs に送信するには**

1. JSON ファイルで、`IISLog` セクションを見つけます。

   ```
   {
       "Id": "IISLogs",
       "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
       "Parameters": {
           "LogDirectoryPath": "C:\\inetpub\\logs\\LogFiles\\W3SVC1",
           "TimestampFormat": "yyyy-MM-dd HH:mm:ss",
           "Encoding": "UTF-8",
           "Filter": "",
           "CultureName": "en-US",
           "TimeZoneKind": "UTC",
           "LineCount": "5"
       }
   },
   ```

1. `LogDirectoryPath` には、個々のサイト (`C:\inetpub\logs\LogFiles\W3SVCn` など) の IIS ログが格納されているフォルダを入力します。
**注記**  
W3C ログ形式のみサポートされます。IIS、NCSA、カスタム形式はサポートされません。

1. `TimestampFormat` には、使用するタイムスタンプ形式を入力します。サポートされる値の詳細については、MSDN の「[カスタムの日付と時刻の書式指定文字列](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx)」を参照してください。

1. `Encoding` には、使用するファイルエンコード (UTF-8 など) を入力します。サポートされる値の詳細については、MSDN の「[Encoding クラス](http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)」を参照してください。
**注記**  
表示名ではなく、エンコード名を使用します。

1. (オプション) `Filter` には、ログファイル名のプレフィックスを入力します。すべてのファイルをモニタリングするには、このパラメータを空白のままにします。サポートされる値の詳細については、MSDN の「[FileSystemWatcherFilter プロパティ](https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx)」を参照してください。

1. (オプション) `CultureName` には、タイムスタンプが記録されているロケールを入力します。`CultureName` が空の場合、Windows インスタンスにより現在使用されているのと同じロケールがデフォルトになります。サポートされる値の詳細については、MSDN の「[Product Behavior](https://msdn.microsoft.com/en-us/library/cc233982.aspx)」トピックの表で、`Language tag` 列を参照してください。
**注記**  
`div`、`div-MV`、`hu`、および `hu-HU` 値は、サポートされていません。

1. (オプション) `TimeZoneKind` には、`Local` または `UTC` を入力します。これを設定すると、ログのタイムスタンプにタイムゾーン情報が含まれていない場合にタイムゾーン情報を提供できます。このパラメータが空になっていて、タイムスタンプにタイムゾーン情報が含まれていない場合、CloudWatch Logs ではデフォルトでローカルタイムゾーンが使用されます。タイムスタンプに既にタイムゾーン情報が含まれている場合、このパラメータは無視されます。

1. (オプション) `LineCount` には、ログファイルを識別するためのヘッダーの行数を入力します。たとえば、IIS のログファイルのヘッダーはほぼ同じです。「**5**」と入力すると、ログファイルのヘッダーの最初の 5 行が読み取られ、ログファイルを識別できます。IIS ログファイルで、3 番目の行は日時のスタンプですが、タイムスタンプは常にログファイル間で異なるという保証はありません。そのため、ログファイルの一意のフィンガープリントを作成するには、実際のログデータの少なくとも 1 行を含めることをお勧めします。

#### ステップ 4: フロー制御を設定する
<a name="configure_log_flow2012"></a>

各データ型は、`Flows` セクションに対応する送信先を持っている必要があります。たとえば、カスタムログ、ETW ログ、およびシステムログを CloudWatch Logs に送信するには、`(CustomLogs,ETW,SystemEventLog),CloudWatchLogs` を `Flows` セクションに追加します。

**警告**  
無効なブロックを追加すると、フローがブロックされます。たとえば、ディスクメトリクスのステップを追加したが、インスタンスにディスクがない場合は、フローのすべてのステップがブロックされます。

同じログファイルを複数の宛先に送信できます。たとえば、アプリケーションログを `CloudWatchLogs` セクションで定義付けた 2 つの送信先に送信するには、`ApplicationEventLog,(CloudWatchLogs,CloudWatchLogs2)` を `Flows` セクションに追加します。

**フロー制御を設定するには**

1. `AWS.EC2.Windows.CloudWatch.json` ファイルで、「`Flows`」セクションを見つけます。

   ```
   "Flows": {
       "Flows": [
         "PerformanceCounter,CloudWatch",
         "(PerformanceCounter,PerformanceCounter2), CloudWatch2",
         "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs",
         "CustomLogs, CloudWatchLogs2",
         "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)"
       ]
   }
   ```

1. `Flows` には、アップロードされる各データ型 (たとえば、`ApplicationEventLog`) とその送信先 (たとえば、`CloudWatchLogs`) を追加します。

JSON ファイルの編集はこれで完了です。これは、後のステップで使用します。

### エージェントを起動する
<a name="ec2config2012"></a>

Windows Server 2012 または Windows Server 2008 を実行している Amazon EC2 インスタンスが、CloudWatch Logs にログを送信できるようにするには、EC2 Config サービス (`EC2Config.exe)`) を使用します。インスタンスには EC2Config 4.0 以降が必要であり、この手順を使用できます。

**EC2Config 4.x を使用して CloudWatch を設定するには**

1. この手順で前に編集した `AWS.EC2.Windows.CloudWatch.json` ファイルのエンコーディングを確認します。BOM のない UTF-8 エンコーディングのみがサポートされています。次に、Windows Server 2008 - 2012 R2 インスタンスで、`C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\` フォルダにファイルを保存します。

1. Windows サービスのコントロールパネルを使用するか、次の PowerShell コマンドを送信して、SSM エージェント (`AmazonSSMAgent.exe`) を開始または再起動します。

   ```
   PS C:\> Restart-Service AmazonSSMAgent
   ```

SSM エージェントは、再起動後に設定ファイルを検出し、CloudWatch 統合のためにインスタンスを設定します。ローカル設定ファイルのパラメータと設定を変更する場合は、変更を反映するために SSM エージェントを再起動する必要があります。インスタンスで CloudWatch 統合を無効にする場合は、`IsEnabled` を `false` に変更して、設定ファイルで変更を保存します。

# CloudWatch Logs エージェントの状態を報告する
<a name="ReportCWLAgentStatus"></a>

EC2 インスタンスでの CloudWatch Logs エージェントのステータスをレポートするには、以下の手順を使用します。

**エージェントのステータスをレポートするには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html)」を参照してください。

   接続問題の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)」を参照してください。

1. コマンドプロンプトで、次のコマンドを入力します。

   ```
   sudo service awslogs status
   ```

   Amazon Linux 2 を実行している場合は、次のコマンドを入力します。

   ```
   sudo service awslogsd status
   ```

1. **/var/log/awslogs.log** ファイルで CloudWatch Logs エージェントのエラー、警告、問題を確認してください。

# CloudWatch Logs エージェントを起動する
<a name="StartTheCWLAgent"></a>

EC2 インスタンスの CloudWatch Logs エージェントがインストール後自動的に開始しなかった場合、またはエージェントを停止した場合、以下の手順を使用してエージェントを開始できます。

**エージェントを開始するには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html)」を参照してください。

   接続問題の詳細については、「*Amazon EC2 ユーザーガイド*」「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)」を参照してください。

1. コマンドプロンプトで、次のコマンドを入力します。

   ```
   sudo service awslogs start
   ```

   Amazon Linux 2 を実行している場合は、次のコマンドを入力します。

   ```
   sudo service awslogsd start
   ```

# CloudWatch Logs エージェントを停止する
<a name="StopTheCWLAgent"></a>

EC2 インスタンスで CloudWatch Logs エージェントを停止するには、以下の手順を使用します。

**エージェントを停止するには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html)」を参照してください。

   接続問題の詳細については、「*Amazon EC2 ユーザーガイド*」「[Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)」を参照してください。

1. コマンドプロンプトで、次のコマンドを入力します。

   ```
   sudo service awslogs stop
   ```

   Amazon Linux 2 を実行している場合は、次のコマンドを入力します。

   ```
   sudo service awslogsd stop
   ```

# CloudWatch Logs エージェントのリファレンス
<a name="AgentReference"></a>

**重要**  
 このセクションは、廃止された古い CloudWatch Logs エージェントを使用している方のためのリファレンスです。インスタンスメタデータサービスのバージョン 2 (IMDSv2) を使用している場合は、新しい統合 CloudWatch エージェントを使用する必要があります。ただし、IMDSv2 を使用していない場合でも、古い CloudWatch Logs エージェントではなく、新しい統合 CloudWatch エージェントを使用することを強くお勧めします。新しい統合エージェントの詳細については、「[Collecting metrics and logs from Amazon EC2 instance and on-premises servers with the CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。廃止された CloudWatch Logs エージェントから統合エージェントへの移行については、「[Create the CloudWatch agent configuration file with the wizard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。

CloudWatch Logs エージェントは、Amazon EC2 インスタンスから CloudWatch Logs にログデータを自動的に送信する方法を提供します。エージェントには以下のコンポーネントが含まれます。
+ CloudWatch Logs にログデータをプッシュ AWS CLI する へのプラグイン。
+ データを CloudWatch Logs にプッシュするプロセスを開始するスクリプト (デーモン)。
+ デーモンが常に実行中であることを確認する cron ジョブ。

## エージェント設定ファイル
<a name="agent-configuration-file"></a>

CloudWatch Logs エージェント設定ファイルには、CloudWatch Logs エージェントに必要な情報が記述されています。エージェント設定ファイルの [general] セクションは、すべてログストリームに適用する一般的な設定を定義します。[logstream] セクションは、リモートなログストリームにローカルファイルを送信するために必要な情報を定義します。複数の [logstream] セクションを持つことができますが、設定ファイル内にそれぞれ [logstream1]、[logstream2] などの一意の名前を持つ必要があります。ログファイルのデータの最初の行とともにある [logstream] 値は、ログファイルの ID を定義します。

```
[general]
state_file = value
logging_config_file = value
use_gzip_http_content_encoding = [true | false]

[logstream1]
log_group_name = value
log_stream_name = value
datetime_format = value
time_zone = [LOCAL|UTC]
file = value
file_fingerprint_lines = integer | integer-integer
multi_line_start_pattern = regex | {datetime_format}
initial_position = [start_of_file | end_of_file]
encoding = [ascii|utf_8|..]
buffer_duration = integer
batch_count = integer
batch_size = integer

[logstream2]
...
```

**state\$1file**  
状態ファイルをどこに保存するかを指定します。

**logging\$1config\$1file**  
(オプション) エージェントのログ config ファイルの場所を指定します。ここでエージェントのログ config ファイルを指定しない場合は、デフォルトファイル awslogs.conf が使用されます。スクリプトでエージェントをインストールした場合、デフォルトのファイルの場所は `/var/awslogs/etc/awslogs.conf` です。rpm でエージェントをインストールした場合は、`/etc/awslogs/awslogs.conf` です。このファイルは、Python の設定ファイル形式（https://docs.python.org/2/library/logging.config.html\$1logging-config-fileformat）です。以下の名前のロガーはカスタマイズできます。  

```
cwlogs.push
cwlogs.push.reader
cwlogs.push.publisher
cwlogs.push.event
cwlogs.push.batch
cwlogs.push.stream
cwlogs.push.watcher
```
以下のサンプルは、デフォルトの値が INFO であるリーダーとパブリッシャーのレベルを WARNING に変更します。  

```
[loggers]
keys=root,cwlogs,reader,publisher
            
[handlers]
keys=consoleHandler
            
[formatters]
keys=simpleFormatter
           
[logger_root]
level=INFO
handlers=consoleHandler
            
[logger_cwlogs]
level=INFO
handlers=consoleHandler
qualname=cwlogs.push
propagate=0
            
[logger_reader]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.reader
propagate=0
            
[logger_publisher]
level=WARNING
handlers=consoleHandler
qualname=cwlogs.push.publisher
propagate=0
            
[handler_consoleHandler]
class=logging.StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stderr,)
            
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(threadName)s - %(message)s
```

**use\$1gzip\$1http\$1content\$1encoding**  
true (デフォルト) に設定すると、CloudWatch Logs への圧縮されたペイロードの送信に対して、gzip による HTTP コンテンツのエンコードが有効になります。これにより、CPU の使用率が減り、NetworkOut が少なくなり、Put のレイテンシーが短くなります。この機能を無効にするには、CloudWatch Logs エージェント設定ファイルの **[general]** (全般) セクションに [**use\$1gzip\$1http\$1content\$1encoding = false**] を追加してから、エージェントを再起動します。  
この設定は awscli-cwlogs バージョン 1.3.3 以降でのみ使用できます。

**log\$1group\$1name**  
送信先ロググループを指定します。ロググループが存在しない場合には、自動的に作成されます。ロググループの名前は 1～512 文字で指定します。ここで使えるのは、a～z、A～Z、0～9、"\$1" (アンダーバー)、"-" (ハイフン)、"/" (スラッシュ) および "." (ピリオド) です。

**log\$1stream\$1name**  
送信先ログストリームを指定します。リテラル文字列、定義済み変数 (\$1instance\$1id\$1、\$1hostname\$1、\$1ip\$1address\$1)、またはこれらの組み合わせを使用して、ログストリーム名を定義できます。ログストリームが存在しない場合には、自動的に作成されます。

**datetime\$1format**  
ログからタイムスタンプを入手する方法を指定します。タイムスタンプはログイベントを取得し、メトリクスを生成するために使用されます。現在の時刻は、[**datetime\$1format**] が提供されていない場合に各ログイベントで使用されます。提供された [**datetime\$1format**] の値がそのログメッセージに対して無効の場合は、適切に解析されたタイムスタンプを持つ最後のログイベントのタイムスタンプが使用されます。以前のログイベントが存在しない場合は、現在の時刻が使用されます。  
一般的な datetime\$1format コードは次のとおりです。Python がサポートする datetime\$1format コード（datetime.strptime()）も使用できます。タイムゾーンオフセット（%z）もサポートされています。ただし、Python 3.2 までは、コロン（:）のない [\$1-] HHMM はサポートされていません。詳細については、「[strftime() および strptime() Behavior ()](https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)」を参照してください。  
[**%y**]: ゼロ詰め 10 進数での年（世紀なし）です。00, 01, ..., 99  
**%Y**: 10 進数での年（世紀あり）です。1970、1988、2001、2013  
**%b**: ロケールの省略名称での月です。Jan、Feb ... Dec（en\$1US）;  
**%B**: ロケールの正式名称での月です。January、February...December（en\$1US）;  
**%m**: ゼロ詰め 10 進数での月です。01, 02, ..., 12  
**%d**: ゼロ詰め 10 進数での日です。01, 02, ..., 31  
**%H**: ゼロ詰め 10 進数での時（24 時間形式の時計）です。00, 01, ..., 23  
**%I**: ゼロ詰め 10 進数での時（12 時間形式の時計）です。01, 02, ..., 12  
**%p**: ロケールで AM または PM に相当するものです。  
**%M**: ゼロ詰め 10 進数での分です。00, 01, ..., 59  
**%S**: ゼロ詰め 10 進数での秒です。00, 01, ..., 59  
**%f**: 左ゼロ詰め 10 進数でのマイクロ秒です。000000, ..., 999999  
**%z**: \$1HHMM または -HHMM 形式の UTC オフセットです。\$10000、-0400、\$11030  
**形式の例:**  
`Syslog: '%b %d %H:%M:%S', e.g. Jan 23 20:59:29`  
`Log4j: '%d %b %Y %H:%M:%S', e.g. 24 Jan 2014 05:00:00`  
`ISO8601: '%Y-%m-%dT%H:%M:%S%z', e.g. 2014-02-20T05:20:20+0000` 

**time\$1zone**  
ログイベントのタイムスタンプのタイムゾーンを指定します。サポートされる 2 つの値は UTC および LOCAL です。デフォルトは LOCAL です。タイムゾーンが [**datetime\$1format**] に基づいて推定できない場合に使用されます。

**および**  
CloudWatch Logs にプッシュするログファイルを指定します。ファイルは、特定のファイルまたは複数のファイルを指すことができます（/var/log/system.log\$1 のようにワイルドカードを使用）。ファイルの変更時間に基づいて、最新のファイルのみが CloudWatch Logs にプッシュされます。access\$1log.2014-06-01-01 と access\$1log.2014-06-01-02 など同じ形式の一連のファイルを指定するにはワイルドカードの使用をお勧めします。ただし、access\$1log\$180 と access\$1log\$1443 のように複数の種類のファイルには使用しないでください。複数の種類のファイルを指定するには、設定ファイルに別のストリームログのエントリを追加して、各種類のログファイルが異なるログストリームに行くようにします。圧縮ファイルはサポートされていません。

**file\$1fingerprint\$1lines**  
ファイルを識別するための行範囲を指定します。有効な値は「1」「2-5」のように単一の数字またはハイフンで区切られた 2 つの数字です。デフォルト値は「1」です。最初の行を使用してフィンガープリントを計算します。指定された行がすべて存在しない限り、フィンガープリント行は CloudWatch Logs に送信されません。

**multi\$1line\$1start\$1pattern**  
ログメッセージの開始を識別するパターンを指定します。ログメッセージは、パターンに一致する 1 行と、それに続くパターンに一致しない行で構成されます。有効な値は正規表現または \$1datetime\$1format\$1 です。\$1datetime\$1format\$1 を使用する場合は、datetime\$1format オプションを指定する必要があります。デフォルト値は「^[^\$1s]」です。よって、空白文字以外の文字で始まる行で前のログメッセージを終了し、新しいログメッセージを開始します。

**initial\$1position**  
データの読み出しをどこから開始するかを指定します（start\$1of\$1file または end\$1of\$1file）。デフォルトは start\$1of\$1file です。そのログストリームに保持されている状態がない場合にのみ使用されます。

**encoding**  
ファイルを正しく読み込むことができるように、ログファイルのエンコードを指定します。デフォルトは utf\$18 です。Python の codecs.decode() がサポートするエンコードを使用できます。  
正しくないエンコードを指定すると、デコードできない文字がそのほかの文字に置き換えられるため、データ損失が生じる可能性があります。
一般的なエンコードを次に示します。  
 `ascii, big5, big5hkscs, cp037, cp424, cp437, cp500, cp720, cp737, cp775, cp850, cp852, cp855, cp856, cp857, cp858, cp860, cp861, cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp875, cp932, cp949, cp950, cp1006, cp1026, cp1140, cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256, cp1257, cp1258, euc_jp, euc_jis_2004, euc_jisx0213, euc_kr, gb2312, gbk, gb18030, hz, iso2022_jp, iso2022_jp_1, iso2022_jp_2, iso2022_jp_2004, iso2022_jp_3, iso2022_jp_ext, iso2022_kr, latin_1, iso8859_2, iso8859_3, iso8859_4, iso8859_5, iso8859_6, iso8859_7, iso8859_8, iso8859_9, iso8859_10, iso8859_13, iso8859_14, iso8859_15, iso8859_16, johab, koi8_r, koi8_u, mac_cyrillic, mac_greek, mac_iceland, mac_latin2, mac_roman, mac_turkish, ptcp154, shift_jis, shift_jis_2004, shift_jisx0213, utf_32, utf_32_be, utf_32_le, utf_16, utf_16_be, utf_16_le, utf_7, utf_8, utf_8_sig` 

**buffer\$1duration**  
ログイベントのバッチ期間を指定します。最小値は 5000ms で、デフォルト値は 5000ms です。

**batch\$1count**  
バッチのログイベントの最大値を 10000 までの値で指定します。デフォルト値は 10000 です。

**batch\$1size**  
バッチのログイベントの最大値を 1048576 バイトまでのバイト値で指定します。デフォルト値は 1048576 バイトです。このサイズは、UTF-8 のすべてのイベントメッセージの合計に各ログイベントにつき 26 バイトを加算して計算されます。

## HTTP プロキシでの CloudWatch Logs エージェントの使用
<a name="agent-http-proxies"></a>

CloudWatch Logs エージェントは HTTP プロキシで使用できます。

**注記**  
HTTP プロキシは awslogs-agent-setup.py バージョン 1.3.8 以降でサポートされています。

**HTTP プロキシで CloudWatch Logs エージェントを使用するには**

1. 次のいずれかを行います。

   1. CloudWatch Logs エージェントを新たにインストールする場合は、以下のコマンドを実行します。

      ```
      curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
      ```

      ```
      sudo python awslogs-agent-setup.py --region us-east-1 --http-proxy http://your/proxy --https-proxy http://your/proxy --no-proxy 169.254.169.254
      ```

      EC2 インスタンスで Amazon EC2 メタデータサービスへのアクセスを維持するには、[**--no-proxy 169.254.169.254**](推奨) を使用します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Instance Metadata and User Data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)」を参照してください。

      `http-proxy` および `https-proxy` の値で、URL 全体を指定します。

   1. CloudWatch Logs エージェントが既にインストールされている場合は、/var/awslogs/etc/proxy.conf 編集し、プロキシを追加します。

      ```
      HTTP_PROXY=
      HTTPS_PROXY=
      NO_PROXY=
      ```

1. エージェントを再起動して、変更を有効にします。

   ```
   sudo service awslogs restart
   ```

   Amazon Linux 2 を使用している場合は、次のコマンドを使用してエージェントを再起動します。

   ```
   sudo service awslogsd restart
   ```

## CloudWatch Logs エージェント設定ファイルのコンパートメント化
<a name="create-additional-configuration-files"></a>

awslogs-agent-setup.py バージョン 1.3.8 以降と awscli-cwlogs 1.3.3 以降を使用している場合は、**/var/awslogs/etc/config/** に追加の設定ファイルを作成することで、さまざまなコンポーネントのストリーム設定をそれぞれ個別にインポートできます。CloudWatch Logs エージェントが起動すると、これらの追加の設定ファイルにストリーム設定が追加されます。[general] セクションの設定プロパティはメインの設定ファイル (/var/awslogs/etc/awslogs.conf) で定義する必要があり、/var/awslogs/etc/config/ にある追加の設定ファイルで定義しても無視されます。

rpm でエージェントをインストールしたため **/var/awslogs/etc/config/** ディレクトリがない場合は、代わりに **/etc/awslogs/config/** ディレクトリを使用できます。

エージェントを再起動して、変更を有効にします。

```
sudo service awslogs restart
```

Amazon Linux 2 を使用している場合は、次のコマンドを使用してエージェントを再起動します。

```
sudo service awslogsd restart
```

## CloudWatch Logs エージェントに関するよくある質問
<a name="agent-faq"></a>

**どのようなファイルローテーションがサポートされていますか。**  
次のファイルローテーション機能がサポートされています。  
+ 既存のファイルを数字サフィックスをつけた名前に変更し、その後、元の名前の空のログファイルを作成し直します。たとえば、/var/log/syslog.log が /var/log/syslog.log.1 という名前に変更されます。/var/log/syslog.log.1 が前回のローテーションにより既に存在する場合は、/var/log/syslog.log.2 という名前に変更されます。
+ 元のログファイルを、コピーを作成した後切り捨てます。たとえば、/var/log/syslog.log を /var/log/syslog.log.1 にコピーし、/var/log/syslog.log を切り捨てます。この場合、データを損失する恐れがあるため、このファイルローテーション機能の使用にはご注意ください。
+ 古いファイルと共通のパターンを持つ新しいファイルを作成します。たとえば /var/log/syslog.log.2014-01-01 をそのまま残し、/var/log/syslog.log.2014-01-02 を作成します。
ファイルのフィンガープリント (ソース ID) は、ログストリームキーとファイルのコンテンツの 1 行目をハッシュして計算されます。この動作をオーバーライドするには、[**file\$1fingerprint\$1lines**] オプションを使用できます。ファイルのローテーションが発生した場合、新しいファイルには新しいコンテンツがあり古いファイルにはコンテンツの追加がないと思われるため、エージェントは古いファイルの読み込みが完了した後は、新しいファイルをプッシュします。

**使用しているエージェントのバージョンを確認する方法**  
セットアップスクリプトから CloudWatch Logs エージェントをインストールした場合、[**/var/awslogs/bin/awslogs-version.sh**] で使用しているエージェントのバージョンを確認することができます。エージェントのバージョンと主要な依存関係がプリントアウトされます。yum から CloudWatch Logs エージェントをインストールした場合には、[**"yum info awslogs"**] と [**"yum info aws-cli-plugin-cloudwatch-logs"**] で CloudWatch Logs エージェントとプラグインのバージョンを確認することができます。

**ログのエントリは、どのようにログイベントに変換されるのですか。**  
ログイベントには 2 つのプロパティが含まれます。イベント発生時のタイムスタンプおよび生のログメッセージです。デフォルトでは、空白文字以外の文字で始まる行は、前のログメッセージがある場合はこれを終了して新しいログメッセージを開始します。この動作をオーバーライドするには、[**multi\$1line\$1start\$1pattern**] を使用します。パターンに一致する行が新しいログメッセージを開始します。パターンには正規表現または「\$1datetime\$1format\$1」を使用できます。例えば、それぞれのログメッセージの 1 行目が「2014-01-02T13:13:01Z」のようなタイムスタンプを持っている場合、**multi\$1line\$1start\$1pattern** は「\$1d\$14\$1-\$1d\$12\$1-\$1d\$12\$1T\$1d\$12\$1:\$1d\$12\$1:\$1d\$12\$1Z」と設定できます。設定を簡略化するために、**datetime\$1format** オプションが指定されている場合は「\$1datetime\$1format\$1」変数を使用できます。同じ例で、**datetime\$1format** が「%Y-%m-%dT%H:%M:%S%z」に設定されている場合、multi\$1line\$1start\$1pattern は「\$1datetime\$1format\$1」だけにできます。  
現在の時刻は、[**datetime\$1format**] が提供されていない場合に各ログイベントで使用されます。提供された [**datetime\$1format**] がそのログメッセージに対して無効の場合は、適切に解析されたタイムスタンプを持つ最後のログイベントのタイムスタンプが使用されます。以前のログイベントが存在しない場合は、現在の時刻が使用されます。ログイベントが現在の時刻または前のログイベントの時刻にフォールバックした場合は、警告メッセージが記録されます。  
タイムスタンプはログイベントを取得し、メトリクスを生成するために使用されます。誤った形式を指定した場合、ログイベントが取得できなくなり誤ったメトリクスが生成されます。

**ログイベントはどのようにバッチされていますか。**  
次の条件のいずれかが満たされる場合、バッチがフルになり発行されます。  

1. 最初のログイベントが追加されてから、[**buffer\$1duration**] の時間が経過した。

1. 累積されたログイベントの [**batch\$1size**] 未満ですが、新しいログイベントを追加すると [**batch\$1size**] を超過します。

1. ログイベント数は [**batch\$1count**] に達しました。

1. バッチのログイベントは 24 時間以上になりませんが、新しいログイベントを追加すると 24 時間の制約を超過します。

**ログエントリ、ログイベント、またはバッチがスキップまたは切り捨てられるのはどのような原因がありますか。**  
`PutLogEvents` オペレーションの制約に従って、次の問題によりログイベントまたはバッチがスキップされる場合があります。  
データがスキップされた場合、CloudWatch Logs エージェントはログに警告を書き込みます。

1. ログイベントのサイズが 256 KB を超過した場合、ログイベントは完全にスキップされます。

1. ログイベントのタイムスタンプが 2 時間以上未来の場合、ログイベントはスキップされます。

1. ログイベントのタイムスタンプが 14 日以上過去の場合、ログイベントはスキップされます。

1. ログイベントがロググループの保持期間よりも古い場合、バッチはすべてスキップされます。

1. 単一の `PutLogEvents` リクエストでログイベントのバッチが 24 時間実行されている場合、`PutLogEvents` オペレーションは失敗します。

**エージェントを停止させた場合、データ損失や重複が発生しますか。**  
状態ファイルが使用可能であり、最後に実行されたときからファイルのローテーションが発生していなければ、発生しません。CloudWatch Logs エージェントは停止した場所から再開してログデータのプッシュを続行できます。

**同一または異なるホストの異なるログデータを同じログストリームに指定できますか。**  
複数のログソースから単一のログストリームにデータを送信する設定はサポートされていません。

**エージェントはどの API に呼び出しを作成しますか (またはどのアクションを IAM ポリシーに含める必要がありますか)?**  
CloudWatch Logs エージェントには、`CreateLogGroup`、`CreateLogStream`、`DescribeLogStreams`、`DescribeLogGrooupd`、`PutLogEvents`、`PutRetentionPolicy` アクションを実行するためのアクセス権限が必要です。最新のエージェントを使用している場合には、`DescribeLogStreams` は必要ありません。以下の IAM ポリシーの例を参照してください。    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "logs:CreateLogGroup",
      "logs:CreateLogStream",
      "logs:PutLogEvents",
      "logs:DescribeLogStreams",
      "logs:DescribeLogGroups",
      "logs:PutRetentionPolicy"
    ],
    "Resource": [
      "arn:aws:logs:*:*:*"
    ]
  }
 ]
}
```

**CloudWatch Logs エージェントに自動的にロググループまたはログストリームを作成させたくありません。エージェントによるロググループとログストリームの再作成を禁止する方法を教えてください。**  
IAM ポリシーで、エージェントを次のオペレーション (`DescribeLogStreams`、`PutLogEvents`) のみに制限できます。  
エージェントから `CreateLogGroup` および `CreateLogStream` 権限を取り消す前に、エージェントが使用するロググループとログストリームの両方を作成してください。ログエージェントは、`CreateLogGroup` および `CreateLogStream` 権限の両方がない限り、作成されたロググループにログストリームを作成できません。

**トラブルシューティング時にはどのログを調べますか。**  
エージェントのインストールログは `/var/log/awslogs-agent-setup.log` に、エージェントログは `/var/log/awslogs.log` にあります。

# クイックスタート: CloudFormation を使用して CloudWatch Logs の使用を開始する
<a name="QuickStartCloudFormation"></a>

AWS CloudFormation では、JSON 形式で AWS リソースを記述およびプロビジョニングできます。この方法の利点は、 AWS リソースのコレクションを 1 つのユニットとして管理できることと、 AWS リソースをリージョン間で簡単にレプリケートできることです。

 AWS を使用してプロビジョニングする場合は CloudFormation、使用するリソースを AWS 記述するテンプレートを作成します。次の例は、ロググループと、404 の発生数をカウントし、この数をロググループに送信するメトリクスフィルタを作成するテンプレートスニペットです。

```
"WebServerLogGroup": {
    "Type": "AWS::Logs::LogGroup",
    "Properties": {
        "RetentionInDays": 7
    }
},

"404MetricFilter": {
    "Type": "AWS::Logs::MetricFilter",
    "Properties": {
        "LogGroupName": {
            "Ref": "WebServerLogGroup"
        },
        "FilterPattern": "[ip, identity, user_id, timestamp, request, status_code = 404, size, ...]",
        "MetricTransformations": [
            {
                "MetricValue": "1",
                "MetricNamespace": "test/404s",
                "MetricName": "test404Count"
            }
        ]
    }
}
```

これは基本的な例です。を使用して、より豊富な CloudWatch Logs デプロイを設定できます CloudFormation。テンプレート例の詳細については、*AWS CloudFormation ユーザーガイド*の「[Amazon CloudWatch Logs テンプレートスニペット](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-cloudwatchlogs.html)」を参照してください。開始方法の詳細については、*AWS CloudFormation ユーザーガイド*の「[AWS CloudFormationの開始方法](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.html)」を参照してください。