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 コールでトリガーするルールを作成するには:
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
ナビゲーションペインで、[イベント]、[ルールの作成] の順に選択します。
-
[イベントソース] で、以下の操作を実行します。
-
[Build event pattern to match events by service] で、[Event Pattern] を選択します。
-
[Service Name] で、トリガーとして使用する API オペレーションを使用するサービスを選択します。
[Event Type] (イベントタイプ) で、[AWS API Call via CloudTrail] (CloudTrail 経由の AWS API コール) を選択します。
-
このサービスの API オペレーションを呼び出すときにルールをトリガーするには、[Any operation] を選択します。特定の API オペレーションを呼び出した場合にのみルールをトリガーするには、[特定のオペレーション] を選択し、横のボックスにオペレーション名を入力して Enter キーを押します。さらにオペレーションを追加するには、[+] を選択します。
-
-
[ターゲット] で [ターゲットの追加] を選択し、選択した種類のイベントが検出されたときに対応する AWS のサービスを選択します。
-
このセクションの他のフィールドに、このターゲットタイプに固有の情報を入力します (必要な場合)。
-
多くのターゲットタイプで、CloudWatch Events はターゲットにイベントを送信するためのアクセス許可が必要です。これらの場合、CloudWatch Events は、イベントの実行に必要な IAM ロールを作成できます。
-
自動的に IAM ロールを作成するには、[この特定のリソースに対して新しいロールを作成する] を選択します。
-
以前に作成した IAM ロールを使用するには、[既存のルールの使用] を選択します。
-
-
オプションで、このルールに別のターゲットを追加するには、ステップ 4~6 を繰り返します。
-
[設定の詳細] を選択します。[Rule definition] で、ルールの名前と説明を入力します。
ルール名はこのリージョン内で一意である必要があります。
-
[Create rule] を選択します。