AWS CloudTrail を使用して AWS API コールでトリガーする CloudWatch Events ルールの作成 - Amazon CloudWatch Events

AWS CloudTrail を使用して AWS API コールでトリガーする CloudWatch Events ルールの作成

注記

イベントを管理するには、Amazon EventBridge が好ましい方法です。CloudWatch Events と EventBridge は同じ基盤となるサービスと API ですが、EventBridge はより多くの機能を提供します。CloudWatch または EventBridge のいずれかで行った変更は、各コンソールに表示されます。詳細については、Amazon EventBridge を参照してください。

イベントを生成しない AWS のサービスによるアクションでトリガーするルールを作成するには、そのサービスによる API コールをルールのトリガー元にすることができます。API コールは によって記録されますAWS CloudTrail ルールのトリガーとして使用できる API コールの詳細については、CloudTrail イベント履歴でサポートされるサービスを参照してください。

CloudWatch Events のルールは、作成したリージョンでのみ機能します。複数のリージョンで API コールを追跡するように CloudTrail を設定し、これらの各リージョンで CloudTrail に基づくルールをトリガーする場合は、追跡するリージョンごとに別個のルールを作成する必要があります。

CloudTrail 経由で送信されたイベントはすべて、AWS API Call via CloudTrail の値が detail-type になっています。

注記

CloudWatch Events では、ルールが繰り返し開始される無限ループにつながるルールを作成する可能性があります。たとえば、S3 バケットで ACL が変更されたことを検出し、ソフトウェアをトリガーして ACL を目的の状態に変更するルールがあるとします。このルールが慎重に記述されていない場合は、その後 ACL を変更するとルールが再び開始され、無限ループが作成されます。

これを防ぐには、トリガーされたアクションが同じルールを再び開始しないようにルールを記述します。たとえば、変更された後ではなく、エラー状態にある ACL が見つかった場合にのみ、ルールが開始されるようにします。

無限ループにより、予想よりも高い料金がすぐに発生する可能性があります。指定した制限を料金が超えるとアラートで知らせる予算設定を使用することをお勧めします。詳細については、「予算によるコストの管理」を参照してください。

CloudTrail を介して API コールでトリガーするルールを作成するには:

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

  2. ナビゲーションペインで、[イベント]、[ルールの作成] の順に選択します。

  3. [イベントソース] で、以下の操作を実行します。

    1. [Build event pattern to match events by service] で、[Event Pattern] を選択します。

    2. [Service Name] で、トリガーとして使用する API オペレーションを使用するサービスを選択します。

    3. [Event Type] (イベントタイプ) で、[AWS API Call via CloudTrail] (CloudTrail 経由の AWS API コール) を選択します。

    4. このサービスの API オペレーションを呼び出すときにルールをトリガーするには、[Any operation] を選択します。特定の API オペレーションを呼び出した場合にのみルールをトリガーするには、[特定のオペレーション] を選択し、横のボックスにオペレーション名を入力して Enter キーを押します。さらにオペレーションを追加するには、[+] を選択します。

  4. [ターゲット] で [ターゲットの追加] を選択し、選択した種類のイベントが検出されたときに対応する AWS のサービスを選択します。

  5. このセクションの他のフィールドに、このターゲットタイプに固有の情報を入力します (必要な場合)。

  6. 多くのターゲットタイプで、CloudWatch Events はターゲットにイベントを送信するためのアクセス許可が必要です。これらの場合、CloudWatch Events は、イベントの実行に必要な IAM ロールを作成できます。

    • 自動的に IAM ロールを作成するには、[この特定のリソースに対して新しいロールを作成する] を選択します。

    • 以前に作成した IAM ロールを使用するには、[既存のルールの使用] を選択します。

  7. オプションで、このルールに別のターゲットを追加するには、ステップ 4~6 を繰り返します。

  8. [設定の詳細] を選択します。[Rule definition] で、ルールの名前と説明を入力します。

    ルール名はこのリージョン内で一意である必要があります。

  9. [Create rule] を選択します。