AWS CloudTrail
ユーザーガイド (Version 1.0)

CloudWatch Logs にイベントを送信する

証跡から CloudWatch Logs にイベントを送信するよう設定した場合、CloudTrail は、証跡の設定に一致するイベントのみを送信します。たとえば、データイベントのみを送信するように設定した場合、証跡はデータイベントのみを CloudWatch Logs ロググループに送信します。CloudTrail は、CloudWatch Logs へのデータイベントと管理イベントの送信をサポートしています。詳細については、「証跡のデータイベントと管理イベントのログ記録」を参照してください。

CloudWatch Logs ロググループにイベントを送信するには:

  • 新しい証跡を作成するか、既存の証跡を指定します。詳細については、「コンソールで証跡を作成および更新する」を参照してください。

  • ロググループを作成するか、既存のロググループを指定します。

  • IAM ロールを指定します。組織の証跡の既存の IAM ロールを変更する場合は、組織の証跡のログ記録を許可するように手動でポリシーを更新する必要があります。詳細については、このポリシー例と「組織の証跡の作成」を参照してください。

  • ロールポリシーをアタッチするか、デフォルトを使用します。

コンソールを使用して CloudWatch Logs のモニタリングを設定する

AWS マネジメントコンソール を使用して、証跡から CloudWatch Logs にモニタリング用のイベントを送信するよう設定できます。

ロググループを作成するか、既存のロググループを指定する

CloudTrail では、ログイベントの配信エンドポイントとして、CloudWatch Logs ロググループが使用されます。ユーザーは、ロググループを作成するか、既存のロググループを指定することができます。

ロググループを作成または指定するには

  1. https://console.aws.amazon.com/cloudtrail/ にある CloudTrail コンソールを開きます。

  2. 証跡名を選択します。すべてのリージョンに適用される証跡を選択した場合は、その証跡の作成元のリージョンにリダイレクトされます。ロググループを作成することもできますし、証跡と同じリージョン内の既存のロググループを選択することもできます。

    注記

    すべてのリージョンに適用される証跡では、すべてのリージョンのログファイルが、指定された CloudWatch Logs ロググループに送信されます。

  3. [CloudWatch Logs] の場合は、[Configure] を選択します。

  4. [New or existing log group] にロググループ名を入力し、[Continue] を選択します。詳細については、「CloudTrail に対する CloudWatch のロググループとログストリームの名前付け」を参照してください。

  5. IAM ロールについては、既存のロールを選択するか、新しいロールを作成します。IAM ロールを作成する場合は、ロール名を入力します。

  6. [Allow] を選択して、CloudWatch Logs ログストリームを作成するアクセス許可とイベントを配信する権限を CloudTrail に付与します。

IAM ロールを指定する

ログストリームへのイベント配信のために CloudTrail に割り当てるロールを指定できます。

ロールを指定するには

  1. デフォルトでは、CloudTrail_CloudWatchLogs_Role が指定されます。デフォルトのロールポリシーには、指定したロググループ内に CloudWatch Logs ログストリームを作成し、そのログストリームに CloudTrail イベントを配信するための必要なアクセス許可がアタッチされています。

    注記

    組織の証跡のロググループにこのロールを使用する場合は、ロールを作成した後に手動でポリシーを変更する必要があります。詳細については、このポリシー例と「組織の証跡の作成」を参照してください。

    1. ロールを検証するには、https://console.aws.amazon.com/iam/ の AWS Identity and Access Management コンソールに移動します。

    2. [Roles]、[CloudTrail_CloudWatchLogs_Role] の順に選択します。

    3. ロールポリシーの内容を確認するには、[View Policy Document] を選択します。

  2. 別のロールを指定することもできますが、そのロールを使用して CloudWatch Logs にイベントを送信する場合は、必要なロールポリシーを既存のロールにアタッチする必要があります。詳細については、「CloudTrail がモニタリングに CloudWatch Logs を使用するためのロールポリシードキュメント」を参照してください。

CloudWatch コンソールでイベントを表示する

