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

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

注記

Amazon EventBridge is the preferred way to manage your events. CloudWatch イベント and EventBridge are the same underlying service and API, but EventBridge provides more features. Changes you make in either CloudWatch or EventBridge will appear in each console. For more information, see Amazon EventBridge.

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

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

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

注記

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

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

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

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

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

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

  3. [Event source] で、以下の操作を実行します。

    1. [サービス別のイベントに一致するイベントパターンの構築] で、[イベントパターン] を選択します。

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

    3. [イベントタイプ] で、[AWS API Call via CloudTrail] を選択します。

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

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

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

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

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

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

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

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

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

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