メニュー
Amazon CloudWatch Events
ユーザーガイド

Amazon CloudWatch Events とは?

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

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

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

  • Amazon EC2 インスタンス

  • AWS Lambda 関数

  • Amazon Kinesis Streams でストリーム

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

  • Amazon ECS タスク

  • SSM Run Command

  • Step Functions ステートマシン

  • AWS CodePipeline のパイプライン

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

  • Amazon SNS トピック

  • Amazon SQS キュー

  • 組み込みターゲット

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

概念

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

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

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

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

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

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

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

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

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

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

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

このページの内容: