

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon CloudWatch Events を使用したデプロイのモニタリング
<a name="monitoring-cloudwatch-events"></a>

Amazon CloudWatch Events を使用して、インスタンスの状態の変更、または CodeDeploy オペレーションのデプロイ (「イベント」として) を検出して対処できます。次に、作成したルールに基づいて CloudWatch Events はデプロイまたはインスタンスが、ルールで指定した状態になると、1 つ以上のターゲットアクションを呼び出します。状態変更のタイプに応じて、通知を送信、状態情報を取得し、修正作業またはその他のアクションを取ることができます。CodeDeploy オペレーションの一部として CloudWatch Events を使用している場合は、以下のターゲットのタイプを選択できます。
+ AWS Lambda 関数
+  Kinesis Streams
+ Amazon SQS キュー
+ 組み込みターゲット (`EC2 CreateSnapshot API call`、`EC2 RebootInstances API call`、`EC2 StopInstances API call` および `EC2 TerminateInstances API call`) 。
+ Amazon SNS トピック

次にユースケースをいくつか示します。
+ Lambda 機能を使用して、デプロイが失敗するたびに Slack チャネルに通知を配信します。
+ Kinesis ストリームにデプロイまたはインスタンスのデータをプッシュして、包括的でリアルタイムの状態モニタリングをサポートします。
+ CloudWatch アラームアクションを使用して、指定したデプロイやインスタンスイベントが発生したときに、Amazon EC2 インスタンスを自動的に停止、終了、再起動、復旧します。

このトピックの残りの部分では、CodeDeploy の CloudWatch Events ルールを作成するための基本的な手順について説明します。ただし CodeDeploy オペレーションで使用するイベントルールを作成する前に、以下のことを実行する必要があります。
+ CloudWatch Events の前提条件を完了します。詳細については、「[Amazon CloudWatch Events 前提条件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_Prerequisites.html)」を参照してください。
+ CloudWatch Events のイベント、ルール、およびターゲットをしっかりと理解しておきます。詳細については、[Amazon CloudWatch Events とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)」および[「新しい CloudWatch Events — AWS リソースの変更を追跡して応答する](https://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources/)」を参照してください。
+ イベントのルールで使用するターゲットを作成します。

**CodeDeploy の CloudWatch Events ルールを作成するには**

1. CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. ナビゲーションペインの **Events**] を選択します。

1. [**ルールの作成**] を選択してから、[**イベントの選択**] で [**AWS CodeDeploy**] を選択します。

1. 詳細タイプを指定します。
   + インスタンスとデプロイの両方のすべての状態変更に適用されるルールを作成するには、[**Any detail type**] を選択してから、ステップ 6 に進んでください。
   + インスタンスのみに適用するルールを作成するためには [**Specific detail type**] を選択してから、[**CodeDeploy インスタンスの状態変更通知**] を選択します。
   + デプロイのみに適用するルールを作成するためには [**Specific detail type**] を選択してから、[**CodeDeploy デプロイの状態変更通知**] を選択します。

1. ルールを適用する状態変更を指定します。
   + すべての状態変更に適用されるルールを作成するには、[**Any state**] を選択します。
   + いくつかの状態変更のみに適用されるルールを作成するためには、**Specific state(s)** を選択してから、リストから 1 つ以上のステータス値を選択します。次の表は、使用できるステータス値を一覧表示します。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/monitoring-cloudwatch-events.html)

1. ルールが適用される CodeDeploy アプリケーションを指定します。
   + すべてのアプリケーションに適用するルールを作成するためには、[**Any application**] を選択し、ステップ 8 に進んでください。
   + 1 つのアプリケーションのみに適用するルールを作成するためには、[**Specific application**] を選択してから、リストからアプリケーション名を選択します。

1. ルールが適用されるデプロイを指定します。
   + 選択したアプリケーションと関連付けられたすべてのデプロイグループに適用されるルールを作成するためには、[**Any deployment group**] を選択します。
   + 選択したアプリケーションに関連付けられる 1 つのデプロイグループのみに適用されるルールを作成するためには、[**Specific deployment group(s)**] を選択してから、リストからデプロイグループ名を選択します。

1. ルール設定を確認して、イベントモニタリング要件を満たしていることを確認します。

1. [**Targets**] エリアで、[**Add target\$1**] を選択します。

1. **Select target type** リストで、このルールを使用するために準備したターゲットのタイプを選択してから、そのタイプに必要な追加オプションを設定します。

1. **設定の詳細** を選択します。

1. [**Configure rule details**] ページで、ルールの名前と説明を入力し、[**State**] ボックスを選択して、すぐにルールを有効化します。

1. ルールが適切であることを確認したら、[**Create rule**] を選択します。