Amazon CloudWatch Events とは - Amazon CloudWatch Events

Amazon CloudWatch Events とは

注記

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.

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

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

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

  • Amazon EC2 インスタンス

  • AWS Lambda 関数

  • Amazon Kinesis Data Streams のストリーム

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

  • Amazon CloudWatch Logs のロググループ

  • Amazon ECS タスク

  • Systems Manager コマンドを実行

  • Systems Manager オートメーション

  • 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 アカウントのデフォルトのイベントバス

概念

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

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

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

  • ターゲット – ターゲットはイベントを処理します。ターゲットには、Amazon EC2 インスタンス、AWS Lambda 関数、Kinesis ストリーム、Amazon ECS タスク、Step Functions ステートマシン、Amazon SNS トピック、Amazon SQS キュー、および組み込みターゲットを含めることができます。ターゲットは、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 Kinesis Data Streams により、高速かつほぼ継続的にデータの取り込みと集約を行うことができます。使用されるデータのタイプには、IT インフラストラクチャのログデータ、アプリケーションのログ、ソーシャルメディア、マーケットデータフィード、ウェブのクリックストリームデータなどがあります。データの取り込みと処理の応答時間はリアルタイムであるため、処理は一般的に軽量です。詳細については、「Amazon Kinesis Data Streams 開発者ガイド」を参照してください。

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