

# Amazon EC2 インスタンスの状態変更イベント
<a name="monitoring-instance-state-changes"></a>

インスタンスの状態が変化すると、Amazon EC2 は Amazon EventBridge に `EC2 Instance State-change Notification` イベントを送信します。

以下はこのイベントのサンプルデータです。この例ではインスタンスは `pending` 状態に入りました。

```
{
   "id":"7bf73129-1428-4cd3-a780-95db273d1602",
   "detail-type":"EC2 Instance State-change Notification",
   "source":"aws.ec2",
   "account":"123456789012",
   "time":"2021-11-11T21:29:54Z",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
   ],
   "detail":{
      "instance-id":"i-1234567890abcdef0",
      "state":"pending"
   }
}
```

`state` に指定できる値は次のとおりです。
+ `pending`
+ `running`
+ `stopping`
+ `stopped`
+ `shutting-down`
+ `terminated`

インスタンスを起動または開始した場合、インスタンスは `pending` 状態に移行してから、`running` 状態になります。インスタンスを停止した場合、インスタンスは `stopping` 状態に移行してから、`stopped` 状態になります。インスタンスを終了した場合、インスタンスは `shutting-down` 状態に移行してから、`terminated` 状態になります。詳細については、「[Amazon EC2 インスタンスの状態変更](ec2-instance-lifecycle.md)」を参照してください。

# Amazon EC2 インスタンスの状態が変更されたときに E メールを送信するアラームの作成
<a name="ec2-events-eventbridge-example"></a>

インスタンスの状態が変化したときに E メール通知を受け取るには、Amazon SNS トピックを作成してから、`EC2 Instance State-change Notification` イベントの EventBridge ルールを作成します。

**SNS トピックを作成するには**

1. Amazon SNS コンソールの [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) を開いてください。

1. ナビゲーションペインで、**[トピック]** を選択してください。

1. **[トピックの作成]** を選択してください。

1. [**Type (タイプ)**] で、[**Standard (標準)**] を選択してください。

1. **[Name]** (名前) で、トピックの名前を入力してください。

1. **[トピックの作成]** を選択してください。

1. [**Create subscription**] を選択してください。

1. [**Protocol (プロトコル)**] として [**Email (E メール)**] を選択してください。

1. **[Endpoint]** (エンドポイント) で、通知を受信するメールアドレスを入力してください。

1. [**Create subscription**] を選択してください。

1. 次の件名の E メールメッセージが届きます: AWS Notification - Subscription Confirmation。指示に沿って操作し、登録を確認します。

**EventBridge ルールを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. [**Create rule**] を選択してください。

1. [**Name**] (名前) に、ルールの名前を入力してください。

1. **[ルールタイプ]** で、**[イベントパターンを持つルール]** を選択してください。

1. [**Next**] を選択してください。

1. **[Event pattern]** (イベントパターン) の場合は次のいずれかを実行します。

   1. **イベントソース** で **AWS のサービス** を選択してください。

   1. **[AWS のサービス]** で、**[EC2]** を選択してください。

   1. [**イベントタイプ**] に、[**EC2 インスタンスの状態変更通知**] を選択してください。

   1. デフォルトではすべてのインスタンスの状態変更に関する通知が送信されます。必要に応じて、特定の状態またはインスタンスを選択できます。

1. [**Next**] を選択してください。

1. 次のようにターゲットを指定します。

   1. **[Target types]** (ターゲットタイプ) には**[AWS のサービス]** を選択してください。

   1. **[Select a target]** (ターゲットの選択) には**[SNS topic]** (SNS トピック) を選択してください。

   1. **[Topic]** (トピック) で、前の手順で作成した SNS トピックを選択してください。

1. [**Next**] を選択してください。

1. (オプション) ルールにタグを追加します。

1. [**Next**] を選択してください。

1. **ルールの作成**を選択してください。

1. ルールをテストするには状態変更を開始します。例えば、停止されたインスタンスを開始したり、実行中のインスタンスを停止したり、インスタンスを起動したりします。次の件名の E メールメッセージが届きます: AWS Notification Message。E メールの本文にはイベントデータが含まれます。