CloudWatch Logs ロググループにイベントを送信するように証跡を設定したら、CloudWatch コンソールでイベントを表示することができます。CloudTrail では通常、API コールから数分以内に、イベントがロググループへと配信されます。

CloudWatch コンソールでイベントを表示するには

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. [Logs] を選択します。

  3. 証跡用に指定したロググループを選択します。

  4. ログストリーム名を選択します。

  5. 証跡によって記録されたイベントの詳細を表示するには、イベントを選択します。

注記

CloudWatch コンソールの [時刻 (UTC)] 列には、イベントがロググループに配信された時刻が表示されます。イベントが CloudTrail によってログに記録された実際の時刻を確認するには、eventTime フィールドを参照してください。

AWS CLI を使用して CloudWatch Logs のモニタリングを設定する

AWS CLI を使用して、CloudTrail から CloudWatch Logs にモニタリング用のイベントを送信するよう設定できます。

ロググループを作成する

  1. 既存のロググループがない場合は、CloudWatch Logs create-log-group コマンドを使用して、ログイベントの配信エンドポイントとしての CloudWatch Logs ロググループを作成します。

    aws logs create-log-group --log-group-name name

    次の例では、CloudTrail/logs という名前のロググループが作成されます。

    aws logs create-log-group --log-group-name CloudTrail/logs
  2. ロググループの Amazon リソースネーム (ARN) を取得します。

    aws logs describe-log-groups

ロールの作成

CloudWatch Logs ロググループにイベントを送信できるようにするための、CloudTrail 用のロールを作成します。IAM の create-role コマンドには、2 つのパラメーターがあります。1 つはロール名で、もう 1 つは、JSON 形式のロールポリシー割り当てドキュメントへのファイルパスです。使用するポリシードキュメントによって、CloudTrail に AssumeRole アクセス許可が付与されます。create-role コマンドを実行すると、必要なアクセス許可を持ったロールが作成されます。

ポリシードキュメントを含んだ JSON ファイルを作成するには、テキストエディターを開き、assume_role_policy_document.json という名前のファイルに次のポリシーコンテンツを保存します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

次のコマンドを実行して、AssumeRole アクセス許可を使用した CloudTrail 用のロールを作成します。

aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json

コマンドが完了したら、出力内のロール ARN を書き留めておきます。

ポリシードキュメントを作成する

CloudTrail 用に、次のロールポリシードキュメントを作成します。指定したロググループ内に CloudWatch Logs ログストリームを作成し、そのログストリームに CloudTrail イベントを配信するための必要なアクセス許可は、このドキュメントによって CloudTrail に付与されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] } ] }

role-policy-document.json という名前のファイルにポリシードキュメントを保存します。

組織の証跡にも使用される可能性があるポリシーを作成している場合は、少し異なる方法で構成する必要があります。たとえば、次のポリシーは、指定したロググループに CloudWatch Logs ログストリームを作成するために必要なアクセス許可を CloudTrail に付与し、AWS アカウント 111111111111 内の証跡と、o-exampleorgid の AWS Organizations 組織に適用される 111111111111 アカウントで作成された組織の証跡の両方に対して CloudTrail イベントをそのログストリームに配信します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] } ] }

組織の証跡の詳細については、「組織の証跡の作成」を参照してください。

次のマンドを実行して、ロールにポリシーを適用します。

aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json

証跡を更新する

CloudTrail の update-trail コマンドを使用して、証跡のロググループとロール情報を更新します。

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn

AWS CLI コマンドの詳細については、「AWS CloudTrail Command Line Reference」を参照してください。

制限

CloudWatch Logs には 256 KB のイベントサイズ制限があるため、CloudTrail では、256 KB を超えるイベントは CloudWatch Logs に送信されません。たとえば、EC2 の RunInstances API を呼び出して 500 のインスタンスを起動すると、256 KB の制限を超えることになります。そのため、CloudTrail は CloudWatch Logs にイベントを送信しません。CloudTrail から CloudWatch Logs にイベントが送信されるようにするには、大きなリクエストを、より小さなバッチに分割してください。