Amazon CloudWatch Events とは - Amazon CloudWatch Events

Amazon CloudWatch Events とは

注記

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

Amazon CloudWatch Events では、Amazon Web Services (AWS) リソースの変更を記述した、システムイベントのほぼリアルタイムのストリーミングを配信します。すぐに設定できる簡単なルールを使用して、ルールに一致したイベントを 1 つ以上のターゲット関数またはストリームに振り分けることができます。CloudWatch Events が発生すると、運用上の変更が認識されます。CloudWatch Events は、オペレーションの変更に応答し、必要に応じて、応答メッセージを環境に送り、機能をアクティブ化し、変更を行い、状態情報を収集することによって、是正措置を実行します。

CloudWatch Events を使用して、cron 式や rate 式により特定の時間に自己トリガーする自動アクションをスケジュールすることもできます。詳細については、「ルールのスケジュール式」を参照してください。

以下の AWS サービスを、CloudWatch Events のターゲットとして設定できます。

  • Amazon EC2 インスタンス

  • AWS Lambda 関数

  • Amazon Kinesis Data Streams のストリーム

  • Amazon Kinesis Data Firehose の配信ストリーム

  • Amazon CloudWatch Logs のロググループ

  • Amazon ECS タスク

  • Systems Manager Run Command

  • Systems Manager Automation

  • AWS Batch ジョブ

  • Step Functions ステートマシン

  • CodePipeline のパイプライン

  • CodeBuild プロジェクト

  • Amazon Inspector の評価テンプレート

  • Amazon SNS トピック

  • Amazon SQS キュー

  • 組み込みターゲット: EC2 CreateSnapshot API callEC2 RebootInstances API callEC2 StopInstances API call、および EC2 TerminateInstances API call

  • 別の AWS アカウントのデフォルトのイベントバス

Concepts

CloudWatch Events の使用を開始する前に、以下の概念を理解する必要があります。

  • イベント – イベントは、AWS 環境の変化を示します。AWS リソースは、その状態が変わったときにイベントを生成できます。例えば、Amazon EC2 は EC2 インスタンスの状態が保留中から実行中に変わったときにイベントを生成し、Amazon EC2 Auto Scaling はインスタンスを起動または終了したときにイベントを生成します。API コールを行うと、AWS CloudTrail がイベントを発行します。カスタムアプリケーションレベルのイベントを生成し、CloudWatch Events に発行することができます。定期的に生成される予定されたイベントをセットアップすることもできます。イベントを生成するサービスの一覧や、各サービスのサンプルイベントについては、「サポートされているサービスからの CloudWatch Events イベントの例」を参照してください。

  • ルール – ルールは、一致した受信イベントを検出し、処理のためにターゲットに振り分けます。1 つのルールで、複数のターゲットを振り分けることができ、それらのすべてが並列に処理されます。ルールは特定の順序で処理されません。これにより、組織のさまざまな部署が目的のイベントを検索して処理できます。ルールは、特定の部分のみ渡したり、定数で上書きしたりすることにより、ターゲットに送信される JSON をカスタマイズできます。

  • ターゲット – ターゲットはイベントを処理します。ターゲットには、Amazon EC2 インスタンス、AWS Lambda 関数、Kinesis ストリーム、Amazon ECS タスク、Step Functions ステートマシン、Amazon SNS トピック、Amazon SQS キュー、組み込みターゲットを含めることができます。ターゲットは、JSON 形式のイベントを受け取ります。

    ルールのターゲットは、ルールと同じリージョンに存在する必要があります。

CloudWatch Events と併せて使用されるサービスは次のとおりです。

  • AWS CloudTrail は、アカウントの CloudWatch Events API への呼び出し (AWS Management Console、AWS CLI、その他のサービスによる呼び出しを含む) のモニタリングを可能にします。CloudTrail ログが有効になっている場合、CloudWatch Events は S3 バケットにログファイルを書き込みます。リクエストを満たすためにアクションをいくつ実行する必要があったかに応じて、各ログファイルには 1 個以上のレコードが含まれる可能性があります。詳細については、「AWS CloudTrail を使用した Amazon CloudWatch Events API コールのログ記録」を参照してください。

  • AWS CloudFormation では、AWS リソースのモデリングと設定を行うことができます。必要なすべての AWS リソースを説明するテンプレートを作成すれば、AWS CloudFormation がお客さまに代わって、これらのリソースのプロビジョニングや設定を処理します。CloudWatch Events ルールを AWS CloudFormation テンプレートで使用できます。詳細については、AWS CloudFormation ユーザーガイドの AWS::Events::Rule を参照してください。

  • AWS Config を使用すると、AWS リソースへの設定変更を記録できます。これには、リソース間の関係と設定の履歴が含まれるため、時間の経過と共に設定と関係がどのように変わるかを確認できます。AWS Config ルールを作成して、リソースが組織のポリシーに準拠しているかどうか確認できます。詳細については、「 AWS Config デベロッパーガイド」を参照してください。

  • AWS Identity and Access Management (IAM) は、ユーザーのために AWS リソースへのアクセスを安全にコントロールする際に役立ちます。IAM により、どのユーザーがお客様の AWS リソースを使用できるか (認証)、それらのユーザーがどのリソースをどのような方法で使用できるか (承認) を制御できます。詳細については、IAM ユーザーガイドを参照してください。

  • Amazon Kinesis Data Streams により、高速かつほぼ継続的にデータの取り込みと集約を行うことができます。使用されるデータのタイプには、IT インフラストラクチャのログデータ、アプリケーションのログ、ソーシャルメディア、マーケットデータフィード、ウェブのクリックストリームデータなどがあります。データの取り込みと処理の応答時間はリアルタイムであるため、処理は一般的に軽量です。詳細については、Amazon Kinesis Data Streams デベロッパーガイドを参照してください。

  • AWS Lambda により、新規情報に迅速に対応するアプリケーションを構築できます。アプリケーションコードを Lambda 関数としてアップロードすると、Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行します。Lambda は、すべてのコンピューティングリソースを管理します。これにはサーバーおよびオペレーティングシステムの管理、容量のプロビジョニングおよびオートスケーリング、コード、セキュリティパッチ、コードのモニタリングとログ記録などが含まれます。詳細については、「AWS Lambda デベロッパーガイド」を参照してください。