

# Amazon EC2 인스턴스의 상태 변경 이벤트
<a name="monitoring-instance-state-changes"></a>

Amazon EC2는 인스턴스 상태가 변경되면 `EC2 Instance State-change Notification` 이벤트를 Amazon EventBridge로 보냅니다.

다음은 이 이벤트의 예제 데이터입니다. 이 예제에서는 인스턴스가 `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 인스턴스의 상태가 변경될 때 이메일을 보내는 경보 생성
<a name="ec2-events-eventbridge-example"></a>

인스턴스 상태가 변경될 때 이메일 알림을 받으려면 Amazon SNS 주제를 생성한 다음 `EC2 Instance State-change Notification` 이벤트에 대한 EventBridge 규칙을 생성합니다.

**SNS 주제를 생성하려면**

1. [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)에서 Amazon SNS 콘솔을 엽니다.

1. 탐색 창에서 **주제**를 선택합니다.

1. **주제 생성**을 선택합니다.

1. **유형**에서 **표준**을 선택합니다.

1. **Name**(이름)에 주제의 이름을 입력합니다.

1. **주제 생성**을 선택합니다.

1. **구독 생성**을 선택합니다.

1. **프로토콜**에서 **이메일**을 선택합니다.

1. **Endpoint**(엔드포인트)에 알림을 받는 데 사용할 이메일 주소를 입력합니다.

1. **구독 생성**을 선택합니다.

1. AWS Notification - Subscription Confirmation이라는 제목의 이메일 메시지를 받게 됩니다. 지시에 따라 구독을 확인합니다.

**EventBridge 규칙을 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. **Create rule**을 선택합니다.

1. **Name**(이름)에 규칙의 이름을 입력합니다.

1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

1. **다음**을 선택합니다.

1. **이벤트 패턴(Event pattern)**에서 다음을 수행하세요.

   1. **이벤트 소스(Event source)**에서 **AWS 서비스**를 선택합니다.

   1. **AWS 서비스**로 **EC2**를 선택합니다.

   1. **이벤트 유형**에서 **EC2 인스턴스 상태 변경 알림**을 선택합니다.

   1. 기본적으로 모든 인스턴스의 상태 변경에 대한 알림을 보냅니다. 원하는 경우 특정 상태 또는 특정 인스턴스를 선택할 수 있습니다.

1. **다음**을 선택합니다.

1. 다음과 같이 대상을 지정합니다.

   1. **대상 유형(Target types**)에서 **AWS 서비스**를 선택합니다.

   1. **대상 선택**에서 **SNS 주제**를 선택합니다.

   1. **Topic**(주제)에서 이전 절차에서 생성한 SNS 주제를 선택합니다.

1. **다음**을 선택합니다.

1. (선택 사항) 규칙에 태그를 추가합니다.

1. **다음**을 선택합니다.

1. **규칙 생성**을 선택합니다.

1. 규칙을 테스트하려면 상태 변경을 시작합니다. 예를 들어 중지된 인스턴스를 시작하거나 실행 중인 인스턴스를 중지하거나 인스턴스를 시작합니다. AWS Notification Message라는 제목의 이메일 메시지를 받게 됩니다. 이메일 본문에는 이벤트 데이터가 포함되어 있습니다.