

# Amazon EC2 리소스 모니터링
<a name="monitoring_ec2"></a>

모니터링은 Amazon EC2 인스턴스 및 AWS 솔루션의 안정성, 가용성 및 성능을 유지하는 데 있어서 중요한 부분입니다. 발생하는 다중 지점 실패를 보다 쉽게 디버깅할 수 있도록 AWS 솔루션의 모든 부분으로부터 모니터링 데이터를 수집해야 합니다.

AWS는 Amazon EC2를 모니터링하는 데 사용할 수 있는 다양한 도구를 제공합니다. Amazon EC2 및 CloudWatch 콘솔 대시보드에서는 Amazon EC2 환경을 한 눈에 파악할 수 있습니다. 추가로 다음을 제공합니다.
+ **시스템 상태 확인** - 인스턴스를 사용하는 데 필요한 AWS 시스템을 모니터링하여 올바르게 작동 중인지 확인합니다. 이러한 확인에서는 복구 시 AWS 개입이 필요한 인스턴스 관련 문제를 찾아냅니다. 시스템 상태 확인이 실패하는 경우, AWS에서 문제를 해결할 때까지 기다리거나, 인스턴스를 중지했다가 다시 시작하거나 종료하고 교체하는 등의 방법으로 사용자가 문제를 직접 해결할 수도 있습니다. 시스템 상태 확인이 실패하게 되는 문제의 예를 들면 다음과 같습니다.
  + 네트워크 연결 끊김
  + 시스템 전원 중단
  + 물리적 호스트의 소프트웨어 문제
  + 네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제

  자세한 내용은 [Amazon EC2 인스턴스 상태 확인](monitoring-system-instance-status-check.md) 섹션을 참조하세요.
+ **인스턴스 상태 확인** – 개별 인스턴스에 대한 소프트웨어 및 네트워크 구성을 모니터링합니다. 이러한 확인에서는 복구 시 사용자의 개입이 필요한 문제를 찾아냅니다. 인스턴스 상태 확인이 실패할 경우 일반적으로 사용자는 인스턴스를 재부팅하거나 운영 체제를 수정하는 등의 방법으로 문제를 직접 해결해야 합니다. 인스턴스 상태 확인이 실패하게 되는 문제의 예를 들면 다음과 같습니다.
  + 시스템 상태 확인 실패
  + 네트워크 구성 또는 시작 구성이 잘못됨
  + 메모리가 모두 사용됨
  + 파일 시스템 손상
  + 호환되지 않는 커널

  자세한 내용은 [Amazon EC2 인스턴스 상태 확인](monitoring-system-instance-status-check.md) 섹션을 참조하세요.
+ **Amazon CloudWatch 경보** – 지정하는 기간 동안 단일 지표를 관찰하고 특정 기간 동안 지정된 임계값을 기준으로 지표의 값에 따라 하나 이상의 작업을 수행합니다. 이 작업은 Amazon Simple Notification Service(Amazon SNS) 주제 또는 Amazon EC2 Auto Scaling 정책에 전송되는 알림입니다. 경보는 지속적인 상태 변경에 대해서만 작업을 호출합니다. CloudWatch 경보는 특정 상태에 있다는 이유만으로는 작업을 호출하지 않습니다. 상태가 변경되고 지정한 기간 동안 유지되어야 합니다. 자세한 내용은 [CloudWatch를 사용하여 인스턴스 모니터링](using-cloudwatch.md) 섹션을 참조하세요.
+ **Amazon EventBridge 이벤트** – AWS 서비스를 자동화하여 시스템 이벤트에 자동으로 응답합니다. AWS 서비스 이벤트는 거의 실시간으로 EventBridge에 전송되며, 전송된 이벤트가 사용자가 정의한 규칙과 일치할 경우 실행할 자동 작업을 지정할 수 있습니다. 자세한 내용은 [EventBridge를 사용하여 Amazon EC2 자동화](automating_with_eventbridge.md) 섹션을 참조하세요.
+ **AWS CloudTrail 로그** - Amazon EC2 API에 보낸 호출에 대한 자세한 정보를 캡처하고 Amazon S3에 로그 파일로 저장합니다. 이러한 CloudTrail 로그를 사용하여 어떤 요청이 이루어졌는지, 호출의 IP 주소, 누가 언제 호출을 요청했는지 등을 확인할 수 있습니다. 자세한 내용은 [AWS CloudTrail을 사용하여 Amazon EC2 API 호출 로깅](monitor-with-cloudtrail.md) 섹션을 참조하세요.
+ **CloudWatch 에이전트** – EC2 인스턴스와 온프레미스 서버의 호스트 및 게스트 모두에서 로그와 시스템 수준 지표를 수집합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)을 참조하세요.

# Amazon EC2 인스턴스 상태 모니터링
<a name="monitoring-instances-status-check"></a>

인스턴스의 상태 확인과 예약된 이벤트 정보를 확인하면 인스턴스의 상태를 모니터링할 수 있습니다.

상태 확인은 Amazon EC2에서 실시하는 자동 확인 작업을 통해 정보를 제공합니다. 이러한 자동 검사는 인스턴스에 영향을 미치는 특정 문제가 있을 때 이를 감지합니다. 상태 확인 정보는 Amazon CloudWatch에서 제공되는 데이터와 함께 각 인스턴스에 대한 세부적인 운영 정보를 시각적으로 제공합니다.

인스턴스에서 예약된 특정 이벤트의 상태도 확인할 수 있습니다. 이벤트 상태는 재부팅이나 만료 등 인스턴스에 대해 설정된 예정 활동에 대한 정보를 제공합니다. 또한 각 이벤트의 예약된 시작 시간과 종료 시간도 제공합니다.

**Topics**
+ [

# Amazon EC2 인스턴스 상태 확인
](monitoring-system-instance-status-check.md)
+ [

# Amazon EC2 인스턴스의 상태 변경 이벤트
](monitoring-instance-state-changes.md)
+ [

# Amazon EC2 인스턴스의 예약된 이벤트
](monitoring-instances-status-check_sched.md)

# Amazon EC2 인스턴스 상태 확인
<a name="monitoring-system-instance-status-check"></a>

인스턴스 상태 모니터링 작업은 Amazon EC2에서 인스턴스의 애플리케이션 실행에 지장을 줄 수 있는 문제를 발견했을 때 빠르게 확인할 수 있는 방법입니다. Amazon EC2는 실행 중인 모든 EC2 인스턴스에서 자동 확인을 수행하여 하드웨어 및 소프트웨어 문제를 식별합니다. 이러한 상태 확인 결과를 토대로 식별 가능한 특정 문제를 확인할 수 있습니다. 이벤트 상태 데이터는 Amazon EC2가 이미 각 인스턴스 상태(`pending`, `running`, `stopping` 등)에 대해 제공하는 정보와 Amazon CloudWatch가 모니터링하는 사용 지표(CPU 사용량, 네트워크 트래픽, 디스크 활동)를 보완합니다.

상태 확인은 1분마다 실행되며 통과 또는 실패 상태를 반환합니다. 모든 검사 결과가 통과인 경우 인스턴스의 전체 상태는 **정상**으로 표시됩니다. 하나 이상의 검사 결과가 실패인 경우에는 인스턴스의 전체 상태가 **손상됨**으로 표시됩니다. 상태 확인은 Amazon EC2에 내장된 기능으로 비활성화하거나 삭제할 수 없습니다.

상태 확인이 실패하면 상태 확인에 대한 해당 CloudWatch 지표가 증가합니다. 자세한 내용은 [상태 확인 지표](viewing_metrics_with_cloudwatch.md#status-check-metrics) 섹션을 참조하세요. 이러한 지표를 사용하여 상태 확인 결과를 기준으로 트리거되는 CloudWatch 경보를 생성할 수 있습니다. 예를 들어 특정 인스턴스의 상태 확인에서 실패 항목이 있을 때 알리는 경보를 생성할 수 있습니다. 자세한 내용은 [상태 확인에 실패한 Amazon EC2 인스턴스에 대한 CloudWatch 경보 생성](creating_status_check_alarms.md) 섹션을 참조하세요.

Amazon EC2 인스턴스를 모니터링하고 기본 문제로 인해 인스턴스가 손상된 경우 인스턴스를 자동으로 복구하는 Amazon CloudWatch 경보를 생성할 수도 있습니다. 자세한 내용은 [자동 인스턴스 복구](ec2-instance-recover.md) 섹션을 참조하세요.

**Topics**
+ [

## 상태 확인 유형
](#types-of-instance-status-checks)
+ [

# Amazon EC2 인스턴스 상태 확인 보기
](viewing_status.md)
+ [

# 상태 확인에 실패한 Amazon EC2 인스턴스에 대한 CloudWatch 경보 생성
](creating_status_check_alarms.md)

## 상태 확인 유형
<a name="types-of-instance-status-checks"></a>

상태 확인에는 세 가지 유형이 있습니다.
+ [시스템 상태 확인](#system-status-checks)
+ [인스턴스 상태 확인](#instance-status-checks)
+ [연결된 EBS 상태 확인](#attached-ebs-status-checks)

### 시스템 상태 확인
<a name="system-status-checks"></a>

시스템 상태 확인은 인스턴스가 실행되는 AWS 시스템을 모니터링합니다. 이러한 확인에서는 복구 시 AWS 개입이 필요한 인스턴스와 관련된 근본적인 문제를 찾아냅니다. 시스템 상태 확인이 실패한 경우, AWS에서 문제를 해결할 때까지 기다리거나 문제를 직접 해결할 수 있습니다. Amazon EBS가 지원하는 인스턴스의 경우, 직접 인스턴스를 중지한 후 시작할 수 있으며 대부분의 경우 이 인스턴스를 새 호스트로 마이그레이션합니다. 인스턴스 저장소 기반 인스턴스(Linux 인스턴스에서만 지원됨)의 경우 인스턴스를 종료하고 교체할 수 있습니다. 인스턴스 저장소 볼륨은 일시적이며 인스턴스가 중지되면 모든 데이터가 손실됩니다.

다음은 시스템 상태 확인의 실패 원인이 되는 몇 가지 문제의 예입니다.
+ 네트워크 연결 끊김
+ 시스템 전원 중단
+ 물리적 호스트의 소프트웨어 문제
+ 네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제

시스템 상태 검사에 실패하면 [StatusCheckFailed\$1System](viewing_metrics_with_cloudwatch.md#status-check-metrics) 지표가 증가합니다.

**베어 메탈 인스턴스**  
베어 메탈 인스턴스의 운영 체제에서 다시 시작하는 경우 시스템 상태 확인에서 일시적으로 실패 상태를 반환할 수 있습니다. 인스턴스를 사용할 수 있게 되면 시스템 상태 확인에서 통과 상태를 반환해야 합니다.

### 인스턴스 상태 확인
<a name="instance-status-checks"></a>

인스턴스 상태 검사에서는 개별 인스턴스에 대한 소프트웨어 및 네트워크 연결을 모니터링합니다. Amazon EC2는 네트워크 인터페이스(NIC)로 주소 확인 프로토콜(ARP)을 전송하여 인스턴스의 상태를 확인합니다. 이러한 확인에서는 복구 시 사용자의 개입이 필요한 문제를 찾아냅니다. 인스턴스 상태 확인이 실패할 경우에는 일반적으로 사용자가 인스턴스를 재부팅하거나 인스턴스 구성을 변경하는 등의 방법으로 문제를 직접 해결해야 합니다.

**참고**  
네트워크 구성에 `systemd-networkd`를 사용하는 최신 Linux 배포판은 이전 배포판과 다르게 상태 확인을 보고할 수 있습니다. 이러한 유형의 네트워크는 부팅 프로세스 중에 더 일찍 시작되어 인스턴스 상태에 영향을 미칠 수 있는 다른 시작 작업보다 먼저 완료될 수 있습니다. 네트워크 가용성에 따라 달라지는 상태 확인은 다른 태스크가 완료되기 전에 정상 상태를 보고할 수 있습니다.

다음은 인스턴스 상태 확인의 실패 원인이 되는 몇 가지 문제의 예입니다.
+ 시스템 상태 확인 실패
+ 잘못된 네트워킹 또는 스타트업 구성
+ 메모리가 모두 사용됨
+ 파일 시스템 손상
+ 호환되지 않는 커널
+ 재부팅 중에 인스턴스 상태 확인은 인스턴스를 다시 사용할 수 있을 때까지 실패를 보고합니다.

인스턴스 상태 검사에 실패하면 [StatusCheckFailed\$1Instance](viewing_metrics_with_cloudwatch.md#status-check-metrics) 지표가 증가합니다.

**베어 메탈 인스턴스**  
베어 메탈 인스턴스의 운영 체제에서 다시 시작하는 경우 인스턴스 상태 확인에서 일시적으로 실패 상태를 반환할 수 있습니다. 인스턴스를 사용할 수 있게 되면 인스턴스 상태 확인에서 통과 상태를 반환해야 합니다.

### 연결된 EBS 상태 확인
<a name="attached-ebs-status-checks"></a>

연결된 EBS 상태 확인은 인스턴스에 연결된 Amazon EBS 볼륨이 연결 가능하고 I/O 작업을 완료할 수 있는지 모니터링합니다. `StatusCheckFailed_AttachedEBS` 지표는 인스턴스에 연결된 하나 이상의 EBS 볼륨이 I/O 작업을 완료할 수 없는 경우 손상을 나타내는 이진 값입니다. 이러한 상태 확인은 컴퓨팅 또는 Amazon EBS 인프라의 근본적인 문제를 감지합니다. 연결된 EBS 상태 확인 지표가 실패하면 AWS에서 문제가 해결될 때까지 기다리거나 영향을 받는 볼륨의 교체 또는 인스턴스 중지 후 재시작 등의 조치를 취할 수 있습니다.

다음은 연결된 EBS 상태 확인의 실패 원인이 되는 몇 가지 문제의 예입니다.
+ EBS 볼륨의 기반이 되는 스토리지 하위 시스템의 하드웨어 또는 소프트웨어 문제
+ EBS 볼륨의 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제
+ 인스턴스와 EBS 볼륨 간의 연결 문제

`StatusCheckFailed_AttachedEBS` 지표를 사용하여 워크로드의 복원성을 개선할 수 있습니다. 이 지표를 사용하여 상태 확인 결과를 기준으로 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다. 예를 들어, 장기간의 영향이 감지되면 보조 인스턴스 또는 가용 영역으로 장애 조치할 수 있습니다. 아니면 EBS CloudWatch 지표를 사용하여 연결된 각 볼륨의 I/O 성능을 모니터링하여 손상된 볼륨을 감지하고 교체할 수 있습니다. 워크로드가 인스턴스에 연결된 EBS 볼륨으로 I/O를 제공하지 않고, 연결된 EBS 상태 확인에서 장애가 표시되는 경우 인스턴스를 중지하고 시작하여 새 호스트로 이동할 수 있습니다. 이렇게 하면 EBS 볼륨의 연결성에 영향을 미치는 기본적인 호스트 문제를 해결할 수 있습니다. 자세한 내용은 [Amazon CloudWatch metrics for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html)를 참조하세요.

또한 연결된 EBS 상태 확인 실패를 탐지하도록 Amazon EC2 Auto Scaling 그룹을 구성한 다음, 영향을 받는 인스턴스를 새 인스턴스로 대체할 수 있습니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [손상된 Amazon EBS 볼륨이 있는 Auto Scaling 인스턴스 모니터링 및 교체](https://docs.aws.amazon.com/autoscaling/ec2/userguide/monitor-and-replace-instances-with-impaired-ebs-volumes.html)를 참조하세요.

**참고**  
연결된 EBS 상태 확인 지표는 Nitro 인스턴스에만 사용할 수 있습니다.

# Amazon EC2 인스턴스 상태 확인 보기
<a name="viewing_status"></a>

인스턴스 상태 확인이 실패할 경우에는 일반적으로 사용자가 인스턴스를 재부팅하거나 인스턴스 구성을 변경하는 등의 방법으로 문제를 직접 해결해야 합니다. 시스템 또는 인스턴스 상태 확인 실패 문제를 직접 해결하려면 [상태 확인에 실패한 Amazon EC2 Linux 인스턴스 문제 해결](TroubleshootingInstances.md) 섹션을 참조하세요.

------
#### [ Console ]

**상태 확인 보기**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. **인스턴스(Instances)** 페이지의 **상태 검사(Status check)** 열에는 각 인스턴스의 운영 상태가 목록으로 표시됩니다.

1. 특정 인스턴스의 상태를 보려면 인스턴스를 선택하고 **상태 및 경보** 탭을 선택합니다.

1. 상태 확인에 대한 CloudWatch 지표를 검토하려면 **상태 및 경보** 탭에서 **지표**를 확장하여 다음 지표에 대한 그래프를 확인합니다.
   + **시스템에서 상태 확인 실패**
   + **인스턴스에서 상태 확인 실패**
   + **연결된 EBS의 상태 확인 실패**

   자세한 내용은 [상태 확인 지표](viewing_metrics_with_cloudwatch.md#status-check-metrics) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**상태 확인 보기**  
[describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) 명령을 사용합니다.

**예**: 실행 중인 모든 인스턴스의 상태 가져오기

```
aws ec2 describe-instance-status
```

**예**: 모든 인스턴스의 상태 가져오기

```
aws ec2 describe-instance-status --include-all-instances
```

**예**: 실행 중인 단일 인스턴스의 상태 가져오기

```
aws ec2 describe-instance-status --instance-ids i-1234567890abcdef0
```

**예**: 상태가 `impaired`인 모든 인스턴스 가져오기

```
aws ec2 describe-instance-status \
--filters Name=instance-status.status,Values=impaired
```

------
#### [ PowerShell ]

**상태 확인 보기**  
[Get-EC2InstanceStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceStatus.html) 명령을 사용합니다.

**예**: 실행 중인 모든 인스턴스의 상태 가져오기

```
Get-EC2InstanceStatus
```

**예**: 모든 인스턴스의 상태 가져오기

```
Get-EC2InstanceStatus -IncludeAllInstance $true
```

**예**: 실행 중인 단일 인스턴스의 상태 가져오기

```
Get-EC2InstanceStatus -InstanceId i-1234567890abcdef0
```

**예**: 상태가 `impaired`인 모든 인스턴스 가져오기

```
Get-EC2InstanceStatus \
-Filter @{Name="instance-status.status"; Values="impaired"}
```

------

# 상태 확인에 실패한 Amazon EC2 인스턴스에 대한 CloudWatch 경보 생성
<a name="creating_status_check_alarms"></a>

[상태 확인 지표](viewing_metrics_with_cloudwatch.md#status-check-metrics)를 사용하여 인스턴스에 실패한 상태 확인이 있을 때 알리는 CloudWatch 경보를 생성할 수 있습니다.

누락된 지표 데이터 요소가 있는 경우 상태 검사 및 상태 검사 경보가 일시적으로 *데이터 부족* 상태로 전환될 수 있습니다. 드물기는 하지만, 지표 보고 시스템이 중단되면 인스턴스가 정상인 경우에도 이 문제가 발생할 수 있습니다. 상태 확인 실패 또는 경보 위반 대신 이 상태를 누락된 데이터로 처리하는 것이 좋습니다. 응답으로 인스턴스에서 중지, 종료, 재부팅 또는 복구 작업을 수행할 때 특히 중요합니다.

------
#### [ Console ]

이 예제는 인스턴스가 상태 확인에 실패할 때 알림을 보내는 경보를 구성합니다. 선택적으로 인스턴스를 중지, 종료 또는 복구할 수 있습니다.

**상태 확인 경보를 생성하는 방법**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고, **상태 검사(Status Checks)** 탭을 선택한 후 **작업(Actions)**, **상태 검사 경보 생성(Create status check alarm)**을 선택합니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지의 [**경보 추가 또는 편집(Add or edit alarm)**]에서 [**경보 생성(Create an alarm)**]을 선택합니다.

1. **경보 알림(Alarm notification)**에서 토글을 켜서 Amazon Simple Notification Service(Amazon SNS) 알림을 구성합니다. 기존 Amazon SNS 주제를 선택하거나 이름을 입력하여 새 주제를 생성합니다.

   수신자 목록에 이메일 주소를 추가하거나 새 주제를 생성하는 경우 Amazon SNS에서는 각 새 주소로 확인 이메일을 보냅니다. 각 수신자는 이메일에서 확인 링크를 선택해야 합니다. 확인된 주소만 경보 알림을 수신합니다.

1. **경보 작업(Alarm action)**에서 토글을 켜서 경보가 트리거될 때 수행할 작업을 지정합니다. 작업을 선택합니다.

1. [**경보 임곗값(Alarm thresholds)**]에서 경보에 대한 지표와 기준을 선택합니다.

   **샘플 그룹화 기준**의 기본 설정(**Average**)과 **샘플링할 데이터 유형**의 기본 설정(**Status check failed:either**)을 그대로 두어도 되며, 필요에 따라 원하는 설정으로 변경할 수도 있습니다.

   [**연속 기간(Consecutive Period)**]에서 평가 주기의 개수를 설정하고 [**기간(Period)**]에서 경보가 실행되고 이메일 전송이 이루어지기 전에 적용할 평가 주기의 시간 단위를 설정합니다.

1. (선택 사항) **샘플 지표 데이터**의 경우 **대시보드에 추가**를 선택합니다.

1. **Create**를 선택합니다.

인스턴스 상태 경보를 변경해야 하는 경우 편집할 수 있습니다.

**상태 확인 경보를 편집하는 방법**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업**, **모니터링**, **CloudWatch 경보 관리**를 차례로 선택합니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지의 [**경보 추가 또는 편집(Add or edit alarm)**]에서 [**경보 편집(Edit an alarm)**]을 선택합니다.

1. [**경보 검색(Search for alarm)**]에서 경보를 선택합니다.

1. 변경을 마치면 [**업데이트(Update)**]를 선택합니다.

------
#### [ AWS CLI ]

다음 예제에서는 인스턴스가 2번 이상 연속으로 인스턴스 검사 또는 시스템 상태 확인에 실패하면 경보가 SNS 주제에 알림을 게시합니다. 사용된 CloudWatch 지표는 `StatusCheckFailed`입니다.

**상태 확인 경보를 생성하는 방법**

1. 기존의 SNS 주제를 선택하거나 새로운 주제를 생성합니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*에서 [AWS CLI에서 Amazon SNS 액세스](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-sns.html)를 참조하세요.

1. 아래와 같이 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 명령을 사용하여 Amazon EC2에 유효한 Amazon CloudWatch 지표를 확인합니다.

   ```
   aws cloudwatch list-metrics --namespace AWS/EC2
   ```

1. 아래와 같이 [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) 명령을 사용하여 경보를 생성합니다.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name StatusCheckFailed-Alarm-for-i-1234567890abcdef0 \
       --metric-name StatusCheckFailed \
       --namespace AWS/EC2 \
       --statistic Maximum \
       --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
       --unit Count \
       --period 300 \
       --evaluation-periods 2 \
       --threshold 1 \
       --comparison-operator GreaterThanOrEqualToThreshold \
       --alarm-actions arn:aws:sns:us-west-2:111122223333:my-sns-topic
   ```

   기간은 Amazon CloudWatch 지표가 수집되는 시간 프레임(초)입니다. 이 예제에서는 60초와 5분을 곱셈하여 300초를 사용합니다. 평가 기간은 지표 값을 임곗값과 비교해야 하는 연속 기간의 수입니다. 이 예제에서는 2를 사용합니다. 경보 작업은 경보가 트리거될 때 수행할 작업입니다.

------
#### [ PowerShell ]

**상태 확인 경보를 생성하는 방법**  
다음과 같이 [Write-CWMetricAlarm](https://docs.aws.amazon.com/powershell/latest/reference/items/Write-CWMetricAlarm.html) cmdlet을 사용하여 인스턴스가 2번 이상 연속으로 상태 확인에 실패할 때 SNS 주제에 알림을 게시합니다.

```
Write-CWMetricAlarm `
    -AlarmName "StatusCheckFailed-Alarm-for-i-1234567890abcdef0" `
    -MetricName "StatusCheckFailed" `
    -Namespace "AWS/EC2" `
    -Statistic "Maximum" `
    -Dimension @{Name="InstanceId"; Values="i-1234567890abcdef0"} `
    -Unit "Count" `
    -Period 300 `
    -EvaluationPeriod 2 `
    -Threshold 1 `
    -ComparisonOperator "GreaterThanOrEqualToThreshold" `
    -AlarmAction "arn:aws:sns:us-west-2:111122223333:my-sns-topic"
```

기간은 Amazon CloudWatch 지표가 수집되는 시간 프레임(초)입니다. 이 예제에서는 60초와 5분을 곱셈하여 300초를 사용합니다. 평가 기간은 지표 값을 임곗값과 비교해야 하는 연속 기간의 수입니다. 이 예제에서는 2를 사용합니다. 경보 작업은 경보가 트리거될 때 수행할 작업입니다.

------

# 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라는 제목의 이메일 메시지를 받게 됩니다. 이메일 본문에는 이벤트 데이터가 포함되어 있습니다.

# Amazon EC2 인스턴스의 예약된 이벤트
<a name="monitoring-instances-status-check_sched"></a>

인프라 신뢰성 및 성능을 보장하기 위해 AWS는 인스턴스를 재부팅, 중지 및 사용 중지하도록 이벤트를 예약할 수 있습니다. 이러한 이벤트들은 자주 발생하지 않습니다.

인스턴스 중 하나가 예약된 이벤트의 영향을 받는 경우 AWS는 AWS 계정과 연결된 이메일 주소를 사용하여 이메일로 미리 알립니다. 이메일은 시작 날짜 및 종료 날짜 등 이벤트에 대한 세부 정보를 제공합니다. 이벤트 유형에 따라 이벤트 타이밍을 제어하는 작업을 수행할 수 있습니다. AWS는 Amazon EventBridge를 사용하여 모니터링 및 관리할 수 있는 AWS Health 이벤트도 보냅니다. 자세한 내용은 [Monitoring events in AWS Health with Amazon EventBridge](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html)를 참조하세요.

예약된 이벤트는 AWS에서 관리합니다. 인스턴스에 대한 이벤트를 예약할 수 없습니다. 그러나 다음을 수행할 수 있습니다.
+ 인스턴스에 대해 예약된 이벤트를 확인합니다.
+ 이메일 알림에서 태그를 포함하거나 제거하도록 예약된 이벤트 알림을 사용자 지정합니다.
+ 예약된 특정 이벤트를 다시 예약합니다.
+ 예약된 이벤트에 대한 사용자 지정 이벤트 기간을 생성합니다.
+ 인스턴스가 재부팅, 중지 또는 사용 중지되도록 예약된 경우 관련 작업을 수행합니다.

예약된 이벤트 알림을 수신하는지 확인하려면 [계정](https://console.aws.amazon.com/billing/home?#/account) 페이지에서 연락처 정보를 확인합니다.

**참고**  
인스턴스가 예약된 이벤트의 영향을 받고 Auto Scaling 그룹의 일부인 경우 Amazon EC2 Auto Scaling은 결국 상태 확인의 일부로 인스턴스를 대체하며, 추가 작업이 필요하지 않습니다. Amazon EC2 Auto Scaling이 수행하는 상태 확인에 대한 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [Auto Scaling 그룹의 인스턴스에 대한 상태 확인](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html)을 참조하세요.

## 예약된 이벤트 유형
<a name="types-of-scheduled-events"></a>

Amazon EC2는 예약된 시간에 이벤트가 발생하는 인스턴스에 대해 다음과 같은 유형의 예약된 이벤트를 생성할 수 있습니다.


| 이벤트 유형 | 이벤트 코드 | 이벤트 작업 | 
| --- | --- | --- | 
| 인스턴스 중지 | instance-stop | 예약된 시간에 인스턴스가 중지됩니다. 인스턴스를 다시 시작하면 새 호스트로 마이그레이션됩니다. Amazon EBS 루트 볼륨이 있는 인스턴스에만 적용됩니다. | 
| 인스턴스 만료 | instance-retirement | 예약된 시간에 Amazon EBS 루트 볼륨이 있는 경우 인스턴스가 중지되고, 인스턴스 저장소 루트 볼륨이 있는 경우 인스턴스가 종료됩니다. | 
| 인스턴스 재부팅 | instance-reboot | 예약된 시간에 인스턴스가 재부팅됩니다. 인스턴스는 호스트에 남아 있으며 재부팅 중에 호스트는 유지 관리 상태입니다. 이를 인플레이스 재부팅이라고 합니다. | 
| 시스템 재부팅 | system-reboot | 예약된 시간에 인스턴스는 재부팅되고 새 호스트로 마이그레이션됩니다. 이를 재부팅 마이그레이션이라고 합니다. | 
| 시스템 유지 관리 | system-maintenance | 예약된 시간에 네트워크 또는 전력 유지 관리로 인스턴스가 일시적인 영향을 받을 수 있습니다. | 

## 이벤트 유형 결정
<a name="scheduled-event-type"></a>

인스턴스에 대해 예약된 이벤트 유형을 확인할 수 있습니다.

------
#### [ Console ]

**이벤트 유형을 확인하는 방법**

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

1. 탐색 창에서 [**이벤트(Events)**]를 선택합니다.

1. 표에서 **이벤트 유형** 열에 이벤트 코드가 나타납니다.

1. 인스턴스의 이벤트만 표시하도록 표를 필터링하려면 검색 필드의 필터 목록에서 **리소스 유형: 인스턴스**를 선택하세요.

------
#### [ AWS CLI ]

**인스턴스의 이벤트 유형을 확인하려면**  
[describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) 명령을 사용합니다. 인스턴스에 연결된 예약된 이벤트가 있는 경우 출력은 예약된 이벤트에 대한 정보를 제공합니다.

```
aws ec2 describe-instance-status \
    --instance-id i-1234567890abcdef0 \
    --query InstanceStatuses[].Events
```

다음은 예제 출력입니다. 예약된 이벤트 코드는 `system-reboot`입니다.

```
[
    "Events": [
        {
            "InstanceEventId": "instance-event-0d59937288b749b32",
            "Code": "system-reboot",
            "Description": "The instance is scheduled for a reboot",
            "NotAfter": "2020-03-14T22:00:00.000Z",
            "NotBefore": "2020-03-14T20:00:00.000Z",
            "NotBeforeDeadline": "2020-04-05T11:00:00.000Z"
        }
    ]
]
```

------
#### [ PowerShell ]

**인스턴스의 이벤트 유형을 확인하려면**  
[Get-EC2InstanceStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceStatus.html) cmdlet을 사용합니다. 인스턴스에 연결된 예약된 이벤트가 있는 경우 출력은 예약된 이벤트에 대한 정보를 제공합니다.

```
(Get-EC2InstanceStatus `
    -InstanceId i-1234567890abcdef0).Events
```

다음은 예제 출력입니다. 예약된 이벤트 코드는 `system-reboot`입니다.

```
Code              : system-reboot
Description       : The instance is scheduled for a reboot
InstanceEventId   : instance-event-0d59937288b749b32
NotAfter          : 2020-03-14T22:00:00.000Z
NotBefore         : 2020-03-14T20:00:00.000Z
NotBeforeDeadline : 2020-04-05T11:00:00.000Z
```

------

**Topics**
+ [

## 예약된 이벤트 유형
](#types-of-scheduled-events)
+ [

## 이벤트 유형 결정
](#scheduled-event-type)
+ [

# 중지 또는 사용 중지하도록 Amazon EC2 인스턴스 관리
](schedevents_actions_retire.md)
+ [

# 재부팅하도록 예약된 Amazon EC2 인스턴스 관리
](schedevents_actions_reboot.md)
+ [

# 유지 관리를 위해 예약된 Amazon EC2 인스턴스 관리
](schedevents_actions_maintenance.md)
+ [

# Amazon EC2 인스턴스에 영향을 미치는 예약된 이벤트 보기
](viewing_scheduled_events.md)
+ [

# EC2 인스턴스에 대한 예약된 이벤트 알림 사용자 지정
](customizing_scheduled_event_notifications.md)
+ [

# EC2 인스턴스에 대해 예약된 이벤트 다시 예약
](reschedule-event.md)
+ [

# Amazon EC2 인스턴스에 영향을 미치는 예약된 이벤트에 대한 사용자 지정 이벤트 기간 생성
](event-windows.md)

# 중지 또는 사용 중지하도록 Amazon EC2 인스턴스 관리
<a name="schedevents_actions_retire"></a>

AWS가 인스턴스의 기본 호스트에서 복구 불가능한 결함을 감지하면 인스턴스의 루트 볼륨 유형에 따라 인스턴스의 중지 또는 종료를 예약합니다.
+ 인스턴스에 Amazon EBS 루트 볼륨이 있는 경우 인스턴스 중지가 예약됩니다.
+ 인스턴스에 인스턴스 저장소 루트 볼륨이 있는 경우 인스턴스 종료가 예약됩니다.

자세한 내용은 [인스턴스 만료](instance-retirement.md) 섹션을 참조하세요.

**중요**  
인스턴스가 중단되거나 최대 절전 모드로 전환되거나 종료되면 인스턴스 저장소 볼륨에 저장되었던 데이터는 모두 삭제됩니다. 여기에는 EBS 루트 볼륨이 있는 인스턴스에 연결된 인스턴스 저장소 볼륨도 포함됩니다. 따라서 인스턴스 저장소 볼륨에서 나중에 필요한 데이터는 인스턴스가 중단되거나 최대 절전 모드로 전환되거나 종료되기 전에 반드시 저장해야 합니다.

## 수행할 수 있는 작업
<a name="actions-you-can-take-for-scheduled-stop-or-retire-event"></a>

**EBS 루트 볼륨이 있는 인스턴스에서 수행할 수 있는 작업**

예약된 `instance-stop` 이벤트 알림을 수신하면 다음 작업 중 하나를 수행할 수 있습니다.
+ **예약된 중지 대기:** 예약된 유지 관리 기간에 인스턴스가 중지될 때까지 기다릴 수 있습니다.
+ **수동 중지 및 시작 수행:** 사용자에게 편한 시간에 직접 인스턴스를 중지하고 시작할 수 있으며, 이때 인스턴스는 새 호스트로 마이그레이션됩니다. 이는 인스턴스 재부팅과 동일하지 않습니다. 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 섹션을 참조하세요.
+ **중지 및 시작 자동화:** 예약된 `instance-stop` 이벤트에 대한 응답으로 즉시 중지 및 시작을 자동화할 수 있습니다. 자세한 내용은 *AWS Health 사용 설명서*의 [AWS Health에서 이벤트에 대한 응답으로 EC2 인스턴스에서 자동으로 작업 실행](https://docs.aws.amazon.com/health/latest/ug/automating-instance-actions.html)을 참조하세요.

**인스턴스 저장소 루트 볼륨이 있는 인스턴스에서 수행할 수 있는 작업**

예약된 `system-retirement` 이벤트 알림을 수신한 경우 데이터를 유지하려면 다음 작업을 수행할 수 있습니다.

1. 최신 AMI에서 대체 인스턴스를 시작하세요.

1. 인스턴스 종료를 예약하기 전에 필요한 모든 데이터를 대체 인스턴스로 마이그레이션하세요.

1. 원본 인스턴스를 종료하거나 예약한 대로 종료될 때까지 기다리세요.

수행할 수 있는 작업에 대한 자세한 내용은 [인스턴스 만료](instance-retirement.md) 섹션을 참조하세요.

# 재부팅하도록 예약된 Amazon EC2 인스턴스 관리
<a name="schedevents_actions_reboot"></a>

AWS가 업데이트 설치나 기본 호스트 유지 관리 등의 작업을 수행해야 하는 경우 인스턴스 재부팅을 예약할 수 있습니다. 예약된 재부팅 중에 인스턴스는 다음과 같이 이벤트에 따라 동일한 호스트에서 유지되거나 다른 호스트로 마이그레이션됩니다.
+ `instance-reboot` 이벤트를 트리거합니다
  + 재부팅하는 동안 인스턴스는 호스트에 남아 있습니다. 이를 *인플레이스 재부팅*이라고 합니다.
  + 현재 호스트가 유지 관리를 수행합니다.
  + 일반적으로 몇 초 만에 완료됩니다.
+ `system-reboot` 이벤트를 트리거합니다
  + 재부팅 중에 인스턴스는 새 호스트로 마이그레이션됩니다. 이를 *재부팅 마이그레이션*이라고 합니다.
  + 일반적으로 몇 분 안에 완료됩니다.

인스턴스에 대해 예약된 이벤트 유형을 확인하려면 [이벤트 유형 결정](monitoring-instances-status-check_sched.md#scheduled-event-type) 섹션을 참조하세요.

## 수행할 수 있는 작업
<a name="actions-you-can-take-for-scheduled-reboot-event"></a>

예약된 `instance-reboot` 또는 `system-reboot` 이벤트 알림을 수신하면 다음 작업 중 하나를 수행할 수 있습니다.
+ **예약된 재부팅 대기:** 예약된 유지 관리 기간에 인스턴스 재부팅이 수행될 때까지 기다릴 수 있습니다.
+ **재부팅 다시 예약:** 사용자에게 편한 날짜 및 시간으로 인스턴스 재부팅을 [다시 예약](reschedule-event.md)할 수 있습니다.
+ **사용자 시작 재부팅 수행:** 사용자에게 편한 시간에 인스턴스를 직접 수동으로 [재부팅](ec2-instance-reboot.md)할 수 있습니다. 그러나 결과는 이벤트에 따라 달라집니다.
  + `instance-reboot` 이벤트 - 인스턴스가 현재 하드웨어에 남아 있고(인플레이스 재부팅), 호스트 유지 관리가 수행되지 않으며, 이벤트가 열린 상태로 유지됩니다.
  + `system-reboot` 이벤트를 트리거합니다
    + 인스턴스에서 재부팅 마이그레이션이 활성화된 경우 사용자 시작 재부팅은 인스턴스를 새 하드웨어로 마이그레이션하려고 시도합니다. 성공하면 이벤트가 지워집니다. 실패하면 인플레이스 재부팅이 발생하고 이벤트는 예약된 상태로 유지됩니다.
    + 인스턴스에서 재부팅 마이그레이션이 비활성화된 경우 사용자 시작 재부팅은 인스턴스를 동일한 하드웨어에 유지하고(인플레이스 재부팅), 호스트 유지 관리가 수행되지 않으며, 이벤트는 예약된 상태로 유지됩니다. 예약된 이벤트가 최종적으로 발생하면 AWS는 인스턴스를 새 하드웨어로 이동합니다(재부팅 마이그레이션).

**AWS에서 인스턴스를 재부팅한 후**

AWS에서 인스턴스를 재부팅한 후 다음이 적용됩니다.
+ 예약된 이벤트가 지워집니다.
+ 이벤트 설명이 업데이트됩니다.
+ `instance-reboot` 이벤트의 경우:
  + 기본 호스트의 유지 관리가 완료됩니다.
+ `system-reboot` 이벤트의 경우:
  + 인스턴스가 새 호스트로 이동합니다.
  + 인스턴스는 IP 주소 및 DNS 이름을 유지합니다.
  + 로컬 인스턴스 저장소 볼륨의 모든 데이터는 보존됩니다.
+ 인스턴스가 완전히 부팅된 후에 인스턴스를 사용할 수 있습니다.

**대체 옵션**

사용자 시작 재부팅의 경우 재부팅 이벤트를 다시 예약하거나 재부팅 마이그레이션을 활성화할 수 없지만 예약된 유지 관리 기간에 정상 작업을 유지하려면 다음을 수행할 수 있습니다.
+ **EBS 루트 볼륨이 있는 인스턴스의 경우**
  + 수동으로 인스턴스를 중지한 후 시작해 새 호스트로 마이그레이션합니다. 이는 인스턴스 수동 재부팅(인스턴스가 동일한 호스트에서 유지됨)과 동일하지 않습니다.
  + 선택적으로 예약된 재부팅 이벤트에 대한 응답으로 즉시 인스턴스 중지 및 시작을 자동화합니다. 자세한 내용은 *AWS Health 사용 설명서*의 [AWS Health에서 이벤트에 대한 응답으로 EC2 인스턴스에서 자동으로 작업 실행](https://docs.aws.amazon.com/health/latest/ug/automating-instance-actions.html)을 참조하세요.
**중요**  
인스턴스가 중지되면 인스턴스 저장소 볼륨의 데이터가 유실됩니다. 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 섹션을 참조하세요.
+ **인스턴스 저장소 루트 볼륨이 있는 인스턴스의 경우**

  1. 최신 AMI에서 대체 인스턴스를 시작하세요.

  1. 예약된 유지 관리 기간 전에 필요한 모든 데이터를 대체 인스턴스로 마이그레이션하세요.

  1. 원래 인스턴스를 종료하세요.

## 재부팅 마이그레이션 활성화 또는 비활성화
<a name="reboot-migration"></a>

인스턴스가 `system-reboot` 이벤트에 예약되면 이벤트 전에 인스턴스를 재부팅할 수 있습니다. 사용자 시작 재부팅의 결과는 인스턴스의 재부팅 마이그레이션 설정에 따라 달라집니다.
+ 활성화됨 - 사용자 시작 재부팅이 인스턴스를 새 하드웨어로 마이그레이션하려고 시도합니다(재부팅 마이그레이션). 성공하면 이벤트가 지워집니다. 실패하면 인플레이스 재부팅이 발생하고 이벤트는 예약된 상태로 유지됩니다. 활성화한 경우에도 인스턴스가 [재부팅 마이그레이션 요구 사항](#requirements-for-reboot-migration)을 충족하는 경우에만 재부팅 마이그레이션이 발생할 수 있습니다.
+ 비활성화됨 - 사용자 시작 재부팅은 인스턴스를 동일한 하드웨어에 유지하고(인플레이스 재부팅), 호스트 유지 관리가 수행되지 않으며, 이벤트는 예약된 상태로 유지됩니다. 예약된 이벤트가 최종적으로 발생하면 AWS는 인스턴스를 새 하드웨어로 이동합니다(재부팅 마이그레이션).

마이그레이션을 포함한 재부팅은 인플레이스 재부팅보다 오래 걸립니다.
+ 인플레이스 재부팅: 약 30초
+ 마이그레이션을 포함한 재부팅: 몇 분

**참고**  
사용자 시작 재부팅 마이그레이션의 경우 `system-reboot` 이벤트 알림을 수신하는 인스턴스가 기본적으로 활성화됩니다.

### 재부팅 마이그레이션 활성화 요구 사항
<a name="requirements-for-reboot-migration"></a>

다음 기준을 충족하는 인스턴스에서 재부팅 마이그레이션을 활성화할 수 있습니다.

**인스턴스 유형**  
모든 인스턴스 유형이 재부팅 마이그레이션 활성화를 지원하는 것은 아닙니다. 재부팅 마이그레이션 활성화를 지원하는 인스턴스 유형을 볼 수 있습니다.  

**재부팅 마이그레이션 활성화를 지원하는 인스턴스 유형을 보려면**

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

1. 왼쪽 탐색 창에서 **인스턴스 유형(Instance Types)**을 선택합니다.

1. 필터 표시줄에 **Reboot Migration support: supported**를 입력합니다. 문자를 입력할 때 필터 이름이 나타나면 해당 필터 이름을 선택할 수 있습니다.

   **인스턴스 유형** 테이블에 재부팅 마이그레이션 활성화를 지원하는 모든 인스턴스 유형이 표시됩니다.
**재부팅 마이그레이션 활성화를 지원하는 인스턴스 유형을 보려면**  
[describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 명령을 `reboot-migration-support` 필터와 함께 사용합니다.

```
aws ec2 describe-instance-types \
    --filters Name=reboot-migration-support,Values=supported \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```
**재부팅 마이그레이션 활성화를 지원하는 인스턴스 유형을 보려면**  
[Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) cmdlet을 `reboot-migration-support` 필터와 함께 사용합니다.

```
Get-EC2InstanceType `
    -Filter @{Name="reboot-migration-support";Values="true"} | `
    Select InstanceType | Sort-Object InstanceType
```

**Tenancy**  
+ 공유
+ Dedicated Instance
자세한 내용은 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 섹션을 참조하세요.

**제한 사항 **

다음과 같은 특성을 가진 인스턴스에는 재부팅 마이그레이션이 지원되지 **않습니다**.
+ 플랫폼: Xen 하이퍼바이저에서 기본적으로 실행되는 인스턴스
+ 인스턴스 크기: `metal` 인스턴스
+ 테넌시: 전용 호스트. 전용 호스트의 경우 [전용 호스트 자동 복구](dedicated-hosts-recovery.md)를 대신 사용합니다.
+ 스토리지: 인스턴스 저장소 볼륨이 있는 인스턴스
+ 네트워킹: Elastic Fabric Adapter를 사용하는 인스턴스
+ Auto Scaling: Auto Scaling 그룹에 포함된 인스턴스

### 재부팅 마이그레이션 활성화 또는 비활성화 단계
<a name="configure-reboot-migration-behavior"></a>

인스턴스는 `system-reboot` 이벤트를 수신하면 기본적으로 재부팅 마이그레이션이 활성화됩니다. 사용자 시작 재부팅 중에 인스턴스가 동일한 하드웨어에 유지되도록 재부팅 마이그레이션을 비활성화할 수 있습니다(인플레이스 재부팅).

`default` 구성은 지원되지 않는 인스턴스의 재부팅 마이그레이션을 활성화하지 않습니다. 자세한 내용은 [재부팅 마이그레이션 활성화 요구 사항](#requirements-for-reboot-migration) 섹션을 참조하세요.

실행 중이거나 중지된 인스턴스에서 재부팅 마이그레이션을 비활성화하거나 활성화할 수 있습니다.

------
#### [ AWS CLI ]

**재부팅 마이그레이션을 비활성화하려면**  
[modify-instance-maintenance-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-maintenance-options.html) 명령을 사용하고 `--reboot-migration` 파라미터를 `disabled`로 설정합니다.

```
aws ec2 modify-instance-maintenance-options \ 
    --instance-id i-0abcdef1234567890 \ 
    --reboot-migration disabled
```

**재부팅 마이그레이션을 활성화하려면**  
[modify-instance-maintenance-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-maintenance-options.html) 명령을 사용하고 `--reboot-migration` 파라미터를 `default`로 설정합니다.

```
aws ec2 modify-instance-maintenance-options \ 
    --instance-id i-0abcdef1234567890 \ 
    --reboot-migration default
```

------
#### [ PowerShell ]

**재부팅 마이그레이션을 비활성화하려면**  
[Edit-EC2InstanceMaintenanceOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMaintenanceOption.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceMaintenanceOption `
    -InstanceId  `
    -RebootMigration Disabled
```

**재부팅 마이그레이션을 활성화하려면**  
[Edit-EC2InstanceMaintenanceOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMaintenanceOption.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceMaintenanceOption `
    -InstanceId i-1234567890abcdef0 `
    -RebootMigration Enabled
```

------

# 유지 관리를 위해 예약된 Amazon EC2 인스턴스 관리
<a name="schedevents_actions_maintenance"></a>

AWS에서 인스턴스의 기본 호스트를 유지 관리해야 하는 경우 인스턴스의 유지 관리가 예약됩니다. 유지 관리 유형은 네트워크 유지 관리와 전력 유지 관리, 두 가지입니다.
+ 네트워크 유지 관리 시에는 예약된 인스턴스의 네트워크 연결이 잠시 동안 끊어집니다. 유지 관리가 완료되면 인스턴스의 네트워크 연결이 평소처럼 복구됩니다.
+ 전력 유지 관리 시에는 예약된 인스턴스가 잠시 동안 오프라인 상태로 전환되었다가 재부팅됩니다. 재부팅 이후에도 인스턴스의 모든 구성 설정은 그대로 유지됩니다.

약 몇 분 후에 인스턴스가 재부팅되면 애플리케이션이 정상적으로 작동하는지 확인하도록 합니다. 이때 인스턴스에 더 이상 예약된 이벤트가 없거나, 있는 경우 예약된 이벤트가 **[완료]**로 표시됩니다. 인스턴스 상태 설명을 새로 고치는 데 최대 1시간이 걸리는 경우도 있습니다. 완료된 유지 관리 이벤트는 Amazon EC2 콘솔 대시보드에 일주일까지 표시됩니다.

## 수행할 수 있는 작업
<a name="actions-you-can-take-for-scheduled-maintenance-event"></a>

**EBS 루트 볼륨이 있는 인스턴스에서 수행할 수 있는 작업**

`system-maintenance` 이벤트 알림을 수신하면 다음 작업 중 하나를 수행할 수 있습니다.
+ **예약된 유지 관리 대기:** 유지 관리가 예약된 대로 수행될 때까지 기다릴 수 있습니다.
+ **수동 중지 및 시작 수행:** 사용자가 인스턴스를 중지하고 시작할 수 있으며, 이때 인스턴스는 새 호스트로 마이그레이션됩니다. 이는 인스턴스 재부팅과 동일하지 않습니다. 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 섹션을 참조하세요.
+ **중지 및 시작 자동화:** 예약된 유지 관리 이벤트에 대한 응답으로 즉시 중지 및 시작을 자동화할 수 있습니다. 자세한 내용은 *AWS Health 사용 설명서*의 [AWS Health에서 이벤트에 대한 응답으로 EC2 인스턴스에서 자동으로 작업 실행](https://docs.aws.amazon.com/health/latest/ug/automating-instance-actions.html)을 참조하세요.

**인스턴스 저장소 루트 볼륨이 있는 인스턴스에서 수행할 수 있는 작업**

`system-maintenance` 이벤트 알림을 수신하면 다음 작업 중 하나를 수행할 수 있습니다.
+ **예약된 유지 관리 대기:** 유지 관리가 예약된 대로 수행될 때까지 기다릴 수 있습니다.
+ **대체 인스턴스 시작:** 예약된 유지 관리 기간에 정상 작업을 유지하는 방법:

  1. 최신 AMI에서 대체 인스턴스를 시작하세요.

  1. 예약된 유지 관리 기간 전에 필요한 모든 데이터를 대체 인스턴스로 마이그레이션하세요.

  1. 원래 인스턴스를 종료하세요.

# Amazon EC2 인스턴스에 영향을 미치는 예약된 이벤트 보기
<a name="viewing_scheduled_events"></a>

예약된 이벤트에 대한 알림 메시지를 이메일로 받는 것 외에도, 예약된 이벤트를 확인할 수 있습니다.

------
#### [ Console ]

**인스턴스에 예약된 이벤트를 확인하는 방법**

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

1. 대시보드에 **예약된 이벤트** 아래에 연결된 이벤트가 있는 모든 리소스가 표시됩니다.  
![\[대시보드를 통한 이벤트 확인\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/dashboard-scheduled-events.png)

1. 자세한 내용은 탐색 창에서 **이벤트**를 선택하세요. 연결된 이벤트가 있는 모든 리소스가 표시됩니다. 이벤트 유형, 리소스 유형 및 가용 영역 등의 특징을 기준으로 필터링할 수 있습니다.  
![\[이벤트 페이지를 통한 이벤트 확인\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/events-instance-scheduled-stop.png)

------
#### [ AWS CLI ]

**인스턴스에 예약된 이벤트를 확인하는 방법**  
[describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) 명령을 사용합니다.

```
aws ec2 describe-instance-status \
    --instance-id i-1234567890abcdef0 \
    --query "InstanceStatuses[].Events"
```

다음 예제 출력은 재부팅 이벤트를 보여줍니다.

```
[
    "Events": [
        {
            "InstanceEventId": "instance-event-0d59937288b749b32",
            "Code": "system-reboot",
            "Description": "The instance is scheduled for a reboot",
            "NotAfter": "2019-03-15T22:00:00.000Z",
            "NotBefore": "2019-03-14T20:00:00.000Z",
            "NotBeforeDeadline": "2019-04-05T11:00:00.000Z"
         }

    ]
]
```

다음 예제 출력은 인스턴스 만료 이벤트를 표시합니다.

```
[
    "Events": [
        {
            "InstanceEventId": "instance-event-0e439355b779n26",                        
            "Code": "instance-stop",
            "Description": "The instance is running on degraded hardware",
            "NotBefore": "2015-05-23T00:00:00.000Z"
        }
    ]
]
```

------
#### [ PowerShell ]

**인스턴스에 예약된 이벤트를 확인하는 방법**  
다음 [Get-EC2InstanceStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceStatus.html) 명령을 사용합니다.

```
(Get-EC2InstanceStatus -InstanceId i-1234567890abcdef0).Events
```

다음 예제 출력은 인스턴스 만료 이벤트를 표시합니다.

```
Code         : instance-stop
Description  : The instance is running on degraded hardware
NotBefore    : 5/23/2015 12:00:00 AM
```

------
#### [ Instance metadata ]

**인스턴스 메타데이터를 사용해 인스턴스에 예약된 이벤트를 확인하는 방법**  
인스턴스 메타데이터 서비스 버전 2 또는 인스턴스 메타데이터 서비스 버전 1을 사용하여 [인스턴스 메타데이터](ec2-instance-metadata.md)에서 인스턴스에 대해 활성화된 유지 관리 이벤트 정보를 검색할 수 있습니다.

**IMDSv2**

```
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/maintenance/scheduled
```

**IMDSv1**

```
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/maintenance/scheduled
```

다음은 예약된 시스템 재부팅 이벤트에 관한 정보를 JSON 형식으로 표시하는 예제 출력입니다.

```
[ 
  {
    "NotBefore" : "21 Jan 2019 09:00:43 GMT",
    "Code" : "system-reboot",
    "Description" : "scheduled reboot",
    "EventId" : "instance-event-0d59937288b749b32",
    "NotAfter" : "21 Jan 2019 09:17:23 GMT",
    "State" : "active"
  } 
]
```

**인스턴스 메타데이터를 사용하여 인스턴스에 대해 완료되거나 취소된 이벤트 관련 이벤트 기록을 확인하는 방법**  
인스턴스 메타데이터 서비스 버전 2 또는 인스턴스 메타데이터 서비스 버전 1을 사용하여 [인스턴스 메타데이터](ec2-instance-metadata.md)에서 인스턴스에 대해 완료되거나 취소된 이벤트 관련 정보를 검색할 수 있습니다.

**IMDSv2**

```
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/maintenance/history
```

**IMDSv1**

```
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/maintenance/history
```

다음은 취소된 시스템 재부팅 이벤트와 완료된 시스템 재부팅 이벤트 관련 정보를 JSON 형식으로 표현하는 예제 출력입니다.

```
[ 
  {
    "NotBefore" : "21 Jan 2019 09:00:43 GMT",
    "Code" : "system-reboot",
    "Description" : "[Canceled] scheduled reboot",
    "EventId" : "instance-event-0d59937288b749b32",
    "NotAfter" : "21 Jan 2019 09:17:23 GMT",
    "State" : "canceled"
  }, 
  {
    "NotBefore" : "29 Jan 2019 09:00:43 GMT",
    "Code" : "system-reboot",
    "Description" : "[Completed] scheduled reboot",
    "EventId" : "instance-event-0d59937288b749b32",
    "NotAfter" : "29 Jan 2019 09:17:23 GMT",
    "State" : "completed"
  }
]
```

------
#### [ AWS Health ]

AWS Health Dashboard을(를) 사용하여 인스턴스에 영향을 줄 수 있는 이벤트에 대해 알아볼 수 있습니다. Health Dashboard는 미해결 문제, 예약된 변경, 기타 알림이라는 세 그룹으로 문제를 정리합니다. 예약된 변경 그룹에는 진행 중이거나 예정된 항목이 포함됩니다.

자세한 내용은 *AWS Health 사용 설명서*의 [AWS Health Dashboard 시작하기](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html)를 참조하세요.

------

# EC2 인스턴스에 대한 예약된 이벤트 알림 사용자 지정
<a name="customizing_scheduled_event_notifications"></a>

이메일 알림에 태그를 포함하도록 예약된 이벤트 알림을 사용자 지정할 수 있습니다. 이렇게 하면 영향을 받는 리소스(인스턴스 또는 전용 호스트)를 더 쉽게 식별하고 다가오는 이벤트에 대한 작업의 우선순위를 지정할 수 있습니다.

태그를 포함하도록 이벤트 알림을 사용자 지정할 때 다음을 포함하도록 선택할 수 있습니다.
+ 영향을 받는 리소스와 연결된 모든 태그
+ 영향을 받는 리소스와 연결된 특정 태그만

예를 들어 모든 인스턴스에 `application`, `costcenter`, `project` 및 `owner` 태그를 할당하는 경우, 이벤트 알림에 이러한 모든 태그를 포함하도록 선택하거나 이벤트 알림에 `owner` 및 `project` 태그만 표시하기 위해 이러한 태그만 포함하도록 선택할 수 있습니다.

포함할 태그를 선택하면 이벤트 알림에 영향을 받는 리소스와 연결된 리소스 ID(인스턴스 전용 호스트 ID 또는 ID)와 태그 키 및 값 페어가 포함됩니다.

**Topics**
+ [

## 이벤트 알림에 태그 포함
](#register-tags)
+ [

## 이벤트 알림에서 태그 제거
](#deregister-tags)
+ [

## 이벤트 알림에 포함할 태그 보기
](#view-tags)

## 이벤트 알림에 태그 포함
<a name="register-tags"></a>

포함하도록 선택한 태그는 선택한 리전의 모든 리소스(인스턴스 및 전용 호스트)에 적용됩니다. 다른 리전에서 이벤트 알림을 사용자 지정하려면 먼저 필요한 리전을 선택한 후 다음 단계를 수행합니다.

------
#### [ Console ]

**이벤트 알림에 태그를 포함하려면**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. **작업**, **Manage event notifications(이벤트 알림 관리)**를 선택합니다.

1. **이벤트 알림에 태그 포함**을 켭니다.

1. 이벤트 알림에 포함할 태그에 따라 다음 중 하나를 수행합니다.
   + 영향을 받는 인스턴스 또는 전용 호스트와 연결된 모든 태그를 포함하려면 **모든 태그 포함**을 선택합니다.
   + 포함할 태그를 선택하려면 **포함할 태그 선택**을 선택한 다음 태그 키를 선택하거나 입력합니다.

1. **저장**(Save)을 선택합니다.

------
#### [ AWS CLI ]

**이벤트 알림에 모든 태그를 포함하려면**  
[register-instance-event-notification-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-instance-event-notification-attributes.html) 명령을 사용하고 `IncludeAllTagsOfInstance` 파라미터를 `true`로 설정합니다.

```
aws ec2 register-instance-event-notification-attributes \
    --instance-tag-attribute "IncludeAllTagsOfInstance=true"
```

**이벤트 알림에 특정 태그를 포함하려면**  
[register-instance-event-notification-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-instance-event-notification-attributes.html) 명령을 사용하고 `InstanceTagKeys` 파라미터를 사용하여 포함할 태그를 지정합니다.

```
aws ec2 register-instance-event-notification-attributes \
    --instance-tag-attribute 'InstanceTagKeys=["tag_key_1", "tag_key_2", "tag_key_3"]'
```

------
#### [ PowerShell ]

**이벤트 알림에 모든 태그를 포함하려면**  
[Register-EC2InstanceEventNotificationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2InstanceEventNotificationAttribute.html) cmdlet을 사용합니다.

```
Register-EC2InstanceEventNotificationAttribute `
    -InstanceTagAttribute_IncludeAllTagsOfInstance $true
```

**이벤트 알림에 특정 태그를 포함하려면**  
[Register-EC2InstanceEventNotificationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2InstanceEventNotificationAttribute.html) cmdlet을 사용합니다.

```
Register-EC2InstanceEventNotificationAttribute `
    -InstanceTagAttribute_InstanceTagKey tag_key_1, tag_key_2, tag_key_3
```

------

## 이벤트 알림에서 태그 제거
<a name="deregister-tags"></a>

이벤트 알림에서 태그를 제거할 수 있습니다.

------
#### [ Console ]

**이벤트 알림에서 태그를 제거하려면**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. **작업**, **Manage event notifications(이벤트 알림 관리)**를 선택합니다.

1. 이벤트 알림에서 모든 태그를 제거하려면 **이벤트 알림에 태그 포함**을 끕니다.

1. 이벤트 알림에서 특정 태그를 제거하려면 해당 태그 키에 대해 **X**를 선택합니다.

1. **저장**(Save)을 선택합니다.

------
#### [ AWS CLI ]

**이벤트 알림에서 모든 태그를 제거하려면**  
[deregister-instance-event-notification-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/deregister-instance-event-notification-attributes.html) 명령을 사용하고 `IncludeAllTagsOfInstance` 파라미터를 `false`로 설정합니다.

```
aws ec2 deregister-instance-event-notification-attributes \
    --instance-tag-attribute "IncludeAllTagsOfInstance=false"
```

**이벤트 알림에서 태그를 제거하려면**  
[deregister-instance-event-notification-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/deregister-instance-event-notification-attributes.html) 명령을 사용하고 `InstanceTagKeys` 파라미터를 사용하여 제거할 태그를 지정합니다.

```
aws ec2 deregister-instance-event-notification-attributes \
    --instance-tag-attribute 'InstanceTagKeys=["tag_key_3"]'
```

------
#### [ PowerShell ]

**이벤트 알림에서 모든 태그를 제거하려면**  
[Unregister-EC2InstanceEventNotificationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2InstanceEventNotificationAttribute.html) cmdlet을 사용합니다.

```
Unregister-EC2InstanceEventNotificationAttribute `
    -InstanceTagAttribute_IncludeAllTagsOfInstance $false
```

**이벤트 알림에서 태그를 제거하려면**  
[Unregister-EC2InstanceEventNotificationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2InstanceEventNotificationAttribute.html) cmdlet을 사용합니다.

```
Unregister-EC2InstanceEventNotificationAttribute `
    -InstanceTagAttribute_InstanceTagKey tag_key_3
```

------

## 이벤트 알림에 포함할 태그 보기
<a name="view-tags"></a>

이벤트 알림에 포함할 태그를 볼 수 있습니다.

------
#### [ Console ]

**이벤트 알림에 포함할 태그를 보려면**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. **작업**, **Manage event notifications(이벤트 알림 관리)**를 선택합니다.

------
#### [ AWS CLI ]

**이벤트 알림에 포함할 태그를 보는 방법**  
[describe-instance-event-notification-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-event-notification-attributes.html) 명령을 사용합니다.

```
aws ec2 describe-instance-event-notification-attributes
```

------
#### [ PowerShell ]

**이벤트 알림에 포함할 태그를 보는 방법**  
[Get-EC2InstanceEventNotificationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceEventNotificationAttribute.html) cmdlet을 사용합니다.

```
Get-EC2InstanceEventNotificationAttribute
```

------

# EC2 인스턴스에 대해 예약된 이벤트 다시 예약
<a name="reschedule-event"></a>

이벤트가 적합한 특정 날짜와 시간에 발생하도록 다시 예약할 수 있습니다. 이벤트를 다시 예약한 후 업데이트된 날짜가 표시되기까지 1\$12분이 걸릴 수 있습니다.

**제한 사항**
+ 이벤트 기한이 있는 이벤트만 다시 예약할 수 있습니다. 이 이벤트는 이벤트 기한까지 다시 예약될 수 있습니다. 이벤트 기한 날짜는 **기한** 열(콘솔) 및 `NotBeforeDeadline` 필드(AWS CLI)에 표시됩니다.
+ 아직 시작하지 않은 이벤트만 다시 예약할 수 있습니다. 시작 시간은 **시작 시간** 열(콘솔) 및 `NotBefore` 필드(AWS CLI)에 표시됩니다. 다음 5분 안에 시작하도록 예약된 이벤트는 다시 예약할 수 없습니다.
+ 새 이벤트 시작 시간은 현재 시간에서 최소 60분 내여야 합니다.
+ 콘솔을 사용하여 여러 이벤트를 다시 예약하는 경우 이벤트 기한은 가장 이른 이벤트 기한의 이벤트에 의해 결정됩니다.

------
#### [ Console ]

**이벤트를 다시 예약하는 방법**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. 필터 목록에서 **리소스 유형: 인스턴스**를 선택합니다.

1. 하나 이상의 인스턴스를 선택한 다음 **작업**, **Schedule event(이벤트 예약)**를 선택합니다.

   **Deadline(기한)** 값으로 표시되는 이벤트 기한이 있는 이벤트만 다시 예약할 수 있습니다. 선택한 이벤트 중 하나에 기한 날짜가 없으면 **작업**, **Schedule event(이벤트 예약)**가 비활성화됩니다.

1. **New start time(새 시작 시간)**에 이벤트에 대한 새 날짜 및 시간을 입력합니다. 새 날짜 및 시간은 **Event deadline(이벤트 기한)** 이전이어야 합니다.

1. **저장**(Save)을 선택합니다.

   업데이트된 이벤트 시작 시간이 콘솔에 반영되려면 1\$12분이 걸릴 수 있습니다.

------
#### [ AWS CLI ]

**이벤트를 다시 예약하는 방법**  
[https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-event-start-time.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-event-start-time.html) 명령을 사용합니다.

```
aws ec2 modify-instance-event-start-time \
    --instance-id i-1234567890abcdef0 \
    --instance-event-id instance-event-0d59937288b749b32 \
    --not-before 2020-03-25T10:00:00.000
```

------
#### [ PowerShell ]

**이벤트를 다시 예약하는 방법**  
[Edit-EC2InstanceEventStartTime](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceEventStartTime.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceEventStartTime `
    -InstanceId i-1234567890abcdef0 `
    -InstanceEventId instance-event-0d59937288b749b32 `
    -NotBefore 2020-03-25T10:00:00.000
```

------

# Amazon EC2 인스턴스에 영향을 미치는 예약된 이벤트에 대한 사용자 지정 이벤트 기간 생성
<a name="event-windows"></a>

Amazon EC2 인스턴스를 재부팅, 중지 또는 종료하는 예약된 이벤트에 대해 매주 반복되는 사용자 지정 이벤트 기간을 정의할 수 있습니다. 하나 이상의 인스턴스를 이벤트 기간에 연결할 수 있습니다. 해당 인스턴스에 대해 예약된 이벤트가 계획되면 AWS는 관련 이벤트 기간 내에 이벤트를 예약합니다.

이벤트 기간을 사용하여 워크로드가 적은 기간 동안 발생하는 이벤트 기간을 지정하여 워크로드 가용성을 극대화할 수 있습니다. 또한 이벤트 기간을 내부 유지 관리 스케줄에 맞출 수도 있습니다.

시간 범위 세트를 지정하여 이벤트 기간을 정의합니다. 최소 시간 범위는 2시간입니다. 결합된 시간 범위는 최소 4시간 이상이어야 합니다.

인스턴스 ID 또는 인스턴스 태그를 사용하여 하나 이상의 인스턴스를 이벤트 기간에 연결할 수 있습니다. 호스트 ID를 사용하여 전용 호스트를 이벤트 기간에 연결할 수도 있습니다.

**주의**  
이벤트 기간은 인스턴스를 중지, 재부팅 또는 종료하는 예약된 이벤트에만 적용할 수 있습니다.  
다음에는 이벤트 기간을 적용할 수 없습니다.  
예약된 신속 이벤트 및 네트워크 유지 관리 이벤트.
[자동 인스턴스 복구](ec2-instance-recover.md) 및 계획되지 않은 재부팅과 같은 예약되지 않은 유지 관리.

**Topics**
+ [

## 고려 사항
](#event-windows-considerations)
+ [

## 이벤트 기간 생성
](#create-event-windows)
+ [

## 이벤트 기간에 대상 연결
](#associate-target-event-window)
+ [

## 이벤트 기간에서 대상 연결 해제
](#disassociate-target-event-window)
+ [

## 이벤트 기간 수정
](#modify-event-windows)
+ [

## 이벤트 기간 삭제
](#delete-event-windows)

## 고려 사항
<a name="event-windows-considerations"></a>
+ 모든 이벤트 기간 시간은 UTC입니다.
+ 이벤트 기간은 여러 시간 범위를 포함할 수 있습니다. 각 개별 범위는 최소 2시간이어야 하지만 모든 범위의 총 기간은 최소 4시간이어야 합니다.
+ 하나의 대상 유형(인스턴스 ID, 전용 호스트 ID 또는 인스턴스 태그)만 이벤트 기간에 연결할 수 있습니다.
+ 대상(인스턴스 ID, 전용 호스트 ID 또는 인스턴스 태그)은 하나의 이벤트 기간에만 연결할 수 있습니다.
+ 이벤트 기간에는 최대 100개의 인스턴스 ID 또는 50개의 전용 호스트 ID 또는 50개의 인스턴스 태그를 연결할 수 있습니다. 인스턴스 태그는 제한 없이 원하는 수의 인스턴스에 연결할 수 있습니다.
+ AWS 리전당 최대 200개의 이벤트 기간을 생성할 수 있습니다.
+ 이벤트 기간에 연결된 여러 인스턴스에서 예약된 이벤트가 동시에 발생할 수 있습니다.
+ AWS가 이미 이벤트를 예약한 경우 이벤트 기간을 수정해도 예약된 이벤트의 시간은 변경되지 않습니다. 이벤트에 기한 날짜가 있는 경우 [이벤트 스케줄을 조정](reschedule-event.md)할 수 있습니다.
+ 예약된 이벤트 전에 인스턴스를 중지하고 시작할 수 있습니다. 그러면 인스턴스가 새 호스트로 마이그레이션되고 이벤트가 지워집니다.

## 이벤트 기간 생성
<a name="create-event-windows"></a>

하나 이상의 이벤트 기간을 생성할 수 있습니다. 각 이벤트 기간에 대해 시간 블록을 하나 이상 지정합니다. 예를 들어 매일 오전 4시에 2시간 동안 발생하는 시간 블록으로 이벤트 기간을 생성할 수 있습니다. 또는 일요일 오전 2시\$1오전 4시 및 수요일 오전 3시\$1오전 5시에 발생하는 시간 블록으로 이벤트 기간을 생성할 수도 있습니다.

이벤트 기간은 사용자가 삭제할 때까지 매주 반복됩니다.

------
#### [ Console ]

**이벤트 기간을 생성하는 방법**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. [**작업(Actions)**], [**Windows 이벤트 관리(Manage event windows)**]를 차례로 선택합니다.

1. [**인스턴스 이벤트 기간 생성(Create instance event window)**]을 선택합니다.

1. [**이벤트 기간 이름(Event window name)**]에 이벤트 기간을 설명하는 이름을 입력합니다.

1. [**이벤트 기간 일정(Event window schedule)**]에서 cron 일정 작성기를 사용하거나 시간 범위를 지정하여 이벤트 기간에서 시간 블록을 지정하도록 선택합니다.
   + [**Cron 일정 작성기(Cron schedule builder)**]를 선택한 경우 다음을 지정합니다.

     1. [**요일(UTC)(Days (UTC))**]에서 이벤트 기간이 발생하는 요일을 지정합니다.

     1. [**시작 시간(UTC)(Start time (UTC))**]에서 이벤트 기간이 시작되는 시간을 지정합니다.

     1. [**지속 시간(Duration)**]에서 이벤트 기간에 있는 시간 블록의 지속 시간을 지정합니다. 시간 블록당 최소 지속 시간은 2시간입니다. 이벤트 기간의 최소 지속 시간은 총 4시간 이상이어야 합니다. 모든 시간은 협정 세계시(UTC)입니다.
   + [**시간 범위(Time ranges)**]를 선택한 경우 [**새 시간 범위 추가(Add new time range)**]를 선택하고 시작 날짜 및 시간, 종료 날짜 및 시간을 지정합니다. 각 시간 범위에 대해 반복합니다. 시간 범위당 최소 지속 시간은 2시간입니다. 결합된 모든 시간 범위의 최소 지속 시간은 총 4시간 이상이어야 합니다.

1. (선택 사항) **대상 세부 정보**에서 하나 이상의 인스턴스를 이벤트 창에 연결하세요. 인스턴스 ID 또는 인스턴스 태그를 사용하여 인스턴스를 연결하세요. 호스트 ID를 사용하여 전용 호스트를 연결하세요. 유지 관리를 위해 이러한 대상이 예약되면 이 이벤트 기간에 이벤트가 발생합니다.

   대상을 기간에 연결하지 않고 이벤트 기간을 생성할 수도 있습니다. 나중에 기간을 수정하여 하나 이상의 대상을 연결할 수 있습니다.

1. (선택 사항) [**이벤트 기간 태그(Event window tags)**]에서 [**태그 추가(Add tag)**]를 선택하고 해당 태그의 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

1. [**이벤트 기간 생성(Create event window)**]을 선택합니다.

------
#### [ AWS CLI ]

**시간 범위로 이벤트 기간을 생성하는 방법**  
[create-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 create-instance-event-window \
    --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8 \
    --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1}]" \
    --name myEventWindowName
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "TimeRanges": [
            {
                "StartWeekDay": "monday",
                "StartHour": 2,
                "EndWeekDay": "wednesday",
                "EndHour": 8
            }
        ],
        "Name": "myEventWindowName",
        "State": "creating",
        "Tags": [
            {
                "Key": "K1",
                "Value": "V1"
            }
        ]
    }
}
```

**cron 표현식으로 이벤트 기간을 생성하는 방법**  
[create-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 create-instance-event-window \
    --cron-expression "* 21-23 * * 2,3" \
    --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1}]" \
    --name myEventWindowName
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "State": "creating",
        "Tags": [
            {
                "Key": "K1",
                "Value": "V1"
            }
        ]
    }
}
```

------
#### [ PowerShell ]

**시간 범위로 이벤트 기간을 생성하는 방법**  
[New-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
$timeRange = New-Object Amazon.EC2.Model.InstanceEventWindowTimeRangeRequest
$timeRange.StartWeekDay = "monday"
$timeRange.EndWeekDay = "wednesday"
$timeRange.StartHour = 2
$timeRange.EndHour = 8
$tag = @{Key="key1"; Value="value1"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "instance-event-window"
$tagspec.Tags.Add($tag)
New-EC2InstanceEventWindow `
    -Name my-event-window `
    -TagSpecification $tagspec `
    -TimeRange @($timeRange)
```

다음은 예제 출력입니다.

```
AssociationTarget     : 
CronExpression        : 
InstanceEventWindowId : iew-0abcdef1234567890
Name                  : my-event-window
State                 : creating
Tags                  : {key1}
TimeRanges            : {Amazon.EC2.Model.InstanceEventWindowTimeRange}
```

**cron 표현식으로 이벤트 기간을 생성하는 방법**  
[New-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
$tag = @{Key="key1"; Value="value1"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "instance-event-window"
$tagspec.Tags.Add($tag)
New-EC2InstanceEventWindow `
    -Name my-event-window `
    -TagSpecification $tagspec`
    -CronExpression "* 21-23 * * 2,3"
```

다음은 예제 출력입니다.

```
AssociationTarget     : 
CronExpression        : * 21-23 * * 2,3
InstanceEventWindowId : iew-0abcdef1234567890
Name                  : my-event-window
State                 : creating
Tags                  : {key1}
TimeRanges            : {}
```

------

## 이벤트 기간에 대상 연결
<a name="associate-target-event-window"></a>

이벤트 기간을 생성한 후 대상을 이벤트 기간과 연결할 수 있습니다. 이벤트 기간에는 한 가지 유형의 대상만 연결할 수 있습니다. 인스턴스 ID, 전용 호스트 ID 또는 인스턴스 태그를 지정할 수 있습니다.

------
#### [ Console ]

**대상을 이벤트 기간에 연결하려면**

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

1. 탐색 창에서 [**이벤트(Events)**]를 선택합니다.

1. 수정할 이벤트 기간을 선택합니다.

1. **작업**, **인스턴스 이벤트 기간 수정**을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스 태그를 이벤트 기간에 연결하는 방법**  
[associate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 associate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target "InstanceTags=[{Key=k2,Value=v2},{Key=k1,Value=v1}]"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [],
            "Tags": [
                {
                    "Key": "k2",
                    "Value": "v2"
                },
                {
                    "Key": "k1",
                    "Value": "v1"
                }
            ],
            "DedicatedHostIds": []
        },
        "State": "creating"
    }
}
```

**인스턴스 ID를 이벤트 기간에 연결하려면**  
[associate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 associate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target "InstanceIds=i-1234567890abcdef0,i-0598c7d356eba48d7"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [
                "i-1234567890abcdef0",
                "i-0598c7d356eba48d7"
            ],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating"
    }
}
```

**전용 호스트를 이벤트 기간에 연결하는 방법**  
[associate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 associate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target "DedicatedHostIds=h-029fa35a02b99801d"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [],
            "Tags": [],
            "DedicatedHostIds": [
                "h-029fa35a02b99801d"
            ]
        },
        "State": "creating"
    }
}
```

------
#### [ PowerShell ]

**인스턴스 태그를 이벤트 기간에 연결하는 방법**  
[Register-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
$tag1 = @{Key="key1"; Value="value1"}
$tag2 = @{Key="key2"; Value="value2"}
Register-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_InstanceTag @($tag1,$tag2)
```

**인스턴스 ID를 이벤트 기간에 연결하려면**  
[Register-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Register-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_InstanceId i-1234567890abcdef0, i-0598c7d356eba48d7
```

**전용 호스트를 이벤트 기간에 연결하는 방법**  
[Register-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Register-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_DedicatedHostId h-029fa35a02b99801d
```

------

## 이벤트 기간에서 대상 연결 해제
<a name="disassociate-target-event-window"></a>

------
#### [ Console ]

**이벤트 기간에서 대상을 연결 해제하려면**

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

1. 탐색 창에서 [**이벤트(Events)**]를 선택합니다.

1. 수정할 이벤트 기간을 선택합니다.

1. **작업**, **인스턴스 이벤트 기간 수정**을 선택합니다.

------
#### [ AWS CLI ]

**이벤트 기간에서 인스턴스 태그를 연결 해제하는 방법**  
[disassociate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference//ec2/disassociate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 disassociate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target "InstanceTags=[{Key=k2,Value=v2},{Key=k1,Value=v1}]"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating"
    }
}
```

**이벤트 기간에서 인스턴스 ID를 연결 해제하려면**  
[disassociate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 disassociate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target "InstanceIds=i-1234567890abcdef0,i-0598c7d356eba48d7"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating"
    }
}
```

**이벤트 기간에서 전용 호스트를 연결 해제하는 방법**  
[disassociate-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 disassociate-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --association-target DedicatedHostIds=h-029fa35a02b99801d
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating"
    }
}
```

------
#### [ PowerShell ]

**이벤트 기간에서 인스턴스 태그를 연결 해제하는 방법**  
[Unregister-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
$tag1 = @{Key="key1"; Value="value1"}
$tag2 = @{Key="key2"; Value="value2"}
Unregister-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_InstanceTag @($tag1, $tag2)
```

**이벤트 기간에서 인스턴스 ID를 연결 해제하려면**  
[Unregister-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Unregister-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_InstanceId i-1234567890abcdef0, i-0598c7d356eba48d7
```

**이벤트 기간에서 전용 호스트를 연결 해제하는 방법**  
[Unregister-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Unregister-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -AssociationTarget_DedicatedHostId h-029fa35a02b99801d
```

------

## 이벤트 기간 수정
<a name="modify-event-windows"></a>

ID를 제외한 이벤트 기간의 모든 필드를 수정할 수 있습니다. 예를 들어 일광 절약 시간이 시작될 때 이벤트 기간 일정을 수정할 수 있습니다. 기존 이벤트 기간의 경우 대상을 추가하거나 제거할 수 있습니다.

이벤트 기간을 수정할 때 시간 범위 또는 cron 표현식을 수정할 수 있지만 둘 다 수정할 수는 없습니다.

------
#### [ Console ]

**이벤트 기간을 수정하는 방법**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. [**작업(Actions)**], [**Windows 이벤트 관리(Manage event windows)**]를 차례로 선택합니다.

1. 수정할 이벤트 기간을 선택한 후 [**작업(Actions)**], [**인스턴스 이벤트 기간 수정(Modify instance event window)**]을 차례로 선택합니다.

1. 이벤트 기가에서 필드를 수정한 후 [**이벤트 기간 수정(Modify event window)**]을 선택합니다.

------
#### [ AWS CLI ]

**이벤트 기간의 시간 범위를 수정하는 방법**  
[modify-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 modify-instance-event-window 
    --instance-event-window-id iew-0abcdef1234567890 \
    --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "TimeRanges": [
            {
                "StartWeekDay": "monday",
                "StartHour": 2,
                "EndWeekDay": "wednesday",
                "EndHour": 8
            }
        ],
        "Name": "myEventWindowName",
        "AssociationTarget": {
            "InstanceIds": [
                "i-0abcdef1234567890",
                "i-0be35f9acb8ba01f0"
            ],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating",
        "Tags": [
            {
                "Key": "K1",
                "Value": "V1"
            }
        ]
    }
}
```

**이벤트 기간의 시간 범위 세트를 수정하는 방법**  
[modify-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 modify-instance-event-window 
    --instance-event-window-id iew-0abcdef1234567890 \
    --time-range '[{"StartWeekDay": "monday", "StartHour": 2, "EndWeekDay": "wednesday", "EndHour": 8},
	  {"StartWeekDay": "thursday", "StartHour": 2, "EndWeekDay": "friday", "EndHour": 8}]'
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "TimeRanges": [
            {
                "StartWeekDay": "monday",
                "StartHour": 2,
                "EndWeekDay": "wednesday",
                "EndHour": 8
            },
            {
                "StartWeekDay": "thursday",
                "StartHour": 2,
                "EndWeekDay": "friday",
                "EndHour": 8
            }
        ],
        "Name": "myEventWindowName",
        "AssociationTarget": {
            "InstanceIds": [
                "i-0abcdef1234567890",
                "i-0be35f9acb8ba01f0"
            ],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating",
        "Tags": [
            {
                "Key": "K1",
                "Value": "V1"
            }
        ]
    }
}
```

**이벤트 기간의 cron 표현식을 수정하는 방법**  
[modify-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-event-window.html) 명령을 사용합니다.

```
aws ec2 modify-instance-event-window 
    --instance-event-window-id iew-0abcdef1234567890 \
    --cron-expression "* 21-23 * * 2,3"
```

다음은 예제 출력입니다.

```
{
    "InstanceEventWindow": {
        "InstanceEventWindowId": "iew-0abcdef1234567890",
        "Name": "myEventWindowName",
        "CronExpression": "* 21-23 * * 2,3",
        "AssociationTarget": {
            "InstanceIds": [
                "i-0abcdef1234567890",
                "i-0be35f9acb8ba01f0"
            ],
            "Tags": [],
            "DedicatedHostIds": []
        },
        "State": "creating",
        "Tags": [
            {
                "Key": "K1",
                "Value": "V1"
            }
        ]
    }
}
```

------
#### [ PowerShell ]

**이벤트 기간의 시간 범위를 수정하는 방법**  
[Edit-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
$timeRange1 = New-Object Amazon.EC2.Model.InstanceEventWindowTimeRangeRequest
$timeRange1.StartWeekDay = "monday"
$timeRange1.EndWeekDay = "wednesday"
$timeRange1.StartHour = 2
$timeRange1.EndHour = 8
$timeRange2 = New-Object Amazon.EC2.Model.InstanceEventWindowTimeRangeRequest
$timeRange2.StartWeekDay = "thursday"
$timeRange2.EndWeekDay = "friday"
$timeRange2.StartHour = 1
$timeRange2.EndHour = 6
Edit-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -TimeRange @($timeRange1, $timeRange2)
```

**이벤트 기간의 cron 표현식을 수정하는 방법**  
[Edit-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -CronExpression "* 21-23 * * 2,3"
```

------

## 이벤트 기간 삭제
<a name="delete-event-windows"></a>

이벤트 기간을 한 번에 하나씩 삭제할 수 있습니다.

------
#### [ Console ]

**이벤트 기간을 삭제하는 방법**

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

1. 탐색 창에서 [**Events**]를 선택합니다.

1. [**작업(Actions)**], [**Windows 이벤트 관리(Manage event windows)**]를 차례로 선택합니다.

1. 삭제할 이벤트 기간을 선택한 후 [**작업(Actions)**], [**인스턴스 이벤트 기간 삭제(Delete instance event window)**]를 차례로 선택합니다.

1. 메시지가 표시되면 **delete**를 입력한 후 **삭제**를 선택합니다.

------
#### [ AWS CLI ]

**이벤트 기간을 삭제하는 방법**  
[delete-instance-event-window](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-instance-event-window.html) 명령을 사용하고 삭제할 이벤트 기간을 지정합니다.

```
aws ec2 delete-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890
```

**이벤트 기간을 강제 삭제하는 방법**  
현재 이벤트 기간이 대상과 연결되어 있는 경우 `--force-delete` 파라미터를 사용합니다.

```
aws ec2 delete-instance-event-window \
    --instance-event-window-id iew-0abcdef1234567890 \
    --force-delete
```

------
#### [ PowerShell ]

**이벤트 기간을 삭제하는 방법**  
[Remove-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Remove-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890
```

**이벤트 기간을 강제 삭제하는 방법**  
[Remove-EC2InstanceEventWindow](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2InstanceEventWindow.html) cmdlet을 사용합니다.

```
Remove-EC2InstanceEventWindow `
    -InstanceEventWindowId iew-0abcdef1234567890 `
    -ForceDelete $true
```

------

# CloudWatch를 사용하여 인스턴스 모니터링
<a name="using-cloudwatch"></a>

Amazon EC2에서 원시 데이터를 수집하여 읽기 가능하며 실시간에 가까운 측정치로 처리하는 Amazon CloudWatch를 사용해 인스턴스를 모니터링할 수 있습니다. 이러한 통계는 15개월간 기록되므로 기록 정보를 보고 웹 애플리케이션이나 서비스가 어떻게 실행되고 있는지 전체적으로 더 잘 파악할 수 있습니다.

Amazon EC2는 기본적으로 측정치 데이터를 5분 동안 CloudWatch에 전송합니다. 인스턴스에 대한 측정치 데이터를 CloudWatch에 1분 동안 전송하기 위해 해당 인스턴스에 대한 세부 모니터링을 활성화할 수 있습니다. 자세한 내용은 [EC2 인스턴스에 대한 세부 모니터링 관리](manage-detailed-monitoring.md) 섹션을 참조하세요.

Amazon EC2 콘솔에는 Amazon CloudWatch의 원시 데이터를 기초로 하는 일련의 그래프가 표시됩니다. 필요에 따라 콘솔의 그래프 대신에 Amazon CloudWatch에서 인스턴스 데이터를 얻는 것을 선호할 수도 있습니다.

Amazon CloudWatch 결제 및 비용 정보는 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 결제 및 비용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html)을 참조하세요.

**Topics**
+ [

# Amazon EC2 콘솔에서 EC2 인스턴스에 대한 CloudWatch 경보 관리
](ec2-instance-alarms.md)
+ [

# EC2 인스턴스에 대한 세부 모니터링 관리
](manage-detailed-monitoring.md)
+ [

# 인스턴스에 사용 가능한 CloudWatch 지표
](viewing_metrics_with_cloudwatch.md)
+ [

# Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트를 설치 및 구성하고 지표 추가
](install-and-configure-cloudwatch-agent-using-ec2-console.md)
+ [

# 인스턴스에 대한 CloudWatch 지표 통계
](monitoring_get_statistics.md)
+ [

# 인스턴스에 대한 모니터링 그래프 보기
](graphs-in-the-aws-management-console.md)
+ [

# 인스턴스에 대해 CloudWatch 경보 만들기
](using-cloudwatch-createalarm.md)
+ [

# 인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 만들기
](UsingAlarmActions.md)

# Amazon EC2 콘솔에서 EC2 인스턴스에 대한 CloudWatch 경보 관리
<a name="ec2-instance-alarms"></a>

Amazon EC2 콘솔의 **인스턴스** 화면에서 인스턴스에 대한 Amazon CloudWatch 경보를 관리할 수 있습니다. **인스턴스** 테이블의 **경보 상태** 열에는 두 개의 콘솔 컨트롤이 있습니다. 하나는 경보를 보기 위한 컨트롤이고 다른 하나는 경보 생성 또는 편집을 위한 컨트롤입니다. 다음 스크린샷은 이러한 콘솔 컨트롤을 나타냅니다(**1번**: **경보 보기** 및 **2번**: 경보 생성 또는 편집을 위한 **\$1** 기호).

![\[EC2 콘솔의 인스턴스 테이블에서 경보 확인 및 생성을 위한 컨트롤. 1. 경보 2를 봅니다. 더하기 기호.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/instance-alarms.png)


## 인스턴스 화면에서 경보 보기
<a name="view-ec2-instance-alarms"></a>

**인스턴스** 화면에서 각 인스턴스의 경보를 볼 수 있습니다.

**인스턴스 화면에서 인스턴스의 경보를 보는 방법**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. **인스턴스** 테이블에서 선택한 인스턴스에 대해 **경보 보기**(위 스크린샷에서 번호가 **1**)를 선택합니다.

1. ***i-1234567890abcdef0*의 경보 세부 정보** 창에서 경보 이름을 선택하여 CloudWatch 콘솔에서 경보를 봅니다.

## 인스턴스 화면에서 경보 생성
<a name="create-ec2-instance-alarms"></a>

**인스턴스** 화면에서 각 인스턴스에 대한 경보를 생성할 수 있습니다.

**인스턴스 화면에서 인스턴스에 대한 경보를 생성하는 방법**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. **인스턴스** 테이블에서 선택한 인스턴스에 대해 더하기 기호(위 스크린샷에서 번호가 **2**)를 선택합니다.

1. **CloudWatch 경보 관리** 화면에서 경보를 생성합니다. 자세한 내용은 [인스턴스에 대해 CloudWatch 경보 만들기](using-cloudwatch-createalarm.md) 섹션을 참조하세요.

## 인스턴스 화면에서 경보 편집
<a name="edit-ec2-instance-alarms"></a>

**인스턴스** 화면에서 각 인스턴스에 대한 경보를 편집할 수 있습니다.

**인스턴스 화면에서 인스턴스에 대한 경보를 편집하려면**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. **인스턴스** 테이블에서 선택한 인스턴스에 대해 더하기 기호(위 스크린샷에서 번호가 **2**)를 선택합니다.

1. **CloudWatch 경보 관리** 화면에서 경보를 편집합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 경보 편집 또는 삭제](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Manage-CloudWatch-Alarm.html#Edit-CloudWatch-Alarm)를 참조하세요.

# EC2 인스턴스에 대한 세부 모니터링 관리
<a name="manage-detailed-monitoring"></a>

Amazon CloudWatch는 *기본 모니터링*과 *세부 모니터링*이라는 두 가지 모니터링 범주를 제공합니다. 기본적으로 인스턴스는 기본 모니터링 기능이 구성되어 있습니다. 필요에 따라 세부 모니터링을 활성화하여 운영 문제를 보다 신속하게 식별하고 조치를 취할 수 있습니다. 인스턴스가 실행 중이거나 중지되었을 때 또는 시작 시 세부 모니터링을 활성화하거나 비활성화할 수 있습니다.

인스턴스에 대한 세부 모니터링 기능을 활성화해도 연결된 EBS 볼륨 모니터링에는 영향이 없습니다. 자세한 내용은 [Amazon CloudWatch metrics for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html)를 참조하세요.

다음 표는 인스턴스에 대한 기본 모니터링과 세부 모니터링의 차이를 설명합니다.


| 모니터링 유형 | 설명 | 요금 | 
| --- | --- | --- | 
| 기본 모니터링 |  상태 확인 지표는 1분 기간으로 제공됩니다. 다른 모든 지표는 5분 기간으로 제공됩니다.  | 무료입니다. | 
| 세부 모니터링 | 인스턴스에 대한 세부 모니터링을 활성화하면 1분 기간의 지표를 가져올 수 있습니다. 세부 모니터링을 활성화한 후에는 유사한 인스턴스 그룹 간에 데이터를 집계할 수도 있습니다. | Amazon EC2에서 CloudWatch로 전송하는 지표에 따라 요금이 청구됩니다. 데이터 스토리지에는 요금이 부과되지 않습니다. 자세한 내용은 [Amazon CloudWatch 요금 페이지](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier)의 유료 티어를 참조하세요. | 

**Topics**
+ [

## 필수 권한
](#iam-detailed-monitoring)
+ [

## 시작 시 세부 모니터링 활성화
](#enable-detailed-monitoring)
+ [

## 세부 모니터링 관리
](#disable-detailed-monitoring)

## 필수 권한
<a name="iam-detailed-monitoring"></a>

인스턴스에 대한 세부 모니터링을 활성화하려면 사용자에게 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_MonitorInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_MonitorInstances.html) API 작업을 사용할 권한이 있어야 합니다. 인스턴스에 대한 세부 모니터링을 비활성화하려면 사용자에게 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html) API 작업을 사용할 권한이 있어야 합니다.

## 시작 시 세부 모니터링 활성화
<a name="enable-detailed-monitoring"></a>

다음 절차에 따라 시작 시 세부 모니터링을 사용합니다. 기본적으로 인스턴스는 기본 모니터링을 사용합니다.

------
#### [ Console ]

**인스턴스 시작 시 세부 모니터링을 활성화하려면**  
Amazon EC2 콘솔을 사용하여 인스턴스를 시작할 때 **고급 세부 정보** 아래에서 **세부 CloudWatch 모니터링** 확인란을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스 시작 시 세부 모니터링을 활성화하려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 `--monitoring` 옵션과 함께 사용합니다.

```
--monitoring Enabled=true
```

------
#### [ PowerShell ]

**인스턴스 시작 시 세부 모니터링을 활성화하려면**  
`-Monitoring` 파라미터와 함께 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다.

```
-Monitoring $true
```

------

## 세부 모니터링 관리
<a name="disable-detailed-monitoring"></a>

다음 절차에 따라 실행 중이거나 중지된 인스턴스에 대한 세부 모니터링을 관리합니다.

------
#### [ Console ]

**세부 모니터링을 관리하는 방법**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택합니다.

1. **작업**, **모니터링 및 문제 해결**, **세부 모니터링 관리**를 선택합니다.

1. **세부 모니터링** 페이지에서 **세부 모니터링**에 대해 다음 중 하나를 수행합니다.
   + 세부 모니터링 - **활성화**를 선택합니다.
   + 기본 모니터링 - **활성화** 선택을 취소합니다.

1. **확인**을 선택합니다.

------
#### [ AWS CLI ]

**세부 모니터링을 활성화하는 방법**  
다음 [monitor-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/monitor-instances.html) 명령을 사용합니다.

```
aws ec2 monitor-instances --instance-ids i-1234567890abcdef0
```

**세부 모니터링을 비활성화하는 방법**  
[unmonitor-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/unmonitor-instances.html) 명령을 사용합니다.

```
aws ec2 unmonitor-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**세부 모니터링을 활성화하는 방법**  
[Start-EC2InstanceMonitoring](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2InstanceMonitoring.html) cmdlet을 사용합니다.

```
Start-EC2InstanceMonitoring -InstanceId i-1234567890abcdef0
```

**세부 모니터링을 비활성화하는 방법**  
[Stop-EC2InstanceMonitoring](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2InstanceMonitoring.html) cmdlet을 사용합니다.

```
Stop-EC2InstanceMonitoring -InstanceId i-1234567890abcdef0
```

------

# 인스턴스에 사용 가능한 CloudWatch 지표
<a name="viewing_metrics_with_cloudwatch"></a>

Amazon EC2는 측정치를 Amazon CloudWatch로 전송합니다. AWS Management Console, AWS CLI 또는 API를 사용하여 Amazon EC2가 CloudWatch로 전송하는 지표를 나열할 수 있습니다. 기본적으로 각 데이터 요소는 인스턴스의 시작 시간 이후 5분간 활동을 다룹니다. 세부 모니터링을 활성화한 경우 각 데이터 요소는 시작 시간부터 1분간 활동을 다룹니다. 최소, 최대, 평균 통계의 경우 EC2에서 제공하는 지표의 최소 세분화 수준은 1분입니다.

AWS Management Console 또는 AWS CLI를 사용하여 사용 가능한 지표를 보는 방법에 대한 자세한 내용은 **Amazon CloudWatch 사용 설명서의 [사용 가능한 지표 보기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)를 참조하세요.

이 측정치에 대한 통계를 얻는 방법에 대한 자세한 내용은 [인스턴스에 대한 CloudWatch 지표 통계](monitoring_get_statistics.md) 섹션을 참조하세요.

**Topics**
+ [

## 인스턴스 지표
](#ec2-cloudwatch-metrics)
+ [

## 액셀러레이터 지표
](#accelerator-metrics)
+ [

## CPU 크레딧 지표
](#cpu-credit-metrics)
+ [

## 전용 호스트 지표
](#dh-metrics)
+ [

## Nitro 기반 인스턴스용 Amazon EBS 지표
](#ebs-metrics-nitro)
+ [

## 상태 확인 지표
](#status-check-metrics)
+ [

## 트래픽 미러링 지표
](#traffic-mirroring-metrics)
+ [

## Auto Scaling 그룹 지표
](#autoscaling-metrics)
+ [

## Amazon EC2 지표 차원
](#ec2-cloudwatch-dimensions)
+ [

## Amazon EC2 사용량 지표
](#service-quota-metrics)

## 인스턴스 지표
<a name="ec2-cloudwatch-metrics"></a>

`AWS/EC2` 네임스페이스에는 다음 인스턴스 지표가 포함되어 있습니다.


| 측정치 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
| CPUUtilization |  Amazon EC2에서 EC2 인스턴스 실행에 사용하는 물리적 CPU 시간의 비율로, 사용자 코드와 Amazon EC2 코드를 실행하는 데 소요되는 시간이 모두 포함됩니다. 대략적으로 `CPUUtilization`은 게스트 `CPUUtilization` 및 하이퍼바이저 `CPUUtilization`의 합입니다. 레거시 디바이스 시뮬레이션, 비레거시 디바이스 구성, 인터럽트가 많은 워크로드, 실시간 마이그레이션, 실시간 업데이트 등의 요인으로 인해 운영 체제의 도구에 CloudWatch와 다른 비율이 표시될 수 있습니다.  |  Percent  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskReadOps |  지정된 시간 내에 인스턴스에 사용할 수 있는 모든 인스턴스 저장소 볼륨에서 읽기 작업 완료. 기간의 평균 IOPS(초당 I/O 작업 수)를 계산하려면 기간의 총 작업 수를 해당 기간의 초 수로 나누세요. 인스턴스 저장소 볼륨이 없으면 값이 0이거나 측정치가 보고되지 않습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskWriteOps |  지정된 시간 내에 인스턴스에 사용할 수 있는 모든 인스턴스 저장소 볼륨에 대한 쓰기 작업 완료. 기간의 평균 IOPS(초당 I/O 작업 수)를 계산하려면 기간의 총 작업 수를 해당 기간의 초 수로 나누세요. 인스턴스 저장소 볼륨이 없으면 값이 0이거나 측정치가 보고되지 않습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskReadBytes |  인스턴스에 사용할 수 있는 모든 인스턴스 저장소 볼륨에서 읽은 바이트 수. 이 지표는 애플리케이션이 인스턴스의 하드 디스크에서 읽는 데이터 볼륨을 결정하는 데 사용됩니다. 이를 사용하여 애플리케이션의 속도를 결정할 수 있습니다. 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `DiskReadBytes`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Use metric math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)를 참조하세요. 인스턴스 저장소 볼륨이 없으면 값이 0이거나 측정치가 보고되지 않습니다.  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| DiskWriteBytes |  인스턴스에 사용할 수 있는 모든 인스턴스 저장소 볼륨에 쓴 바이트 수. 이 지표는 애플리케이션이 인스턴스의 하드 디스크에 쓰는 데이터 볼륨을 결정하는 데 사용됩니다. 이를 사용하여 애플리케이션의 속도를 결정할 수 있습니다. 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `DiskWriteBytes`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Use metric math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)를 참조하세요. 인스턴스 저장소 볼륨이 없으면 값이 0이거나 측정치가 보고되지 않습니다.  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| MetadataNoToken |  토큰을 사용하지 않는 방법으로 인스턴스 메타데이터 서비스(IMDS)에 성공적으로 액세스한 횟수입니다. 이 지표는 토큰을 사용하지 않는 인스턴스 메타데이터 서비스 버전 1(IMDSv1)을 사용 중인 인스턴스 메타데이터에 액세스하는 프로세스가 있는지 확인하는 데 사용됩니다. 모든 요청이 토큰 지원 세션을 사용하는 경우(즉, 인스턴스 메타데이터 서비스 버전 2(IMDSv2)) 값은 0입니다. 자세한 내용은 [인스턴스 메타데이터 서비스 버전 2 사용으로 전환](instance-metadata-transition-to-version-2.md) 섹션을 참조하세요.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| MetadataNoTokenRejected |  IMDSv1이 비활성화된 후 IMDSv1 직접 호출을 시도한 횟수입니다. 이 지표가 나타나면 IMDSv1 직접 호출이 시도되었지만 거부되었음을 나타냅니다. IMDSv1을 다시 활성화하거나 모든 직접 호출에서 IMDSv2를 사용하도록 할 수 있습니다. 자세한 내용은 [인스턴스 메타데이터 서비스 버전 2 사용으로 전환](instance-metadata-transition-to-version-2.md) 섹션을 참조하세요.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkIn |  모든 네트워크 인터페이스에서 인스턴스가 받은 바이트 수입니다. 이 측정치는 단일 인스턴스로 들어오는 네트워크 트래픽의 볼륨을 식별합니다. 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 합계인 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링으로 설정되어 있고 통계가 합계인 경우 60으로 나눕니다.  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkOut |  모든 네트워크 인터페이스에서 인스턴스가 보낸 바이트 수입니다. 이 측정치는 단일 인스턴스에서 나가는 네트워크 트래픽의 볼륨을 식별합니다. 보고된 숫자는 해당 기간에 전송된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 합계인 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링으로 설정되어 있고 통계가 합계인 경우 60으로 나눕니다.  |  Bytes  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkPacketsIn |  모든 네트워크 인터페이스에서 인스턴스가 받은 패킷 수입니다. 이 지표는 단일 인스턴스에서 수신 트래픽의 볼륨을 패킷 수 기준으로 식별합니다. 이 지표는 기본 모니터링에만 사용할 수 있습니다(5분간). 인스턴스가 5분 동안 수신한 PPS(패킷/초) 수를 계산하려면 Sum 통계 값을 300으로 나눕니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| NetworkPacketsOut |  모든 네트워크 인터페이스에서 인스턴스가 보낸 패킷 수입니다. 이 지표는 단일 인스턴스에서 발신 트래픽의 볼륨을 패킷 수 기준으로 식별합니다. 이 지표는 기본 모니터링에만 사용할 수 있습니다(5분간). 인스턴스가 5분 동안 전송한 PPS(패킷/초) 수를 계산하려면 통계 값 합계를 300으로 나눕니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## 액셀러레이터 지표
<a name="accelerator-metrics"></a>

`AWS/EC2` 네임스페이스에는 [가속 컴퓨팅 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html)에 대한 다음과 같은 액셀러레이터 지표가 포함되어 있습니다. 이 지표는 가속 컴퓨팅 인스턴스 유형의 하위 집합에서만 지원됩니다.


| 지표 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
| GPUPowerUtilization | 최대 유효 전력의 백분율로 나타낸 유효 전력 사용량입니다. | % |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## CPU 크레딧 지표
<a name="cpu-credit-metrics"></a>

`AWS/EC2` 네임스페이스에는 [성능 버스트 가능 인스턴스](burstable-performance-instances.md)에 대한 다음 CPU 크레딧 지표가 포함되어 있습니다.


| 측정치 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
| CPUCreditUsage |  CPU 사용률을 위해 인스턴스에서 소비되는 CPU 크레딧의 수입니다. CPU 크레딧 하나는 1분 동안 100%의 사용률로 실행되는 vCPU 1개 또는 이와 동등한 vCPU, 사용률 및 시간의 조합과 동일합니다(예를 들어 2분 동안 50%의 사용률로 실행되는 vCPU 1개 또는 2분 동안 25%의 사용률로 실행되는 vCPU 2개). CPU 크레딧 지표는 5분 간격으로만 제공됩니다. 5분 이상의 시간을 지정할 경우 `Sum` 통계 대신 `Average` 통계를 사용하세요.  |  크레딧(vCPU-분)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUCreditBalance |  시작 이후 인스턴스가 누적한 획득 CPU 크레딧 수입니다. T2 스탠다드의 경우 `CPUCreditBalance`에 누적된 시작 크레딧 수도 포함됩니다. 크레딧은 획득 이후에 크레딧 밸런스에 누적되고, 소비 시 크레딧 밸런스에서 소멸됩니다. 크레딧 밸런스는 최대 한도(인스턴스 크기에 따라 결정)가 있습니다. 한도에 도달하면 새로 획득한 크레딧이 모두 삭제됩니다. T2 스탠다드의 경우 시작 크레딧은 한도에 포함되지 않습니다. `CPUCreditBalance`의 크레딧은 인스턴스가 기준 CPU 사용률 이상으로 버스터를 하는 데 소비할 수 있습니다. 인스턴스가 실행 중인 동안 `CPUCreditBalance`의 크레딧은 만료되지 않습니다. T3 또는 T3a 인스턴스가 중지되면 `CPUCreditBalance` 값은 7일 동안 지속됩니다. 그 이후에는 누적된 크레딧이 모두 삭제됩니다. T2 인스턴스가 중지되면 `CPUCreditBalance` 값은 지속되지 않고 누적된 크레딧이 모두 삭제됩니다. CPU 크레딧 지표는 5분 간격으로만 제공됩니다.  |  크레딧(vCPU-분)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUSurplusCreditBalance  |  `unlimited` 값이 0일 때 `CPUCreditBalance` 인스턴스에서 소비된 잉여 크레딧의 수 입니다. 획득한 CPU 크레딧에 따라 `CPUSurplusCreditBalance` 값이 청산됩니다. 잉여 크레딧의 수가 인스턴스가 24시간 동안 획득할 수 있는 최대 크레딧 수를 초과한 경우 최대 값 이상으로 소비된 잉여 크레딧은 추가 요금으로 부과됩니다. CPU 크레딧 지표는 5분 간격으로만 제공됩니다.  |  크레딧(vCPU-분)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| CPUSurplusCreditsCharged |  획득한 CPU 크레딧으로 청산되지 않는 소비 잉여 크레딧의 수로, 추가 요금으로 부과됩니다. 소비된 잉여 크레딧은 다음이 발생할 때 요금이 부과됩니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) CPU 크레딧 지표는 5분 간격으로만 제공됩니다.  |  크레딧(vCPU-분)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## 전용 호스트 지표
<a name="dh-metrics"></a>

`AWS/EC2` 네임스페이스에는 다음과 같이 전용 호스트의 지표가 포함되어 있습니다.


| 지표 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
|  DedicatedHostCPUUtilization |  전용 호스트에서 실행 중인 인스턴스에서 현재 사용 중인 할당된 컴퓨팅 용량의 백분율입니다.  |  Percent  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## Nitro 기반 인스턴스용 Amazon EBS 지표
<a name="ebs-metrics-nitro"></a>

`AWS/EC2` 네임스페이스에는 베어 메탈 인스턴스가 아닌 Nitro 기반 인스턴스에 연결된 볼륨에 대한 추가 Amazon EBS 지표가 포함됩니다.


| 지표 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
|  InstanceEBSIOPSExceededCheck  |  애플리케이션이 지난 1분 이내에 인스턴스의 최대 EBS IOPS 제한을 초과하는 IOPS를 시도했는지 보고합니다. 이 지표는 `0`(IOPS를 초과하지 않음) 또는 `1`(IOPS를 초과함)일 수 있습니다.  |  없음  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  InstanceEBSThroughputExceededCheck  |  애플리케이션이 지난 1분 이내에 인스턴스의 최대 EBS 처리량 제한을 초과하는 처리량을 시도했는지 보고합니다. 이 지표는 `0`(처리량 초과 안 함) 또는 `1`(처리량 초과함)일 수 있습니다.  |  없음  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSReadOps |  지정된 기간 내에 인스턴스에 연결된 모든 Amazon EBS 볼륨에서 완료된 읽기 작업입니다. 해당 기간의 초당 평균 읽기 I/O 작업 수(읽기 IOPS)를 계산하려면 해당 기간의 총 작업 수를 해당 기간의 초 수로 나누세요. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 읽기 IOPS를 계산할 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 작업 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `EBSReadOps`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(작업/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [지표 수학 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)을 참조하세요.  |  개수  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSWriteOps  |  지정된 기간 내에 인스턴스에 연결된 모든 EBS 볼륨으로의 완료된 쓰기 작업입니다. 해당 기간의 초당 평균 쓰기 I/O 작업 수(쓰기 IOPS)를 계산하려면 해당 기간의 총 작업 수를 해당 기간의 초 수로 나누세요. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 쓰기 IOPS를 계산할 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 작업 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `EBSWriteOps`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(작업/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [지표 수학 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)을 참조하세요.  |  개수  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSReadBytes  |  지정된 기간 내에 인스턴스에 연결된 모든 EBS 볼륨에서의 바이트 읽기 작업입니다. 보고된 숫자는 해당 기간에 읽은 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 읽기 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `EBSReadBytes`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Use metric math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)를 참조하세요.  |  바이트  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSWriteBytes  |  지정된 기간 내에 인스턴스에 연결된 모든 EBS 볼륨으로의 바이트 쓰기 작업입니다. 보고된 숫자는 해당 기간에 써진 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 쓰기 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 `EBSWriteBytes`을 `m1`로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 기타 지표 수학 함수에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Use metric math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)를 참조하세요.  |  바이트  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSIOBalance%  |  버스트 버킷에 남아 있는 I/O 크레딧의 비율에 대한 정보를 제공합니다. 기본 모니터링에서만 이 지표를 사용할 수 있습니다. 이 지표는 24시간에 한 번 이상 30분 동안만 최대 성능을 발휘하는 일부 `*.4xlarge` 인스턴스 크기 이하에서만 사용할 수 있습니다. `Sum` 통계는 이 지표에 적용할 수 없습니다.  |  %  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
|  EBSByteBalance%  |  버스트 버킷에 남아 있는 처리량 크레딧의 비율에 대한 정보를 제공합니다. 기본 모니터링에서만 이 지표를 사용할 수 있습니다. 이 지표는 24시간에 한 번 이상 30분 동안만 최대 성능을 발휘하는 일부 `*.4xlarge` 인스턴스 크기 이하에서만 사용할 수 있습니다. `Sum` 통계는 이 지표에 적용할 수 없습니다.  |  %  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

EBS 볼륨에 대해 제공되는 지표에 대한 자세한 내용은 *Amazon EBS 사용 설명서*의 [Metrics for Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html#ebs-volume-metrics)를 참조하세요. EC2 Fleet 및 스팟 플릿에 제공되는 지표에 대한 자세한 내용은 [CloudWatch를 사용하여 EC2 Fleet 또는 스팟 플릿 모니터링](ec2-fleet-cloudwatch-metrics.md)의 내용을 참조하세요.

## 상태 확인 지표
<a name="status-check-metrics"></a>

기본적으로 시스템 상태 지표는 1분 주기로 무료로 사용할 수 있습니다. 새로 시작된 인스턴스의 경우, 인스턴스에서 초기화 상태를 완료해야 상태 확인 지표 데이터를 얻을 수 있습니다(인스턴스가 `running` 상태로 시작되는 몇 분 내). EC2 상태 확인에 대한 자세한 내용은 [Amazon EC2 인스턴스 상태 확인](monitoring-system-instance-status-check.md) 섹션을 참조하세요.

`AWS/EC2` 네임스페이스에는 다음과 같은 상태 확인 지표가 포함되어 있습니다.


| 지표 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
| StatusCheckFailed |  인스턴스가 마지막으로 모든 상태 확인을 통과했는지 여부를 보고합니다. 이 지표는 `0`(통과) 또는 `1`(실패)이 될 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료로 사용할 수 있습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1Instance |  인스턴스가 마지막으로 인스턴스 상태 확인을 통과했는지 여부를 보고합니다. 이 지표는 `0`(통과) 또는 `1`(실패)이 될 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료로 사용할 수 있습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1System |  인스턴스가 마지막으로 시스템 상태 확인을 통과했는지 여부를 보고합니다. 이 지표는 `0`(통과) 또는 `1`(실패)이 될 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료로 사용할 수 있습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 
| StatusCheckFailed\$1AttachedEBS |  인스턴스가 마지막으로 연결된 EBS 상태 확인을 통과했는지 여부를 보고합니다. 이 지표는 `0`(통과) 또는 `1`(실패)이 될 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료로 사용할 수 있습니다.  |  Count  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

`AWS/EBS` 네임스페이스에는 다음과 같은 상태 확인 지표가 포함되어 있습니다.


| 지표 | 설명 | 단위 | 의미 있는 통계 | 
| --- | --- | --- | --- | 
| VolumeStalledIOCheck |  **참고:** Nitro 인스턴스에만 해당됩니다. Amazon ECS 및 AWS Fargate 작업에 연결된 볼륨에 대해서는 게시되지 않았습니다. 볼륨이 마지막 1분 동안 *멈춘 IO 검사*를 통과했는지 아니면 실패했는지 보고합니다. 이 지표는 `0`(통과) 또는 `1`(실패)이 될 수 있습니다.  |  없음  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html)  | 

## 트래픽 미러링 지표
<a name="traffic-mirroring-metrics"></a>

`AWS/EC2` 네임스페이스에는 미러링된 트래픽에 대한 지표가 포함됩니다. 자세한 내용은 Amazon VPC Traﬃc Mirroring 가이드**의 [Amazon CloudWatch를 사용한 미러링된 트래픽 모니터링](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirror-cloudwatch.html)을 참조하세요.

## Auto Scaling 그룹 지표
<a name="autoscaling-metrics"></a>

`AWS/AutoScaling` 네임스페이스에는 Auto Scaling 그룹에 대한 지표가 포함됩니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서**에서 [Auto Scaling 그룹 및 인스턴스에 대한 CloudWatch 지표 모니터링](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html)을 참조하세요.

## Amazon EC2 지표 차원
<a name="ec2-cloudwatch-dimensions"></a>

다음 차원을 사용하여 이전 표에 나열된 지표를 구체화할 수 있습니다.


| 차원 | 설명 | 
| --- | --- | 
|  AutoScalingGroupName  |  이 차원은 사용자가 지정된 용량 그룹의 모든 인스턴스에 대해 요청하는 데이터를 필터링합니다. *Auto Scaling 그룹*은 Auto Scaling를 사용할 경우 사용자가 정의하는 인스턴스 모음입니다. 이 차원은 인스턴스가 이러한 Auto Scaling 그룹에 있을 때 Amazon EC2 측정치에만 사용할 수 있습니다. 세부 또는 기본 모니터링이 설정된 인스턴스에 사용할 수 있습니다.  | 
|  ImageId  |  이 차원은 사용자가 이 Amazon EC2 Amazon Machine Image(AMI)를 실행하는 모든 인스턴스에 대해 요청하는 데이터를 필터링합니다. 세부 모니터링이 설정된 인스턴스에 사용할 수 있습니다.  | 
|  InstanceId  |  이 차원은 사용자가 식별된 인스턴스에 대해 요청하는 데이터만 필터링합니다. 이는 데이터를 모니터링할 정확한 인스턴스를 정확히 식별하는 데 도움이 됩니다.  | 
|  InstanceType  |  이 차원은 사용자가 지정된 이 인스턴스 유형으로 실행되는 모든 인스턴스에 대해 요청하는 데이터를 필터링합니다. 이는 실행 중인 인스턴스 유형별로 데이터를 범주화하는 데 도움이 됩니다. 예를 들어, m1.small 인스턴스와 m1.large 인스턴스의 데이터를 비교하여 애플리케이션에 대해 더 높은 비즈니스 가치를 가진 인스턴스를 결정할 수 있습니다. 세부 모니터링이 설정된 인스턴스에 사용할 수 있습니다.  | 

## Amazon EC2 사용량 지표
<a name="service-quota-metrics"></a>

CloudWatch 사용량 지표를 사용하여 계정의 리소스 사용량을 확인할 수 있습니다. 이러한 지표를 사용하여 CloudWatch 그래프 및 대시보드에서 현재 서비스 사용량을 시각화합니다.

Amazon EC2 사용량 지표는 AWS Service Quotas에 해당합니다. 사용량이 서비스 할당량에 가까워지면 경고하는 경보를 구성할 수 있습니다. CloudWatch Service Quotas 통합에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [AWS 사용량 지표](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html)를 참조하세요.

Amazon EC2는 `AWS/Usage` 네임스페이스에 다음 지표를 게시합니다.


| 측정치 | 설명 | 
| --- | --- | 
| `ResourceCount` |  계정에서 실행 중인 지정된 리소스의 수입니다. 리소스는 지표와 연결된 차원에 의해 정의됩니다. 이 지표에 대한 가장 유용한 통계는 1분 동안 사용되는 최대 리소스 수를 나타내는 `MAXIMUM`입니다.  | 

다음 차원은 Amazon EC2에 의해 게시되는 사용량 지표를 구체화하는 데 사용됩니다.


| 차원 | 설명 | 
| --- | --- | 
|  Service  |  리소스가 포함된 AWS 서비스의 이름 Amazon EC2 사용량 지표의 경우 이 차원 값은 `EC2`입니다.  | 
|  Type  |  보고되는 엔터티의 유형입니다. 현재 Amazon EC2 사용량 지표에 대한 유일한 유효 값은 `Resource`입니다.  | 
|  Resource  |  실행 중인 리소스의 유형입니다. 현대 Amazon EC2 사용량 지표에 대한 유일한 유효 값은 실행 중인 인스턴스에 대한 정보를 반환하는 `vCPU`입니다.  | 
|  Class  |  추적 중인 리소스의 클래스. `vCPU` 차원의 값이 `Resource`인 Amazon EC2 사용량 지표의 경우 유효한 값은 `Standard/OnDemand`, `F/OnDemand`, `G/OnDemand`, `Inf/OnDemand`, `P/OnDemand` 및 `X/OnDemand`입니다. 이 차원의 값은 지표에서 보고하는 인스턴스 유형의 첫 글자를 정의합니다. 예를 들어, `Standard/OnDemand`는 유형이 A, C, D, H, I, M, R, T 및 Z로 시작하는 모든 실행 중인 인스턴스에 대한 정보를 반환하며 `G/OnDemand`는 유형이 G로 시작하는 모든 실행 중인 인스턴스에 대한 정보를 반환합니다.  | 

# Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트를 설치 및 구성하고 지표 추가
<a name="install-and-configure-cloudwatch-agent-using-ec2-console"></a>


|  | 
| --- |
| Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트를 설치 및 구성하는 기능은 Amazon EC2의 베타 버전에서 제공되며, 변경 가능합니다. | 

기본적으로 Amazon CloudWatch는 Amazon EC2 인스턴스를 모니터링하기 위한 `CPUUtilization` 및 `NetworkIn` 등의 기본 지표를 제공합니다. 추가 지표를 수집하려면 EC2 인스턴스에 CloudWatch 에이전트를 설치한 다음 선택한 지표를 내보내도록 에이전트를 구성합니다. 모든 EC2 인스턴스에 CloudWatch 에이전트를 수동으로 설치하고 구성하는 대신 Amazon EC2 콘솔을 사용하여 이 작업을 대신 수행할 수 있습니다.

Amazon EC2 콘솔을 사용하여 인스턴스에 CloudWatch 에이전트를 설치하고 선택한 지표를 내보내도록 에이전트를 구성할 수 있습니다.

또는 이 프로세스를 수동으로 완료하려면 *Amazon CloudWatch 사용 설명서*에서 [CloudWatch 에이전트 설치](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)를 참조하세요. CloudWatch 에이전트에 대한 자세한 내용은 [CloudWatch 에이전트를 사용한 지표, 로그 및 추적 수집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)을 참조하세요.

**Topics**
+ [

## 사전 조건
](#install-and-configure-cw-agent-prerequisites)
+ [

## 작동 방식
](#install-and-configure-cw-agent-how-it-works)
+ [

## 비용
](#install-and-configure-cw-agent-costs)
+ [

## CloudWatch 에이전트 설치 및 구성
](#install-and-configure-cw-agent-procedure)

## 사전 조건
<a name="install-and-configure-cw-agent-prerequisites"></a>

Amazon EC2를 사용하여 CloudWatch 에이전트를 설치 및 구성하려면 이 섹션에 설명된 사용자 및 인스턴스 사전 조건을 충족해야 합니다.

**작은 정보**  
이 기능은 일부 AWS 리전에서는 아직 사용할 수 없습니다. 이 페이지의 설치 절차에 설명된 메뉴 항목이 Amazon EC2 콘솔에 없고 인스턴스가 실행되는 위치를 유연하게 조정할 수 있는 경우 다른 리전을 시도하세요. 그렇지 않으면 *Amazon CloudWatch 사용 설명서*의 수동 지침을 사용하여 에이전트를 설치하고 구성할 수 있습니다.

**사용자 사전 조건**  
이 기능을 사용하려면 IAM 콘솔 사용자 또는 역할에 Amazon EC2를 사용하는 데 필요한 권한 및 다음과 같은 IAM 권한이 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter",
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:*:*:parameter/EC2-Custom-Metrics-*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand",
                "ssm:ListCommandInvocations",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetInstanceProfile",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**인스턴스 사전 조건**
+ 인스턴스 상태: `running`
+ 지원되는 운영 체제: Linux
+ AWS Systems Manager Agent(SSM Agent): 설치되었습니다. SSM Agent에 대한 두 가지 참고 사항:
  + SSM Agent는 AWS 및 신뢰할 수 있는 타사에서 제공하는 일부 Amazon Machine Image(AMI)에 사전 설치되어 있습니다. 지원되는 AMI와 SSM Agent 설치 지침에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [SSM Agent가 사전 설치된 Amazon Machine Image(AMI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html)를 참조하세요.
  + SSM Agent에서 문제가 발생하는 경우 *AWS Systems Manager 사용 설명서*의 [SSM Agent 문제 해결](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-ssm-agent.html)을 참조하세요.
+ 인스턴스에 대한 IAM 권한: 인스턴스에 연결된 IAM 역할에 다음과 같은 AWS 관리형 정책을 추가해야 합니다.
  + [AmazonSSMManagedInstanceCore](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) – 인스턴스를 통해 Systems Manager를 사용하여 CloudWatch 에이전트를 설치 및 구성합니다.
  + [CloudWatchAgentServerPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAgentServerPolicy.html) – 인스턴스를 통해 CloudWatch 에이전트를 사용하여 CloudWatch에 데이터를 씁니다.

  인스턴스에 IAM 권한을 추가하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [인스턴스 프로파일 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)을 참조하세요.

## 작동 방식
<a name="install-and-configure-cw-agent-how-it-works"></a>

Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트를 설치하고 구성하려면 먼저 IAM 사용자 또는 역할, 그리고 지표를 추가하려는 인스턴스가 특정 사전 조건을 충족하는지 확인해야 합니다. 그런 다음 Amazon EC2 콘솔을 사용하여 선택한 인스턴스에 CloudWatch 에이전트를 설치하고 구성할 수 있습니다.

**먼저 [사전 조건](#install-and-configure-cw-agent-prerequisites)을 충족해야 합니다.**
+ **필수 IAM 권한 필요** - 시작하기 전에 콘솔 사용자 또는 역할에 이 기능을 사용하는 데 필요한 IAM 권한이 있는지 확인합니다.
+ **인스턴스** - 이 기능을 사용하려면 EC2 인스턴스가 Linux 인스턴스이고, SSM Agent가 설치되어 있으며, 필요한 IAM 권한이 있고, 실행 중이어야 합니다.

**그러면 [이 기능을 사용](#install-and-configure-cw-agent-procedure)할 수 있습니다.**

1. **인스턴스 선택** - Amazon EC2 콘솔에서 CloudWatch 에이전트를 설치하고 구성할 인스턴스를 선택합니다. 그런 다음 **CloudWatch 에이전트 구성**을 선택하여 프로세스를 시작합니다.

1. **SSM Agent 검증** - Amazon EC2는 SSM Agent가 각 인스턴스에 설치되고 시작되었는지 확인합니다. 이 검사에 실패한 모든 인스턴스는 프로세스에서 제외됩니다. SSM Agent는 이 프로세스 중에 인스턴스에서 작업을 수행하는 데 사용됩니다.

1. **IAM 권한 검증** - Amazon EC2는 각 인스턴스에 이 프로세스에 필요한 IAM 권한이 있는지 확인합니다. 이 검사에 실패한 모든 인스턴스는 프로세스에서 제외됩니다. IAM 권한을 통해 CloudWatch 에이전트는 인스턴스에서 지표를 수집하고 AWS Systems Manager와 통합하여 SSM Agent를 사용할 수 있습니다.

1. **CloudWatch 에이전트 검증** - Amazon EC2는 CloudWatch 에이전트가 각 인스턴스에 설치되어 실행 중인지 확인합니다. 이 검사에 실패한 인스턴스가 있는 경우 Amazon EC2에서 CloudWatch 에이전트를 설치하고 시작하도록 제안합니다. CloudWatch 에이전트는 이 프로세스가 완료되면 각 인스턴스에서 선택한 지표를 수집합니다.

1. **지표 구성 선택** - CloudWatch 에이전트가 인스턴스에서 내보낼 지표를 선택합니다. 선택한 후에는 Amazon EC2가 Parameter Store에 구성 파일을 저장하며, 이 파일은 프로세스가 완료될 때까지 여기에 보관됩니다. Amazon EC2는 프로세스가 중단되지 않는 한 Parameter Store에서 구성 파일을 삭제합니다. 지표를 선택하지 않았지만 이전에 인스턴스에 지표를 추가한 경우 이 프로세스가 완료되면 인스턴스에서 해당 지표가 제거됩니다.

1. **CloudWatch 에이전트 구성 업데이트** - Amazon EC2는 지표 구성을 CloudWatch 에이전트에 보냅니다. 이 프로세스의 마지막 단계입니다. 성공하면 인스턴스가 선택한 지표에 대한 데이터를 내보낼 수 있으며 Amazon EC2는 Parameter Store에서 구성 파일을 삭제합니다.

## 비용
<a name="install-and-configure-cw-agent-costs"></a>

이 프로세스 중에 추가하는 지표는 사용자 지정 지표로 청구됩니다. CloudWatch 지표 요금에 대한 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

## CloudWatch 에이전트 설치 및 구성
<a name="install-and-configure-cw-agent-procedure"></a>

Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트를 설치 및 구성하고 지표를 추가할 수 있습니다.

**참고**  
이 절차를 수행할 때마다 기존 CloudWatch 에이전트 구성을 덮어씁니다. 이전에 선택한 지표를 선택하지 않으면 해당 지표가 인스턴스에서 제거됩니다.

**Amazon EC2 콘솔을 사용하여 CloudWatch 에이전트 설치 및 구성하려면**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. CloudWatch 에이전트를 설치하고 구성할 인스턴스를 선택합니다.

1. **작업**, **모니터링 및 문제 해결**, **CloudWatch 에이전트 구성**을 선택합니다.

1. 프로세스의 각 단계에서 콘솔 텍스트를 읽은 후 **다음**을 선택합니다.

1. 프로세스를 완료하려면 마지막 단계에서 **완료**를 선택합니다.

**Amazon EC2 콘솔에서 생성한 에이전트 구성을 업데이트하려면**  
EC2 콘솔에서 생성한 구성을 수작업으로 사용자 지정할 수 있습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html)을 참조하세요.

# 인스턴스에 대한 CloudWatch 지표 통계
<a name="monitoring_get_statistics"></a>

인스턴스에 대한 CloudWatch 측정치 통계를 볼 수 있습니다. *통계*는 지정한 기간에 걸친 지표 데이터 집계입니다. CloudWatch는 사용자 지정 데이터를 통해 제공되었거나 다른 AWS 서비스에서 CloudWatch에 제공한 지표 데이터 요소를 기반으로 통계를 제공합니다. 집계는 네임스페이스, 지표 이름, 차원 및 데이터 요소 측정 단위를 사용하여 지정한 기간에 대해 수행됩니다. 다음 표에서는 사용 가능한 통계에 대해 설명합니다.


| 통계 | 설명 | 
| --- | --- | 
| Minimum |  지정된 기간 중 관찰된 가장 낮은 값입니다. 이 값을 사용하여 애플리케이션에 대한 낮은 볼륨의 활동을 확인할 수 있습니다.  | 
| Maximum |  지정된 기간 중 관찰된 가장 높은 값입니다. 이 값을 사용하여 애플리케이션에 대한 높은 볼륨의 활동을 확인할 수 있습니다.  | 
| Sum |  일치하는 지표에 대해 제출된 모든 값이 서로 더해진 값입니다. 이 통계는 지표의 총 볼륨을 확인할 때 유용할 수 있습니다.  | 
| Average |  지정된 기간 중 `Sum`/`SampleCount`의 값입니다. 이 통계를 `Minimum` 및 `Maximum`과 비교하면 지표의 전체 범위와 평균 사용량이 `Minimum` 및 `Maximum`에 얼마나 근접했는지 확인할 수 있습니다. 이와 같은 비교를 통해 필요에 따라 리소스를 늘리거나 줄어야 하는 시점을 파악할 수 있습니다.  | 
| SampleCount |  통계 계산에 사용된 데이터 요소의 수(숫자)입니다.  | 
| pNN.NN |  지정된 백분위 수의 값. 소수점 두 자리까지 사용하여 백분위 수를 지정할 수 있습니다(예: p95.45).  | 

**Topics**
+ [

# 특정 인스턴스에 대한 통계 가져오기
](US_SingleMetricPerInstance.md)
+ [

# 여러 인스턴스의 통계 집계
](GetSingleMetricAllDimensions.md)
+ [

# Auto Scaling 그룹별 통계 집계
](GetMetricAutoScalingGroup.md)
+ [

# AMI별 집계 통계
](US_SingleMetricPerAMI.md)

# 특정 인스턴스에 대한 통계 가져오기
<a name="US_SingleMetricPerInstance"></a>

AWS Management Console 또는 AWS CLI를 사용하여 특정 인스턴스에 대한 통계를 구할 수 있습니다. 다음 예제는 AWS Management Console 또는 AWS CLI 명령을 사용하여 특정 EC2 인스턴스의 최대 CPU 사용률을 확인하는 방법을 보여 줍니다.

**요구 사항**
+ 인스턴스의 ID가 필요합니다. 인스턴스 ID는 AWS Management Console이나 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용하여 확인할 수 있습니다.
+ 기본적으로 기본 모니터링이 사용되지만 세부 모니터링을 사용하도록 설정할 수 있습니다. 자세한 내용은 [EC2 인스턴스에 대한 세부 모니터링 관리](manage-detailed-monitoring.md) 섹션을 참조하세요.

**특정 인스턴스에 대한 CPU 사용률을 표시하려면(콘솔)**

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

1. 탐색 창에서 [**지표(Metrics)**]를 선택합니다.

1. **EC2** 측정치 네임스페이스를 선택합니다.

1. **인스턴스별 지표** 차원을 선택합니다.

1. 검색 필드에 **CPUUtilization**을 입력하고 Enter를 누릅니다. 특정 인스턴스의 행을 선택합니다. 그러면 해당 인스턴스의 **CPUUtilization** 측정치 그래프가 표시됩니다. 그래프 이름을 지정하려면 연필 아이콘을 선택합니다. 시간 범위를 변경하려면 제공되는 값 중 하나를 선택하거나 **사용자 지정**을 선택합니다.  
![\[단일 지표 그래프 작성\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/metric_statistics_ec2_instance.png)

1. 측정치에 대한 통계 또는 기간을 변경하려면 **그래프로 표시된 지표** 탭을 선택합니다. 열 머리글이나 개별 값을 선택한 후 다른 값을 선택합니다.  
![\[측정치의 통계 또는 기간 변경\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/metric_statistics_ec2_instance_statistic_period.png)

**특정 인스턴스에 대한 CPU 사용률을 확인하려면(AWS CLI)**  
다음 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용하여, 지정된 기간 및 시간 간격을 사용하는 지정된 인스턴스의 **CPUUtilization** 측정치를 확인합니다.

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization  --period 3600 \
--statistics Maximum --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--start-time 2022-10-18T23:18:00 --end-time 2022-10-19T23:18:00
```

다음은 예제 출력입니다. 각 값은 단일 EC2 인스턴스에 대한 최대 CPU 사용률을 나타냅니다.

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-10-19T00:18:00Z", 
            "Maximum": 0.33000000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T03:18:00Z", 
            "Maximum": 99.670000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T07:18:00Z", 
            "Maximum": 0.34000000000000002, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-19T12:18:00Z", 
            "Maximum": 0.34000000000000002, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# 여러 인스턴스의 통계 집계
<a name="GetSingleMetricAllDimensions"></a>

세부 모니터링이 활성화된 인스턴스에 대해서만 통계를 집계할 수 있습니다. 기본 모니터링을 사용하는 인스턴스는 집계에 포함되지 않습니다. 인스턴스 간에 집계된 통계를 얻으려면 1분 기간의 데이터를 제공하는 [세부 모니터링(추가 비용 발생)을 활성화](manage-detailed-monitoring.md#enable-detailed-monitoring)해야 합니다.

Amazon CloudWatch는 AWS 리전 전체의 데이터는 집계할 수 없습니다. 리전마다 지표가 완전히 분리되어 있습니다.

이 예제는 세부 모니터링을 사용하여 EC2 인스턴스의 평균 CPU 사용량을 확인하는 방법을 보여 줍니다. 지정된 차원이 없으므로 CloudWatch에서는 `AWS/EC2` 네임스페이스의 모든 차원에 대한 통계를 반환합니다.

**중요**  
AWS 네임스페이스에서 모든 차원을 검색하는 기능은 Amazon CloudWatch에 게시한 사용자 지정 네임스페이스에 대해서는 작동하지 않습니다. 사용자 지정 네임스페이스를 사용하는 경우 데이터 요소가 포함된 통계를 검색하려면 특정 데이터 요소와 연결된 전체 차원 세트를 지정해야 합니다.

**인스턴스 전반에 걸친 평균 CPU 사용률을 표시하려면(콘솔)**

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

1. 탐색 창에서 [**지표(Metrics)**]를 선택합니다.

1. **EC2** 네임스페이스를 선택한 후 **전체 인스턴스**를 선택합니다.

1. **CPUUtilization**을 포함하는 행을 선택합니다. 그러면 모든 EC2 인스턴스에 대한 지표 그래프가 표시됩니다. 그래프 이름을 지정하려면 연필 아이콘을 선택합니다. 시간 범위를 변경하려면 제공되는 값 중 하나를 선택하거나 **사용자 지정**을 선택합니다.  
![\[EC2 인스턴스에서 집계된 지표\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/metric_aggregated_instances.png)

1. 측정치에 대한 통계 또는 기간을 변경하려면 **그래프로 표시된 지표** 탭을 선택합니다. 열 머리글이나 개별 값을 선택한 후 다른 값을 선택합니다.

**인스턴스 간 평균 CPU 사용률을 얻으려면(AWS CLI)**  
다음과 같이 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용하여 인스턴스에 대한 평균 **CPUUtilization** 측정치를 확인합니다.

```
aws cloudwatch get-metric-statistics \
    --namespace AWS/EC2 \
    --metric-name CPUUtilization \ 
    --period 3600  --statistics "Average" "SampleCount" \ 
    --start-time 2022-10-11T23:18:00 \
    --end-time 2022-10-12T23:18:00
```

다음은 예제 출력입니다.

```
{
    "Datapoints": [
        {
            "SampleCount": 238.0, 
            "Timestamp": "2022-10-12T07:18:00Z", 
            "Average": 0.038235294117647062, 
            "Unit": "Percent"
        }, 
        {
            "SampleCount": 240.0, 
            "Timestamp": "2022-10-12T09:18:00Z", 
            "Average": 0.16670833333333332, 
            "Unit": "Percent"
        }, 
        {
            "SampleCount": 238.0, 
            "Timestamp": "2022-10-11T23:18:00Z", 
            "Average": 0.041596638655462197, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# Auto Scaling 그룹별 통계 집계
<a name="GetMetricAutoScalingGroup"></a>

EC2 인스턴스에 대한 통계를 하나의 Auto Scaling 그룹에 집계할 수 있습니다. Amazon CloudWatch는 AWS 리전 전체의 데이터는 집계할 수 없습니다. 리전마다 지표가 완전히 분리되어 있습니다.

이 예제는 하나의 Auto Scaling 그룹에 대해 디스크에 기록되는 총 바이트 수를 확인하는 방법을 보여 줍니다. 이 값은 지정한 Auto Scaling 그룹의 모든 EC2 인스턴스에 대해 24시간 간격으로 1분 기간에 대해 계산됩니다.

**Auto Scaling 그룹의 인스턴스에 대한 DiskWriteBytes를 보려면(콘솔)**

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

1. 탐색 창에서 [**지표(Metrics)**]를 선택합니다.

1. **EC2** 네임스페이스를 선택한 후 **Auto Scaling 그룹별**을 선택합니다.

1. **DiskWriteBytes** 측정치의 행과 특정 Auto Scaling 그룹을 선택합니다. 그러면 해당 Auto Scaling 그룹의 인스턴스에 대한 측정치 그래프가 표시됩니다. 그래프 이름을 지정하려면 연필 아이콘을 선택합니다. 시간 범위를 변경하려면 제공되는 값 중 하나를 선택하거나 **사용자 지정**을 선택합니다.

1. 측정치에 대한 통계 또는 기간을 변경하려면 **그래프로 표시된 지표** 탭을 선택합니다. 열 머리글이나 개별 값을 선택한 후 다른 값을 선택합니다.

**Auto Scaling 그룹의 인스턴스에 대한 DiskWriteBytes를 표시하려면(AWS CLI)**  
다음과 같이 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용합니다.

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name DiskWriteBytes --period 360 \
--statistics "Sum" "SampleCount" --dimensions Name=AutoScalingGroupName,Value=my-asg --start-time 2022-10-16T23:18:00 --end-time 2022-10-18T23:18:00
```

다음은 예제 출력입니다.

```
{
    "Datapoints": [
        {
            "SampleCount": 18.0, 
            "Timestamp": "2022-10-19T21:36:00Z", 
            "Sum": 0.0, 
            "Unit": "Bytes"
        }, 
        {
            "SampleCount": 5.0, 
            "Timestamp": "2022-10-19T21:42:00Z", 
            "Sum": 0.0, 
            "Unit": "Bytes"
        }
    ], 
    "Label": "DiskWriteBytes"
}
```

# AMI별 집계 통계
<a name="US_SingleMetricPerAMI"></a>

세부 모니터링이 활성화된 인스턴스에 대해 AMI별로 통계를 집계할 수 있습니다. 기본 모니터링을 사용하는 인스턴스는 집계에 포함되지 않습니다. 인스턴스 간에 집계된 통계를 얻으려면 1분 기간의 데이터를 제공하는 [세부 모니터링(추가 비용 발생)을 활성화](manage-detailed-monitoring.md#enable-detailed-monitoring)해야 합니다.

Amazon CloudWatch는 AWS 리전 전체의 데이터는 집계할 수 없습니다. 리전마다 지표가 완전히 분리되어 있습니다.

이 예제는 특정 Amazon Machine Image(AMI)를 사용하는 모든 인스턴스의 평균 CPU 사용률을 확인하는 방법을 보여 줍니다. 평균은 1일 기간의 60초 시간 간격에 대한 평균입니다.

**AMI의 평균 CPU 사용률을 보려면(콘솔)**

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

1. 탐색 창에서 [**지표(Metrics)**]를 선택합니다.

1. **EC2** 네임스페이스를 선택한 후 **이미지(AMI) ID별**을 선택합니다.

1. **CPUUtilization** 측정치 행과 특정 AMI를 선택합니다. 그러면 지정한 AMI의 그래프가 표시됩니다. 그래프 이름을 지정하려면 연필 아이콘을 선택합니다. 시간 범위를 변경하려면 제공되는 값 중 하나를 선택하거나 **사용자 지정**을 선택합니다.

1. 측정치에 대한 통계 또는 기간을 변경하려면 **그래프로 표시된 지표** 탭을 선택합니다. 열 머리글이나 개별 값을 선택한 후 다른 값을 선택합니다.

**이미지 ID에 대한 평균 CPU 사용률을 얻으려면(AWS CLI)**  
다음과 같이 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용합니다.

```
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization  --period 3600 \
--statistics Average --dimensions Name=ImageId,Value=ami-3c47a355 --start-time 2022-10-10T00:00:00 --end-time 2022-10-11T00:00:00
```

다음은 예제 출력입니다. 각 값은 지정한 AMI를 실행 중인 EC2 인스턴스의 평균 CPU 사용률을 나타냅니다.

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-10-10T07:00:00Z", 
            "Average": 0.041000000000000009, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-10T14:00:00Z", 
            "Average": 0.079579831932773085, 
            "Unit": "Percent"
        }, 
        {
            "Timestamp": "2022-10-10T06:00:00Z", 
            "Average": 0.036000000000000011, 
            "Unit": "Percent"
        }
    ], 
    "Label": "CPUUtilization"
}
```

# 인스턴스에 대한 모니터링 그래프 보기
<a name="graphs-in-the-aws-management-console"></a>

인스턴스를 시작한 후 Amazon EC2 콘솔을 열고 [**모니터링**] 탭에서 인스턴스에 대한 모니터링 그래프를 볼 수 있습니다. 각 그래프는 사용 가능한 Amazon EC2 측정치 중 하나를 기반으로 합니다.

다음과 같은 그래프를 사용할 수 있습니다.
+ Average CPU Utilization (Percent)
+ Average Disk Reads (Bytes)
+ Average Disk Writes (Bytes)
+ Maximum Network In (Bytes)
+ Maximum Network Out (Bytes)
+ Summary Disk Read Operations (Count)
+ Summary Disk Write Operations (Count)
+ Summary Status (Any)
+ Summary Status Instance (Count)
+ Summary Status System (Count)

측정치와 이러한 측정치가 그래프에 제공하는 데이터에 대한 자세한 내용은 [인스턴스에 사용 가능한 CloudWatch 지표](viewing_metrics_with_cloudwatch.md) 섹션을 참조하세요.

**CloudWatch 콘솔을 사용한 측정치 그래프**  
CloudWatch 콘솔을 사용하여 Amazon EC2 및 기타 AWS 서비스에서 생성한 지표 데이터의 그래프를 생성할 수도 있습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*에서 [지표 그래프](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_metrics.html)를 참조하세요.

# 인스턴스에 대해 CloudWatch 경보 만들기
<a name="using-cloudwatch-createalarm"></a>

인스턴스 중 하나에 대한 CloudWatch 지표를 모니터링하는 CloudWatch 경보를 생성할 수 있습니다. 지표가 지정된 임곗값에 도달하면 CloudWatch에서 자동으로 알림을 보냅니다. Amazon EC2 콘솔이나 CloudWatch 콘솔에 제공된 고급 옵션을 사용하여 CloudWatch 경보를 만들 수 있습니다.

**CloudWatch 콘솔을 이용하여 경보 생성하기**  
구체적인 예시는 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

**Amazon EC2 콘솔을 이용하여 경보 생성하기**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 [**작업(Actions)**], [**모니터링 및 문제 해결(Monitor and troubleshoot)**], [**CloudWatch 경보 관리(Manage CloudWatch alarms)**]를 선택합니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 세부 정보 페이지의 [**경보 추가 또는 편집(Add or edit alarm)**]에서 [**경보 생성(Create an alarm)**]을 선택합니다.

1. **경보 알림**의 경우 Amazon Simple Notification Service(SNS) 알림을 구성할지 여부를 선택합니다. 기존 Amazon SNS 주제를 입력하거나 이름을 입력하여 새 주제를 생성합니다.

1. **경보 작업**의 경우 경보가 트리거될 때 수행할 작업을 지정할지 여부를 선택합니다. 목록에서 작업을 선택합니다.

1. **경보 임곗값**에 대해 경보에 대한 지표와 기준을 선택합니다. 예를 들어, 5분 동안 CPU 사용률이 80%에 도달할 때 트리거되는 경보를 생성하려면 다음을 수행합니다.

   1. **그룹 샘플링 기준**(**평균**) 및 **샘플링할 데이터 유형**(**CPU 사용률**)에 대한 기본 설정을 그대로 유지합니다.

   1. **경보 시기**에 대해 **>=**를 선택하고 **백분율**에 대해 **0.80**을 입력합니다.

   1. **연속 기간**에 **1**을 입력하고 **기간**에 **5분**을 선택합니다.

1. (선택 사항) **샘플 지표 데이터**의 경우 **대시보드에 추가**를 선택합니다.

1. **Create**를 선택합니다.

Amazon EC2 콘솔 또는 CloudWatch 콘솔에서 CloudWatch 경보 설정을 편집할 수 있습니다. 경보를 삭제하려는 경우 CloudWatch 콘솔에서 삭제할 수 있습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 경보 편집 또는 삭제](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Manage-CloudWatch-Alarm.html#Edit-CloudWatch-Alarm)를 참조하세요.

# 인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 만들기
<a name="UsingAlarmActions"></a>

Amazon CloudWatch 경보 작업을 사용하면 인스턴스를 자동으로 중지, 종료, 재부팅 또는 복구하는 경보를 만들 수 있습니다. 인스턴스를 더 이상 실행할 필요가 없을 때 중지 또는 종료 작업을 사용하여 비용을 절약할 수 있습니다. 재부팅 및 복구 작업을 사용하면 시스템 장애가 발생할 경우 인스턴스를 자동으로 재부팅하거나 새로운 하드웨어로 인스턴스를 복구할 수 있습니다.

**참고**  
Amazon CloudWatch 경보 결제 및 요금 정보는 **Amazon CloudWatch 사용 설명서의 [CloudWatch 결제 및 비용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html)을 참조하세요.

`AWSServiceRoleForCloudWatchEvents`는 AWS 서비스 연결 역할을 통해 사용자를 대신하여 경보 작업을 수행할 수 있습니다. AWS Management Console, AWS CLI 또는 IAM API에서 처음으로 경보를 생성하면 CloudWatch가 사용자를 대신해 서비스 연결 역할을 생성합니다.

인스턴스를 자동으로 중지하거나 종료해야 하는 경우는 매우 다양합니다. 예를 들어 일정 기간 동안 실행한 다음 작업을 완료하는 일괄 급여 처리 작업 또는 과학적 컴퓨팅 작업 전용 인스턴스가 있을 수 있습니다. 이러한 인스턴스를 유휴 상태로 유지하여 비용이 발생하도록 하는 대신 중지하거나 종료하면 비용을 절감할 수 있습니다. 경보 작업 중지와 종료 간의 주요 차이는 나중에 다시 실행해야 하는 경우 중지된 인스턴스는 쉽게 시작할 수 있고 동일한 인스턴스 ID 및 루트 볼륨을 유지할 수 있다는 점입니다. 그러나 종료된 인스턴스를 시작할 수는 없습니다. 대신, 새 인스턴스를 시작해야 합니다. 인스턴스가 중지되거나 종료되면 인스턴스 저장소 볼륨의 데이터가 손실됩니다.

Amazon CloudWatch에서 제공하는 기본 및 세부 모니터링 지표(`AWS/EC2` 네임스페이스)를 비롯한 인스턴스 측정치당 Amazon EC2 및 `InstanceId` 값이 실행 중인 유효한 Amazon EC2 인스턴스를 참조하는 경우 차원을 포함하는 모든 사용자 지정 지표에 대해 설정된 경보에 중지, 종료, 재부팅 또는 복구 작업을 추가할 수 있습니다.

**중요**  
누락된 지표 데이터 요소가 있는 경우 상태 검사 경보가 일시적으로 `INSUFFICIENT_DATA` 상태로 전환될 수 있습니다. 드물기는 하지만, 지표 보고 시스템이 중단되면 인스턴스가 정상인 경우에도 이 문제가 발생할 수 있습니다. 특히 인스턴스를 중지, 종료, 재부팅 또는 복구하도록 경보를 구성할 때는 `INSUFFICIENT_DATA` 상태를 경보 위반 대신 데이터 누락으로 취급하는 것이 좋습니다.

**콘솔 지원**  
Amazon EC2 콘솔 또는 CloudWatch 콘솔을 사용하여 경보를 만들 수 있습니다. 이 문서의 절차는 Amazon EC2 콘솔을 사용합니다. CloudWatch 콘솔을 사용하는 절차는 *Amazon CloudWatch 사용 설명서*의 [인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html)을 참조하세요.

**권한**  
EC2 경보 작업을 수행하는 경보를 생성하거나 수정하려면 `iam:CreateServiceLinkedRole`이 있어야 합니다. 서비스 역할은 서비스가 사용자를 대신하여 작업을 수행하는 것으로 가정하는 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)입니다. IAM 관리자는 IAM 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스 AWS에 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.

**Topics**
+ [

## Amazon CloudWatch 경보에 중지 작업 추가
](#AddingStopActions)
+ [

## Amazon CloudWatch 경보에 종료 작업 추가
](#AddingTerminateActions)
+ [

## Amazon CloudWatch 경보에 재부팅 작업 추가
](#AddingRebootActions)
+ [

## Amazon CloudWatch 경보에 복구 작업 추가
](#AddingRecoverActions)
+ [

# Amazon CloudWatch 경보 작업 시나리오
](AlarmActionScenarios.md)

## Amazon CloudWatch 경보에 중지 작업 추가
<a name="AddingStopActions"></a>

특정 임계값에 도달한 경우 Amazon EC2 인스턴스를 중지하는 경보를 만들 수 있습니다. 예를 들어 개발 또는 테스트 인스턴스를 실행한 후 종료하는 것을 잊을 수 있습니다. 24시간 동안 평균 CPU 사용률이 10% 아래로 떨어지는 경우 즉, 유휴 상태로 더 이상 사용되지 않는 경우 트리거되는 경보를 만들 수 있습니다. 필요에 맞춰 임계값 및 기간을 조정할 수 있습니다. 또한 경보가 트리거되면 이메일을 받을 수 있도록 Amazon Simple Notification Service(Amazon SNS) 알림을 추가할 수 있습니다.

Amazon EBS 볼륨을 루트 볼륨으로 사용하는 인스턴스는 중지하거나 종료할 수 있지만, 인스턴스 저장소를 루트 볼륨으로 사용하는 인스턴스는 종료만 할 수 있습니다. 인스턴스가 종료되거나 중지되면 인스턴스 저장소 볼륨의 데이터가 손실됩니다.

**유휴 인스턴스를 중지하는 경보를 생성하려면(Amazon EC2 콘솔)**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 [**작업(Actions)**], [**모니터링 및 문제 해결(Monitor and troubleshoot)**], [**CloudWatch 경보 관리(Manage CloudWatch alarms)**]를 선택합니다.

   또는 [**경보 상태(Alarm status)**] 열에서 더하기 기호(![\[Plus sign.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/add-plus.png))를 선택해도 됩니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지에서 다음을 수행합니다.

   1. [**경보 생성(Create an alarm)**]을 선택합니다.

   1. 경보가 트리거될 때 이메일을 받으려면 [**경보 알림(Alarm notification)**]에 대해 기존 Amazon SNS 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 *Amazon Simple Notification Service 개발자 안내서*에서 [A2P(Application-to-Person) 메시징에 Amazon SNS 사용](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)을 참조하세요.

   1. [**경보 작업(Alarm action)**]을 켜고 [**중지(Stop)**]를 선택합니다.

   1. [**샘플 그룹화 기준(Group samples by)**]과 [**샘플링할 데이터 유형(Type of data to sample)**]에 대해 통계 및 지표를 선택합니다. 이 예에서는 [**평균(Average)**] 및 [**CPU 사용률(CPU utilization)**]을 선택합니다.

   1. [**경보 시기(Alarm When)**] 및 [**백분율(Percent)**]에서 지표 임계값을 지정합니다. 이 예에서는 **>=** 및 **10**%를 지정합니다.

   1. [**연속 기간(Consecutive period)**]과 [**기간(Period)**]에 대해 경보의 평가 기간을 지정합니다. 이 예에서는 [**1**] 연속 기간([**5분(5 Minutes)**])을 지정합니다.

   1. Amazon CloudWatch에서 자동으로 경보 이름이 생성됩니다. 이름을 변경하려면 [**경보 이름(Alarm name)**]에 새 이름을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.
**참고**  
경보 구성은 경보를 만들기 전에 요구사항에 따라 조정하거나 나중에 편집할 수 있습니다. 이러한 구성에는 메트릭, 임계값, 기간, 작업 및 알림 설정이 있습니다. 그러나 경보를 만든 후에는 경보 이름은 편집할 수 없습니다.

   1. **Create**를 선택합니다.

## Amazon CloudWatch 경보에 종료 작업 추가
<a name="AddingTerminateActions"></a>

인스턴스에 대해 종료 보호가 비활성화되어 있는 경우에 한해서 특정 임계값에 도달한 경우 EC2 인스턴스를 자동으로 종료하는 경보를 만들 수 있습니다. 예를 들어 인스턴스의 작업 완료 후 해당 인스턴스가 다시 필요 없는 경우 인스턴스를 종료하려고 할 수 있습니다. 나중에 인스턴스를 사용하려는 경우에는 종료하지 말고 중지해야 합니다. 인스턴스가 종료될 때 인스턴스 저장소 볼륨의 데이터가 손실됩니다. 인스턴스 종료 방지 기능의 활성화/비활성화에 대한 자세한 내용은 [인스턴스 종료 방지 변경](Using_ChangingDisableAPITermination.md) 섹션을 참조하세요.

**유휴 인스턴스를 종료하는 경보를 생성하려면(Amazon EC2 콘솔)**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 [**작업(Actions)**], [**모니터링 및 문제 해결(Monitor and troubleshoot)**], [**CloudWatch 경보 관리(Manage CloudWatch alarms)**]를 선택합니다.

   또는 [**경보 상태(Alarm status)**] 열에서 더하기 기호(![\[Plus sign.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/add-plus.png))를 선택해도 됩니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지에서 다음을 수행합니다.

   1. [**경보 생성(Create an alarm)**]을 선택합니다.

   1. 경보가 트리거될 때 이메일을 받으려면 [**경보 알림(Alarm notification)**]에 대해 기존 Amazon SNS 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 *Amazon Simple Notification Service 개발자 안내서*에서 [A2P(Application-to-Person) 메시징에 Amazon SNS 사용](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)을 참조하세요.

   1. [**경보 작업(Alarm action)**]을 켜고 [**종료(Terminate)**]를 선택합니다.

   1. [**샘플 그룹화 기준(Group samples by)**]과 [**샘플링할 데이터 유형(Type of data to sample)**]에 대해 통계 및 지표를 선택합니다. 이 예에서는 [**평균(Average)**] 및 [**CPU 사용률(CPU utilization)**]을 선택합니다.

   1. [**경보 시기(Alarm When)**] 및 [**백분율(Percent)**]에서 지표 임계값을 지정합니다. 이 예에서는 **=>** 및 **10**%를 지정합니다.

   1. [**연속 기간(Consecutive period)**]과 [**기간(Period)**]에 대해 경보의 평가 기간을 지정합니다. 이 예에서는 [**24**] 연속 기간([**1시간(1 Hour)**])을 지정합니다.

   1. Amazon CloudWatch에서 자동으로 경보 이름이 생성됩니다. 이름을 변경하려면 [**경보 이름(Alarm name)**]에 새 이름을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.
**참고**  
경보 구성은 경보를 만들기 전에 요구사항에 따라 조정하거나 나중에 편집할 수 있습니다. 이러한 구성에는 메트릭, 임계값, 기간, 작업 및 알림 설정이 있습니다. 그러나 경보를 만든 후에는 경보 이름은 편집할 수 없습니다.

   1. **Create**를 선택합니다.

## Amazon CloudWatch 경보에 재부팅 작업 추가
<a name="AddingRebootActions"></a>

Amazon EC2 인스턴스를 모니터링하고 인스턴스를 자동으로 재부팅하는 Amazon CloudWatch 경보를 만들 수 있습니다. 재부팅 경보 작업은 인스턴스 상태 확인 오류(복구 경보 작업은 시스템 상태 확인 오류에 적합)에 권장됩니다. 인스턴스 재부팅은 운영 체제 재부팅과 같습니다. 대부분의 경우 인스턴스를 재부팅하는 데는 몇 분 밖에 걸리지 않습니다. 인스턴스를 재부팅하는 경우 동일한 물리적 호스트에 남아 있으므로 퍼블릭 DNS 이름, 프라이빗 IP 주소 및 인스턴스 저장소 볼륨의 모든 데이터가 유지됩니다.

인스턴스를 재부팅해도 인스턴스를 중지했다가 다시 시작할 때와는 달리 인스턴스 청구 기간(최소 1분 요금 포함)이 새로 시작되지 않습니다. 인스턴스가 재부팅될 때 인스턴스 저장소 볼륨의 데이터가 유지됩니다. 재부팅 후 인스턴스 저장소 볼륨을 파일 시스템에 다시 탑재해야 합니다. 자세한 내용은 [Amazon EC2 인스턴스 재부팅](ec2-instance-reboot.md) 섹션을 참조하세요.

**중요**  
재부팅과 복원 작업 간에 경합 상태가 발생하지 않도록 하려면 재부팅 경보와 복원 경보에 동일한 평가 기간 값을 설정하지 마세요. 재부팅 경보를 각각 1분의 평가 기간 3회로 설정하는 것이 좋습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [경보 평가](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)를 참조하세요.

**인스턴스를 재부팅하는 경보를 생성하려면(Amazon EC2 콘솔)**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 [**작업(Actions)**], [**모니터링 및 문제 해결(Monitor and troubleshoot)**], [**CloudWatch 경보 관리(Manage CloudWatch alarms)**]를 선택합니다.

   또는 [**경보 상태(Alarm status)**] 열에서 더하기 기호(![\[Plus sign.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/add-plus.png))를 선택해도 됩니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지에서 다음을 수행합니다.

   1. [**경보 생성(Create an alarm)**]을 선택합니다.

   1. 경보가 트리거될 때 이메일을 받으려면 [**경보 알림(Alarm notification)**]에 대해 기존 Amazon SNS 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 *Amazon Simple Notification Service 개발자 안내서*에서 [A2P(Application-to-Person) 메시징에 Amazon SNS 사용](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)을 참조하세요.

   1. [**경보 작업(Alarm action)**]을 켜고 [**재부팅(Reboot)**]을 선택합니다.

   1. [**샘플 그룹화 기준(Group samples by)**]과 [**샘플링할 데이터 유형(Type of data to sample)**]에 대해 통계 및 지표를 선택합니다. 이 예에서는 [**평균(Average)**] 및 [**상태 확인 실패: 인스턴스(Status check failed: instance)**]를 선택합니다.

   1. [**연속 기간(Consecutive period)**]과 [**기간(Period)**]에 대해 경보의 평가 기간을 지정합니다. 이 예에서는 **1분**의 **3** 연속 기간을 입력합니다. **1분**이 비활성화된 경우 [세부 모니터링](manage-detailed-monitoring.md#enable-detailed-monitoring)을 활성화해야 합니다. 그렇지 않으면 **5분**을 대신 선택할 수 있습니다.

   1. Amazon CloudWatch에서 자동으로 경보 이름이 생성됩니다. 이름을 변경하려면 [**경보 이름(Alarm name)**]에 새 이름을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.

   1. **Create**를 선택합니다.

## Amazon CloudWatch 경보에 복구 작업 추가
<a name="AddingRecoverActions"></a>

Amazon EC2 인스턴스를 모니터링하는 Amazon CloudWatch 경보를 만들 수 있습니다. 기본 하드웨어 장애나 복구에 AWS 개입이 필요한 문제로 인해 인스턴스가 손상된 경우 해당 인스턴스를 자동으로 복구할 수 있습니다. 종료한 인스턴스는 복구할 수 없습니다. 복구된 인스턴스는 인스턴스 ID, 프라이빗 IP 주소, 탄력적 IP 주소 및 모든 인스턴스 메타데이터를 포함하여 원본 인스턴스와 동일합니다.

CloudWatch은 복구 작업을 지원하지 않는 인스턴스에 대한 경보에 복구 작업을 추가할 수 없게 합니다.

`StatusCheckFailed_System` 경보가 트리거되고 복구 작업이 시작되는 경우 경보를 만들고 복구 작업을 연결할 때 선택한 Amazon SNS 주제별로 통지됩니다. 인스턴스 복구 중에 인스턴스를 재부팅할 때 인스턴스가 마이그레이션되고 모든 인 메모리 데이터가 손실됩니다. 프로세스가 완료되면 해당 경보를 위해 구성해 둔 SNS 주제로 정보가 게시됩니다. 이 SNS 주제에 가입되어 있는 사람은 누구나 복구 시도 상태와 세부 지침이 포함된 이메일 알림을 받게 됩니다. 복구된 인스턴스에서 인스턴스를 재부팅하라는 메시지가 나타납니다.

**참고**  
복구 작업은 `StatusCheckFailed_Instance`가 아닌 `StatusCheckFailed_System`을 통해서만 사용할 수 있습니다.

다음과 같은 문제가 있을 경우 시스템 상태 확인이 실패할 수 있습니다.
+ 네트워크 연결 끊김
+ 시스템 전원 중단
+ 물리적 호스트의 소프트웨어 문제
+ 네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제

복구 작업은 특정 특성을 충족하는 인스턴스에서만 지원됩니다. 자세한 내용은 [자동 인스턴스 복구](ec2-instance-recover.md) 섹션을 참조하세요.

인스턴스에 퍼블릭 IP 주소가 있는 경우 복구 후에도 해당 퍼블릭 IP 주소를 유지합니다.

**중요**  
재부팅과 복원 작업 간에 경합 상태가 발생하지 않도록 하려면 재부팅 경보와 복원 경보에 동일한 평가 기간 값을 설정하지 마세요. 복구 경보는 각각 1분의 평가 기간 2회로 설정하는 것이 좋습니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [경보 평가](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)를 참조하세요.

**인스턴스를 복구하는 경보를 생성하려면(Amazon EC2 콘솔)**

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

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 [**작업(Actions)**], [**모니터링 및 문제 해결(Monitor and troubleshoot)**], [**CloudWatch 경보 관리(Manage CloudWatch alarms)**]를 선택합니다.

   또는 [**경보 상태(Alarm status)**] 열에서 더하기 기호(![\[Plus sign.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/add-plus.png))를 선택해도 됩니다.

1. [**CloudWatch 경보 관리(Manage CloudWatch alarms)**] 페이지에서 다음을 수행합니다.

   1. [**경보 생성(Create an alarm)**]을 선택합니다.

   1. 경보가 트리거될 때 이메일을 받으려면 [**경보 알림(Alarm notification)**]에 대해 기존 Amazon SNS 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 [Amazon Simple Notification Service 개발자 안내서](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)에서 *A2P(Application-to-Person) 메시징에 Amazon SNS 사용*을 참조하세요.
**참고**  
경보가 트리거될 때 이메일 알림을 수신하려면 사용자는 지정된 SNS 주제를 구독해야 합니다. AWS 계정 루트 사용자는 SNS 주제가 지정되지 않았거나 루트 사용자가 지정된 SNS 주제를 구독하지 않더라도 자동 인스턴스 복구 작업이 발생하면 항상 이메일 알림을 받습니다.

   1. [**경보 작업(Alarm action)**]을 켜고 [**복구(Recover)**]를 선택합니다.

   1. [**샘플 그룹화 기준(Group samples by)**]과 [**샘플링할 데이터 유형(Type of data to sample)**]에 대해 통계 및 지표를 선택합니다. 이 예에서는 [**평균(Average)**] 및 [**상태 확인 실패: 시스템(Status check failed: system)**]을 선택합니다.

   1. [**연속 기간(Consecutive period)**]과 [**기간(Period)**]에 대해 경보의 평가 기간을 지정합니다. 이 예에서는 **1분**의 **2** 연속 기간을 입력합니다. **1분**이 비활성화된 경우 [세부 모니터링](manage-detailed-monitoring.md#enable-detailed-monitoring)을 활성화해야 합니다. 그렇지 않으면 **5분**을 대신 선택할 수 있습니다.

   1. Amazon CloudWatch에서 자동으로 경보 이름이 생성됩니다. 이름을 변경하려면 [**경보 이름(Alarm name)**]에 새 이름을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.

   1. **Create**를 선택합니다.

# Amazon CloudWatch 경보 작업 시나리오
<a name="AlarmActionScenarios"></a>

Amazon EC2 콘솔을 사용하여 특정 조건이 충족되면 Amazon EC2 인스턴스를 중지하거나 종료하는 경보 작업을 만들 수 있습니다. 경보 작업을 설정하는 콘솔 페이지의 다음 화면 캡처에서는 설정에 번호가 표시되어 있습니다. 또한 적절한 작업을 만드는 데 도움이 되도록 시나리오의 설정에도 번호를 표시했습니다.

![\[Cloudwarch 경보 페이지를 관리합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/manage-cloudwatch-alarms.png)


## 시나리오 1: 유휴 개발 및 테스트 인스턴스 중지
<a name="StopIdleInstance"></a>

소프트웨어 개발 및 테스트에 사용된 인스턴스가 한 시간 이상 유휴 상태인 경우 중지하는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  Stop  | 
|  2  |  Maximum  | 
|  3  |  CPU 사용률  | 
|  4  |  <=  | 
|  5  |  10%  | 
|  6  |  1  | 
|  7  |  1시간  | 

## 시나리오 2: 유휴 인스턴스 중지
<a name="StopLowUtilizationInstance"></a>

인스턴스가 24시간 동안 유휴 상태인 경우 인스턴스를 중지하고 이메일을 보내는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  중지하고 이메일 보내기  | 
|  2  |  Average  | 
|  3  |  CPU 사용률  | 
|  4  |  <=  | 
|  5  |  5%  | 
|  6  |  24  | 
|  7  |  1시간  | 

## 시나리오 3: 트래픽이 비정상적으로 높은 웹 서버에 대해 이메일 보내기
<a name="StopHighWebTraffic"></a>

인스턴스가 일일 아웃바운드 네트워크 트래픽인 10GB를 초과하는 경우 이메일을 보내는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  이메일  | 
|  2  |  Sum  | 
|  3  |  네트워크 출력  | 
|  4  |  >  | 
|  5  |  10GB  | 
|  6  |  24  | 
|  7  |  1시간  | 

## 시나리오 4: 트래픽이 비정상적으로 높은 웹 서버 중지
<a name="StopHighWebTraffic2"></a>

아웃바운드 트래픽이 시간당 1GB를 초과하는 경우 인스턴스를 중지하고 문자 메시지(SMS)를 보내는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  중지하고 문자 메시지 보내기  | 
|  2  |  Sum  | 
|  3  |  네트워크 출력  | 
|  4  |  >  | 
|  5  |  1GB  | 
|  6  |  1  | 
|  7  |  1시간  | 

## 시나리오 5: 손상된 인스턴스 중지
<a name="StopImpairedInstance"></a>

5분 간격으로 수행된 연속 3회의 상태 확인에 실패한 인스턴스를 중지하는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  Stop  | 
|  2  |  Average  | 
|  3  |  상태 확인 실패: 시스템  | 
|  4  |  -  | 
|  5  |  -  | 
|  6  |  1  | 
|  7  |  15분  | 

## 시나리오 6: 배치 처리 작업이 완료되면 인스턴스 종료
<a name="TerminateBatchProcesses"></a>

결과 데이터를 더 이상 보내지 않는 경우 일괄 작업을 실행하는 인스턴스를 종료하는 경보를 만듭니다.


| 설정 | 값 | 
| --- | --- | 
|  1  |  Terminate  | 
|  2  |  Maximum  | 
|  3  |  네트워크 출력  | 
|  4  |  <=  | 
|  5  |  100,000 bytes  | 
|  6  |  1  | 
|  7  |  5분  | 

# EventBridge를 사용하여 Amazon EC2 자동화
<a name="automating_with_eventbridge"></a>

Amazon EventBridge를 사용하여 AWS 서비스를 자동화하고 애플리케이션 가용성 문제나 리소스 변경 등의 시스템 이벤트에 자동으로 대응할 수 있습니다. AWS 서비스의 이벤트는 거의 실시간으로 EventBridge로 전송됩니다. 관심 있는 이벤트와 이벤트가 규칙과 일치할 때 수행할 작업을 표시하는 규칙을 생성할 수 있습니다. 자동으로 트리거할 수 있는 태스크는 다음과 같습니다.
+ AWS Lambda 함수 호출
+ Amazon EC2 Run Command 호출
+ Amazon Kinesis Data Streams로 이벤트 릴레이
+ AWS Step Functions 상태 머신 활성화
+ Amazon SNS 주제 알림
+ Amazon SQS 대기열 생성

다음은 Amazon EC2에서 EventBridge를 사용하는 방법의 예입니다.
+ 인스턴스가 실행 상태가 될 때마다 Lambda 함수를 활성화합니다.
+ Amazon EBS 볼륨이 생성되거나 수정되면 Amazon SNS 주제에 알립니다.
+ 다른 AWS 서비스에서 특정 이벤트 발생 시 Amazon EC2 Run Command를 사용하여 명령을 하나 이상의 Amazon EC2 인스턴스에 전송합니다.

자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요.

## Amazon EC2 이벤트 유형
<a name="ec2-events-eventbridge"></a>

Amazon EC2는 다음 이벤트 유형을 지원합니다.
+ [EC2 AMI 상태 변경](monitor-ami-events.md#ami-events)
+ [EC2 빠른 시작 상태 변경 알림](win-fast-launch-monitor.md#win-monitor-fast-launch-events)
+ [EC2 플릿 오류](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-config-not-valid)
+ [EC2 플릿 정보](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-info)
+ [EC2 플릿 인스턴스 변경](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-instance-change)
+ [EC2 플릿 스팟 인스턴스 요청 변경](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-spot-instance-request-change)
+ [EC2 플릿 상태 변경](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-state-change)
+ [EC2 인스턴스 재분배 권장 사항](rebalance-recommendations.md#cp-eventbridge)
+ [EC2 인스턴스 상태 변경 알림](monitoring-instance-state-changes.md)
+ [EC2 스팟 플릿 오류](monitor-ec2-fleet-using-eventbridge.md#spot-fleet-config-not-valid)
+ [EC2 스팟 플릿 정보](monitor-ec2-fleet-using-eventbridge.md#spot-fleet-info)
+ [EC2 스팟 플릿 인스턴스 변경](monitor-ec2-fleet-using-eventbridge.md#spot-fleet-instance-change)
+ [EC2 스팟 플릿 스팟 인스턴스 요청 변경](monitor-ec2-fleet-using-eventbridge.md#spot-fleet-spot-instance-request-change)
+ [EC2 스팟 플릿 상태 변경](monitor-ec2-fleet-using-eventbridge.md#spot-fleet-state-change)
+ [EC2 스팟 인스턴스 중단 경고](spot-instance-termination-notices.md#ec2-spot-instance-interruption-warning-event)
+ [EC2 스팟 인스턴스 요청 이행](spot-request-status.md#spot-request-fulfillment-event)
+ [EC2 ODCR 사용률 부족 알림](cr-eventbridge.md)

Amazon EBS에서 지원하는 이벤트 유형에 대한 자세한 내용은 [Amazon EBS용 Amazon EventBridge](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-cloud-watch-events.html)를 참조하세요.

# AWS CloudTrail을 사용하여 Amazon EC2 API 호출 로깅
<a name="monitor-with-cloudtrail"></a>

Amazon EC2 API는 사용자, 역할 또는 AWS 서비스가 수행한 작업 기록을 제공하는 서비스인 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)과 통합되어 있습니다. CloudTrail은 모든 Amazon EC2 API 호출을 이벤트로 캡처합니다. 캡처된 호출에는 콘솔에서의 호출이 포함됩니다. CloudTrail에서 수집한 정보를 사용하여 Amazon EC2 API에 수행된 요청, 요청이 수행된 IP 주소, 요청이 수행된 시간, 추가 세부 정보 등을 확인할 수 있습니다.

모든 이벤트 및 로그 항목에는 요청을 생성한 사용자에 대한 정보가 들어 있습니다. 보안 인증 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
+ 요청을 루트 사용자로 했는지 사용자 보안 인증으로 했는지 여부.
+ IAM Identity Center 사용자를 대신하여 요청이 이루어졌는지 여부입니다.
+ 역할 또는 페더레이션 사용자에 대한 임시 보안 인증 정보를 사용하여 요청이 생성되었는지 여부.
+ 다른 AWS 서비스에서 요청했는지 여부.

계정을 생성할 때 AWS 계정에서 CloudTrail이 활성 상태이며, CloudTrail **이벤트 기록**에 자동으로 액세스할 수 있습니다. CloudTrail **이벤트 기록**은 지난 90일 간 AWS 리전의 관리 이벤트에 대해 보기, 검색 및 다운로드가 가능하고, 수정이 불가능한 레코드를 제공합니다. 자세한 설명은 **AWS CloudTrail 사용 설명서의 [CloudTrail 이벤트 기록 작업](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)을 참조하세요. **Event history(이벤트 기록)** 보기는 CloudTrail 요금이 부과되지 않습니다.

지난 90일 동안 AWS 계정에서 진행 중인 이벤트 기록을 보려면 추적 또는 [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) 이벤트 데이터 스토어를 생성합니다.

**CloudTrail 추적**  
CloudTrail은 *추적*을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. AWS Management Console을 사용하여 만든 추적은 모두 다중 리전입니다. AWS CLI를 사용하여 단일 리전 또는 다중 리전 추적을 생성할 수 있습니다. 계정의 모든 AWS 리전에서 활동을 캡처하므로, 다중 리전 추적 생성이 권장됩니다. 단일 리전 추적을 생성하는 경우 추적의 AWS 리전에 로깅된 이벤트만 볼 수 있습니다. 추적에 대한 자세한 내용은 **AWS CloudTrail 사용 설명서의 [Creating a trail for your AWS 계정](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) 및 [Creating a trail for an organization](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)을 참조하세요.  
CloudTrail에서 추적을 생성하여 진행 중인 관리 이벤트의 사본 하나를 Amazon S3 버킷으로 무료로 전송할 수는 있지만, Amazon S3 스토리지 요금이 부과됩니다. CloudTrail 요금에 대한 자세한 내용은 [AWS CloudTrail 요금](https://aws.amazon.com/cloudtrail/pricing/)을 참조하세요. Amazon S3 요금에 대한 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.

**CloudTrail Lake 이벤트 데이터 스토어**  
*CloudTrail Lake*를 사용하면 이벤트에 대해 SQL 기반 쿼리를 실행할 수 있습니다. CloudTrail Lake는 행 기반 JSON 형식의 기존 이벤트를 [Apache ORC](https://orc.apache.org/) 형식으로 변환합니다. ORC는 빠른 데이터 검색에 최적화된 열 기반 스토리지 형식입니다. 이벤트는 *이벤트 데이터 스토어*로 집계되며, 이벤트 데이터 스토어는 [고급 이벤트 선택기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)를 적용하여 선택한 기준을 기반으로 하는 변경 불가능한 이벤트 컬렉션입니다. 이벤트 데이터 스토어에 적용하는 선택기는 어떤 이벤트가 지속되고 쿼리할 수 있는지 제어합니다. CloudTrail Lake에 대한 자세한 내용은 **AWS CloudTrail 사용 설명서의 [Working with AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)를 참조하세요.  
CloudTrail Lake 이벤트 데이터 스토어 및 쿼리에는 비용이 발생합니다. 이벤트 데이터 스토어를 생성할 때 이벤트 데이터 스토어에 사용할 [요금 옵션](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. CloudTrail 요금에 대한 자세한 내용은 [AWS CloudTrail 요금](https://aws.amazon.com/cloudtrail/pricing/)을 참조하세요.

## CloudTrail의 Amazon EC2 API 관리 이벤트
<a name="cloudtrail-management-events"></a>

[관리 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)는 AWS 계정의 리소스에 대해 수행되는 관리 작업에 대한 정보를 제공합니다. 이를 제어 영역 작업이라고도 합니다. 기본적으로 CloudTrail은 관리 이벤트를 로깅합니다.

모든 Amazon EC2 API 작업은 관리 이벤트로 로깅됩니다. CloudTrail로 로깅된 API 작업 목록은 [Amazon EC2 API 참조](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/)를 확인하세요. 예를 들어, [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) 및 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html) 작업 호출은 관리 이벤트로 로깅됩니다.

## Amazon EC2 API 이벤트 예제
<a name="cloudtrail-event-examples"></a>

이벤트는 모든 소스로부터의 단일 요청을 나타내며 요청된 API 작업, 작업 날짜와 시간, 요청 파라미터 등에 대한 정보가 들어 있습니다. CloudTrail 로그 파일은 퍼블릭 API 직접 호출의 주문 스택 추적이 아니므로 이벤트가 특정 순서로 표시되지 않습니다.

다음 로그 파일 레코드는 사용자가 인스턴스를 종료했음을 보여 줍니다.

```
{
   "Records":[
      {
         "eventVersion":"1.03",
         "userIdentity":{
            "type":"Root",
            "principalId":"123456789012",
            "arn":"arn:aws:iam::123456789012:root",
            "accountId":"123456789012",
            "accessKeyId":"AKIAIOSFODNN7EXAMPLE",
            "userName":"user"
         },
         "eventTime":"2016-05-20T08:27:45Z",
         "eventSource":"ec2.amazonaws.com",
         "eventName":"TerminateInstances",
         "awsRegion":"us-west-2",
         "sourceIPAddress":"198.51.100.1",
         "userAgent":"aws-cli/1.10.10 Python/2.7.9 Windows/7botocore/1.4.1",
         "requestParameters":{
            "instancesSet":{
               "items":[{
                  "instanceId":"i-1a2b3c4d"
               }]
            }
         },
         "responseElements":{
            "instancesSet":{
               "items":[{
                  "instanceId":"i-1a2b3c4d",
                  "currentState":{
                     "code":32,
                     "name":"shutting-down"
                  },
                  "previousState":{
                     "code":16,
                     "name":"running"
                  }
               }]
            }
         },
         "requestID":"be112233-1ba5-4ae0-8e2b-1c302EXAMPLE",
         "eventID":"6e12345-2a4e-417c-aa78-7594fEXAMPLE",
         "eventType":"AwsApiCall",
         "recipientAccountId":"123456789012"
     }
   ]
}
```

CloudTrail 레코드 콘텐츠에 대한 자세한 내용은 **AWS CloudTrail 사용 설명서의 [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)를 참조하세요.

## EC2 Instance Connect를 사용한 연결 감사
<a name="ec2-instance-connect-cloudtrail"></a>

AWS CloudTrail을 사용하여 EC2 Instance Connect를 통해 인스턴스에 연결하는 사용자를 감사할 수 있습니다.

**AWS CloudTrail 콘솔을 사용하여 EC2 Instance Connect를 통한 SSH 활동을 감사하려면**

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

1. 올바른 리전에 있는지 확인합니다.

1. 탐색 창에서 **Event history(이벤트 내역)**를 선택합니다.

1. **Filter(필터)**에서 **Event source(이벤트 소스)**, **ec2-instance-connect.amazonaws.com**을 선택합니다.

1. (선택 사항) **Time range(시간 범위)**에서 시간 범위를 선택합니다.

1. **Refresh events(새로 고침 이벤트)** 아이콘을 선택합니다.

1. 이 페이지에는 [https://docs.aws.amazon.com/ec2-instance-connect/latest/APIReference/API_SendSSHPublicKey.html](https://docs.aws.amazon.com/ec2-instance-connect/latest/APIReference/API_SendSSHPublicKey.html) API 호출에 해당하는 이벤트가 표시됩니다. 화살표를 사용하여 이벤트를 확장하면 SSH 연결을 만드는 데 사용된 사용자 이름, AWS 액세스 키 및 소스 IP 주소와 같은 추가 세부 정보를 볼 수 있습니다.

1. 전체 이벤트 정보를 JSON 형식으로 표시하려면 **View event(이벤트 보기)**를 선택합니다. **requestParameters** 필드에는 SSH 연결을 만드는 데 사용된 대상 인스턴스 ID, OS 사용자 이름 및 퍼블릭 키가 포함되어 있습니다.

   ```
   {
       "eventVersion": "1.05",
       "userIdentity": {
           "type": "IAMUser",
           "principalId": "ABCDEFGONGNOMOOCB6XYTQEXAMPLE",
           "arn": "arn:aws:iam::1234567890120:user/IAM-friendly-name",
           "accountId": "123456789012",
           "accessKeyId": "ABCDEFGUKZHNAW4OSN2AEXAMPLE",
           "userName": "IAM-friendly-name",
           "sessionContext": {
               "attributes": {
                   "mfaAuthenticated": "false",
                   "creationDate": "2018-09-21T21:37:58Z"}
           }
       },
       "eventTime": "2018-09-21T21:38:00Z",
       "eventSource": "ec2-instance-connect.amazonaws.com",
       "eventName": "SendSSHPublicKey ",
       "awsRegion": "us-west-2",
       "sourceIPAddress": "123.456.789.012",
       "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
       "requestParameters": {
           "instanceId": "i-0123456789EXAMPLE",
           "osUser": "ec2-user",
           "SSHKey": {
               "publicKey": "ssh-rsa ABCDEFGHIJKLMNO01234567890EXAMPLE"
           }
        },
       "responseElements": null,
       "requestID": "1a2s3d4f-bde6-11e8-a892-f7ec64543add",
       "eventID": "1a2w3d4r5-a88f-4e28-b3bf-30161f75be34",
       "eventType": "AwsApiCall",
       "recipientAccountId": "0987654321"
   }
   ```

   S3 버킷에서 CloudTrail 이벤트를 수집하도록 AWS 계정을 구성한 경우 프로그래밍 방식으로 정보를 다운로드하고 감사할 수 있습니다. 자세한 내용은 *AWS CloudTrail 사용 설명서*에서 [CloudTrail 로그 파일 가져오기 및 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html)를 참조하세요.

# CloudWatch Application Insights를 사용하여 .NET 및 SQL Server 애플리케이션 모니터링
<a name="monitoring-appinsights"></a>

CloudWatch Application Insights를 사용하면 다른 [AWS 애플리케이션 리소스](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html#appinsights-components)와 함께 Amazon EC2 인스턴스를 사용하는 .NET 및 SQL Server 애플리케이션을 모니터링할 수 있습니다. 이 기능은 애플리케이션 리소스 및 기술 스택(예: Microsoft SQL Server 데이터베이스, 웹(IIS) 및 애플리케이션 서버, OS, 로드 밸런서, 대기열 등) 전반에서 주요 지표 로그 및 경보를 파악하고 설정합니다. 지표 및 로그를 지속적으로 모니터링하여 이상 및 오류를 감지하고 연결합니다. 오류 및 이상이 감지되면 Application Insights에서 알림을 설정하고 작업을 수행할 수 있는 이벤트를 생성합니다. 문제 해결을 돕기 위해 감지한 문제에 대한 자동 대시보드를 생성함으로써 상관관계가 있는 지표 이상 항목 및 로그 오류와 함께 잠재적인 근본 원인을 알려주는 추가 통찰력을 제공합니다. 자동화된 대시보드를 사용하면 애플리케이션의 상태를 정상으로 유지하고 애플리케이션의 최종 사용자에게 미치는 영향을 방지하기 위해 신속한 조치를 취할 수 있습니다.

**감지된 문제에 대해 다음과 같은 정보가 제공됩니다.**
+ 문제의 간략한 요약
+ 문제의 시작 시간 및 날짜
+ 문제의 심각도: 높음/중간/낮음
+ 감지된 문제의 상태: 진행 중/해결됨
+ 통찰력: 감지된 문제 및 가능한 근본 원인에 대해 자동으로 생성된 통찰력
+ 통찰력에 대한 피드백: .NET 및 SQL Server용 CloudWatch Application Insights에서 생성한 통찰력의 유용성에 대한 피드백
+ 관련 관찰: 다양한 애플리케이션 구성 요소에서 발생한 문제와 관련된 로그의 오류 조각 및 지표 이상의 상세 보기

**Feedback**  
감지된 문제에 대해 자동으로 생성된 통찰력에 대한 유용성을 평가하여 피드백을 제공할 수 있습니다. 통찰력에 대한 피드백은 애플리케이션 진단(지표 이상 및 로그 예외)과 함께 향후 유사한 문제의 탐지를 개선하는 데 사용됩니다.

자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) 설명서를 참조하세요.

# Amazon EC2의 프리 티어 사용량 추적
<a name="ec2-free-tier-usage"></a>

AWS 계정을 생성하면 [AWS 프리 티어](https://aws.amazon.com/free)를 사용하여 Amazon EC2를 무료로 시작할 수 있습니다. 프리 티어 혜택은 계정을 2025년 7월 15일 전에 생성했는지 2025년 7월 15일 이후에 생성했는지에 따라 다릅니다. 자세한 내용은 *AWS Billing 사용 설명서*의 [AWS 프리 티어가 포함된 AWS 서비스 탐색](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier.html)을 참조하세요.

## 2025년 7월 15일 전과 후 프리 티어 혜택
<a name="ec2-free-tier-comparison"></a>

다음 표에서는 AWS 계정 생성 날짜를 기준으로 프리 티어 혜택을 비교합니다.


| 프리 티어 혜택 | 2025년 7월 15일 전에 생성된 계정 | 2025년 7월 15일 이후에 생성된 계정 | 
| --- | --- | --- | 
| 프리 티어 사용 가능으로 표시된 인스턴스 유형 |  `t2.micro`, `t3.micro`  |  `t3.micro`, `t3.small`, `t4g.micro`, `t4g.small`, `c7i-flex.large`, `m7i-flex.large`  | 
| 프리 티어 사용 가능으로 표시된 Amazon EBS 볼륨 유형 |  `standard`, `st1`, `sc1`, `gp2` 및 `gp3`  |  `standard`, `st1`, `sc1`, `gp2` 및 `gp3`  | 
| 프리 티어 사용 가능으로 표시된 AMI | 프리 티어 사용 가능으로 표시된 AMI를 확인합니다. | 프리 티어 사용 가능으로 표시된 AMI를 확인합니다. | 
| 사용량 한도 | 사용량에는 한도가 있으며 사용량 한도를 모두 사용한 이후에는 종량제로 요금이 청구됩니다. |  USD \$1100 가입 크레딧을 받고 추가 크레딧으로 최대 \$1100를 획득합니다.  | 
| 프리 티어 기간 | 프리 티어는 계정을 생성한 날짜로부터 12개월 동안 지속됩니다. 이 기간 동안 프리 티어 사용 한도를 초과하면 종량제로 요금이 청구됩니다. | 프리 티어는 계정을 생성한 날짜 또는 크레딧이 소진된 날짜 중 먼저 발생하는 날짜로부터 6개월 동안 지속됩니다. 프리 티어 한도를 초과할 수 없습니다. | 

**프리 티어에 적합한 인스턴스 유형을 나열하는 방법**  
[describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 명령을 `free-tier-eligible` 필터와 함께 사용합니다.

```
aws ec2 describe-instance-types \
    --filters Name=free-tier-eligible,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

**프리 티어 적격 AMI를 나열하려면**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 `free-tier-eligible` 필터와 함께 사용합니다.

```
aws ec2 describe-images \
    --filters Name=free-tier-eligible,Values=true \
    --query "Images[*].[ImageId]" \
    --output text | sort
```

## 2025년 7월 15일 전에 생성한 계정의 프리 티어 사용량 추적
<a name="track-ec2-free-tier-usage"></a>

**참고**  
***이 섹션은 2025년 7월 15일 전에 AWS 계정을 생성한 프리 티어 사용자에게만 적용됩니다. 2025년 7월 15일 이후에 계정을 생성한 경우 AWS Billing 사용 설명서의 [AWS 프리 티어 사용량 추적](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/tracking-free-tier-usage.html)을 참조하세요.***

2025년 7월 15일 전에 계정을 생성했고 AWS 고객이 된 지 12개월 미만이며 AWS 프리 티어 사용량 한도를 초과하지 않는 경우 요금 발생 없이 Amazon EC2를 사용할 수 있습니다. 과금 문제를 방지하려면 프리 티어 사용량을 추적하는 것이 중요합니다. 프리 티어 한도를 초과하면 표준 종량 과금제에 따라 요금이 부과됩니다. 자세한 내용은 [AWS 프리 티어](https://aws.amazon.com/free/) 섹션을 참조하세요.

**참고**  
12개월 이상 AWS 고객인 경우 더 이상 프리 티어 사용 자격이 없으며 다음 절차에 설명된 **EC2 프리 티어** 상자가 표시되지 않습니다.

**프리 티어 사용량 추적**

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

1. 탐색 창에서 **EC2 대시보드**를 선택합니다.

1. **EC2 프리 티어** 상자(오른쪽 상단)를 찾습니다.  
![\[EC2 대시보드의 EC2 프리 티어 상자\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ec2-free-tier-widget.png)

1. **EC2 프리 티어** 상자에서 다음과 같이 프리 티어 사용량을 확인합니다.
   + **사용 중인 EC2 프리 티어 혜택**에서 다음 경고에 유의합니다.
     + **월말 예측** - 현재 사용 패턴을 계속하면 이번 달에 요금이 발생한다는 경고입니다.
     + **프리 티어 초과** - 프리 티어 한도를 초과했으며 이미 요금이 발생하고 있다는 경고입니다.
   + **혜택 사용량(월별)**에서 Linux 인스턴스, Windows 인스턴스 및 EBS 스토리지의 사용량에 유의합니다. 백분율은 이번 달에 사용한 프리 티어 한도를 나타냅니다. 100%이면 추가 사용에 대한 요금이 발생합니다.
**참고**  
이 정보는 인스턴스를 생성한 후에만 표시됩니다. 그러나 사용 정보는 실시간으로 업데이트되지 않고 하루에 세 번 업데이트됩니다.

1. 추가 요금이 발생하지 않도록 하려면 현재 요금이 발생하고 있거나 프리 티어 한도 사용량을 초과할 경우 요금이 발생하는 리소스를 모두 삭제합니다.
   + 인스턴스 삭제 지침을 보려면 [Amazon EC2 인스턴스 종료](terminating-instances.md) 섹션을 참조하세요.
   + 다른 리전에 요금이 발생할 수 있는 리소스가 있는지 확인하려면 **EC2 프리 티어** 상자에서 **글로벌 EC2 리소스 보기**를 선택하여 **EC2 글로벌 뷰**를 엽니다. 자세한 내용은 [AWS Global View를 사용하여 리전 간 리소스 보기](global-view.md) 섹션을 참조하세요.

1. AWS 프리 티어의 모든 AWS 서비스에 대한 리소스 사용량을 보려면 **EC2 프리 티어** 상자 하단에서 **모든 AWS 프리 티어 혜택 보기**를 선택합니다. 자세한 내용은 *AWS 결제 사용 설명서*의 [AWS 프리 티어를 사용한 서비스 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-free-tier.html)을 참조하세요.

# 결제 및 사용량 보고서의 Amazon EC2 코드 이해
<a name="ec2-billing-usage-reports"></a>

Amazon EC2를 사용하면 AWS 결제 및 사용량 보고서에 관련 코드가 포함됩니다. 이 코드를 검토하면 Amazon EC2의 비용 및 사용 패턴을 이해하는 데 유용합니다. 비용을 최적화하는 데에는 비용을 추적하고 관리하는 것이 필수입니다.

다음 표에서는 결제 및 사용량 보고서에 표시되는 Amazon EC2의 코드를 설명합니다. 결제 및 사용량 보고서에 사용되는 리전 코드 목록은 [AWS 리전 결제 코드](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-region-billing-codes.html)를 참조하세요.

**Topics**
+ [

## 인스턴스
](#instances-billing-usage-reports)
+ [

## 베어 메탈 인스턴스
](#bare-metal-instances-billing-usage-reports)
+ [

## 전용 호스트
](#dedicated-hosts-billing-usage-reports)
+ [

## 전용 인스턴스
](#dedicated-instances-billing-usage-reports)
+ [

## EBS 최적화
](#ebs-billing-usage-reports)
+ [

## 용량 예약
](#capacity-reservation-billing-usage-reports)

**관련 리소스**
+ [Amazon EC2 결제 및 구매 옵션](instance-purchasing-options.md)
+ [AMI 결제 정보 이해](ami-billing-info.md)
+ [Amazon EC2 요금 정책](https://aws.amazon.com/ec2/pricing/)

## 인스턴스
<a name="instances-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-BoxUsage:instance-type | 온디맨드 인스턴스의 실행 시간입니다. | 시간 | 
| region-HostBoxUsage:instance-type | 전용 호스트의 인스턴스 실행 시간입니다. | 시간 | 
| region-SpotUsage:instance-type | 스팟 인스턴스의 실행 시간입니다. | 시간 | 



## 베어 메탈 인스턴스
<a name="bare-metal-instances-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-BoxUsage:instance-family.metal | 베어 메탈 온디맨드 인스턴스의 실행 시간입니다. | 시간 | 
| region-HostBoxUsage:instance-family.metal | 전용 호스트에서 베어 메탈 인스턴스의 실행 시간입니다. | 시간 | 
| region-SpotUsage:instance-family.metal | 베어 메탈 스팟 인스턴스의 실행 시간입니다. | 시간 | 



## 전용 호스트
<a name="dedicated-hosts-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-HostUsage:host-type | 전용 호스트가 프로비저닝되는 시간입니다. | 시간 | 
| region-ReservedHostUsage:host-type | 전용 호스트 예약이 적용되는 시간입니다. | 시간 | 



## 전용 인스턴스
<a name="dedicated-instances-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-DedicatedUsage:instance-type | 전용 인스턴스의 실행 시간입니다. | 시간 \$1 리전별 요금 | 



## EBS 최적화
<a name="ebs-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-EBSOptimized:instance-type | EBS 최적화가 활성화된 시간입니다. | 시간 | 



## 용량 예약
<a name="capacity-reservation-billing-usage-reports"></a>


| 코드 | 설명 | 단위 | 
| --- | --- | --- | 
| region-Reservation:instance-type | 용량 예약의 예약 인스턴스 시간입니다. | 시간 | 
| region-UnusedBox:instance-type | 용량 예약의 미사용 예약 인스턴스 시간입니다. | 시간 | 
| region-DedicatedRes:instance-type | 전용 용량 예약의 예약 인스턴스 시간입니다. | 시간 | 
| region-UnusedDed:instance-type | 전용 용량 예약의 미사용 예약 인스턴스 시간입니다. | 시간 | 



# EC2 인스턴스의 인벤토리 생성
<a name="ec2-data-inventory"></a>

Amazon EC2는 온디맨드로 확장 가능한 컴퓨팅 용량을 제공합니다. EC2 인스턴스는 AWS 네트워크에서 실행되는 가상 서버입니다.

다음 표에서는 EC2 인스턴스의 주요 특성을 설명합니다. 시스템 관리자는 이 가이드에 설명된 지침을 사용하여 이 특성에 대한 정보를 가져오고 이를 사용하여 온프레미스 또는 다른 클라우드 공급자의 네트워크에서 실행되는 기능적으로 동등한 서버를 구성할 수 있습니다.


| 기능 | 설명 | 
| --- | --- | 
| [지리적 위치](#ec2-data-geographic-location) | Amazon EC2는 전 세계 모든 AWS 리전에서 호스팅됩니다. 인스턴스를 고객에게 가까이 배치할 위치를 선택합니다. 여러 위치에서 인스턴스를 시작할 수 있습니다. | 
| [하드웨어 사양](#ec2-data-specifications) | Amazon EC2는 각 사용 사례에 최적화된 다양한 인스턴스 유형을 제공합니다. 인스턴스에 선택할 인스턴스 유형에 따라 컴퓨팅, 메모리, 네트워킹, 스토리지 리소스가 결정됩니다. | 
| [이미지](#ec2-data-images) | Amazon Machine Image(AMI)에는 시작 시 인스턴스에 설치할 소프트웨어가 포함되어 있습니다. 여기에는 운영 체제, 소프트웨어 패키지, 사용자 지정 구성이 포함됩니다. | 
| [IP 주소 및 DNS 호스트 이름](#ec2-data-ip-dns) | 인스턴스는 프라이빗 IP 주소와 프라이빗 DNS 호스트 이름을 수신합니다. 인스턴스에 퍼블릭 IP 주소를 구성하면 퍼블릭 DNS 호스트 이름을 수신합니다. | 
| [보안 그룹 규칙](#ec2-data-rules) | 인스턴스와 연결된 보안 그룹 규칙에 따라 허용되는 인바운드 트래픽과 아웃바운드 트래픽이 결정됩니다. | 
| [사용자 데이터](#ec2-data-user-data) | 사용자 데이터는 시작 시 인스턴스에서 사용할 수 있습니다. 쉘 스크립트(Linux) 또는 PowerShell 스크립트(Windows)로 구성됩니다. | 

## 지리적 위치
<a name="ec2-data-geographic-location"></a>

Amazon EC2는 전 세계 모든 AWS 리전에서 사용할 수 있습니다. 각 리전은 개별 지리 영역입니다. 대부분의 사용자와 가까운 서버의 리전을 선택하면 네트워크 지연 시간을 줄일 수 있습니다.

[Amazon EC2 Global View](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/global-view.html)를 사용하여 모든 리전에서 Amazon EC2 인스턴스를 나열할 수 있습니다. AWS Management Console 및 API를 사용하면 각 리전의 인스턴스를 개별적으로 나열해야 합니다.

**이것이 중요한 이유**  
인스턴스의 위치를 확인한 후 필요에 따라 기능적으로 동등한 서버를 동일한 위치에 배포할지 아니면 다른 위치에 배포할지 결정할 수 있습니다.

**모든 리전에서 EC2 인스턴스의 요약을 가져오는 방법**

1. [https://console.aws.amazon.com/ec2globalview/home](https://console.aws.amazon.com/ec2globalview/home)에서 Amazon EC2 Global View 콘솔을 엽니다.

1. **리전 탐색기** 탭의 **요약**에서 **인스턴스** 수와 리전 수를 포함하는 인스턴스의 리소스 수를 확인합니다. 밑줄이 그어진 텍스트를 클릭하여 인스턴스 수가 리전에 어떻게 분산되는지 확인합니다.

1. **글로벌 검색** 탭에서 클라이언트 필터 **리소스 유형 = 인스턴스**를 선택합니다. 리전 또는 태그를 지정하여 결과를 추가로 필터링할 수 있습니다.

**AWS CLI를 사용하여 리전의 EC2 인스턴스 수를 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용하여 지정된 리전의 인스턴스를 계산합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --region us-east-2 \
    --query "length(Reservations[*].Instances[])"
```

출력의 예시는 다음과 같습니다.

```
27
```

인스턴스 수 대신 인스턴스 ID 목록을 가져오려면 대신 다음 `--query` 파라미터를 사용합니다.

```
--query "Reservations[*].Instances[].InstanceId"
```

## 하드웨어 사양
<a name="ec2-data-specifications"></a>

EC2 인스턴스에 지정하는 인스턴스 유형에 따라 사용 가능한 컴퓨팅, 메모리, 스토리지, 네트워킹 리소스가 결정됩니다. 인스턴스 패밀리마다 서로 다른 컴퓨팅, 메모리, 네트워크, 스토리지 리소스의 균형을 제공합니다. 자세한 내용은 [Amazon EC2 인스턴스 유형 안내서](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)를 참조하세요.

**이것이 중요한 이유**  
인스턴스의 하드웨어 사양을 확인한 후 기능적으로 동등한 서버에 필요한 최소 사양을 결정할 수 있습니다.

**인스턴스에서 사용하는 인스턴스 유형의 요약을 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. **sed** 명령은 대괄호와 빈 줄이 있는 줄을 제거합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --query "Reservations[*].Instances[].InstanceType" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr
```

출력의 예시는 다음과 같습니다.

```
  20    "c6i.4xlarge",
   5    "t2.micro",
   2    "g6e.2xlarge",
```

**특정 인스턴스 유형 정보 가져오기**  
인스턴스 유형을 설명하려면 다음 [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 명령을 사용합니다. `--query` 파라미터는 지정된 필드만 출력에 포함합니다. 이는 기본 특성입니다. 필요한 추가 필드를 포함하거나 *Amazon EC2 인스턴스 유형 안내서*에서 [Amazon EC2 인스턴스 유형 사양](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html)을 참조할 수 있습니다.

```
aws ec2 describe-instance-types \
    --instance-types c6i.4xlarge t2.micro g6e.2xlarge \
    --query "InstanceTypes[*].[InstanceType,VCpuInfo.DefaultVCpus,MemoryInfo.SizeInMiB,NetworkInfo.NetworkPerformance]" \
    --output table
```

출력의 예시는 다음과 같습니다. 열은 인스턴스 유형, vCPU, 메모리(GiB), 네트워크 대역폭(Gbps)입니다.

```
------------------------------------------------------
|                DescribeInstanceTypes               |
+--------------+-----+--------+----------------------+
|  t2.micro    |  1  |  1024  |  Low to Moderate     |
|  c6i.4xlarge |  16 |  32768 |  Up to 12.5 Gigabit  |
|  g6e.2xlarge |  8  |  65536 |  Up to 20 Gigabit    |
+--------------+-----+--------+----------------------+
```

## 이미지
<a name="ec2-data-images"></a>

Amazon Machine Image(AMI)는 운영 체제, 서비스, 개발 도구, 애플리케이션과 같이 시작 시 인스턴스에 설치된 소프트웨어를 제공합니다. AMI를 다른 서버와 함께 사용할 다른 형식으로 내보낼 수 있습니다.

**이것이 중요한 이유**  
인스턴스의 AMI를 확인한 후 기능적으로 동등한 서버에 필요한 이미지를 계획할 수 있습니다. 다른 곳에서 사용할 수 있는 형식으로 AMI 내보낼 수 있습니다. 또는 각 AMI에서 시작한 인스턴스에 연결하고, 설치된 항목과 구성 방식을 확인하고, 필요한 모든 항목의 복사본이 있는지 확인해야 할 수 있습니다.

**인스턴스의 AMI를 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. **sed** 명령은 대괄호와 빈 줄이 있는 줄을 제거합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --query "Reservations[*].Instances[].ImageId" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr
```

출력의 예시는 다음과 같습니다.

```
20     "ami-0a70b9d193ae8a79",
 5     "ami-07d9cf938edb0739b",
 2     "ami-09245d5773578a1d6",
```

**특정 AMI에 대한 정보를 가져오는 방법**  
다음 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용합니다. `--query` 파라미터는 지정된 필드만 출력에 포함합니다. 필요한 추가 필드를 포함할 수 있습니다.

```
aws ec2 describe-images \
    --image-id ami-0a70b9d193ae8a79 ami-07d9cf938edb0739b ami-09245d5773578a1d6 \
    --query "Images[*].{ID:ImageId,CreateDate:CreationDate,Name:Name,Description:Description}"
```

출력의 예시는 다음과 같습니다.

```
[
    {
        "ID": "ami-0a70b9d193ae8a799",
        "CreateDate": "2025-03-01T02:22:41.000Z",
        "Name": "web-server-3.1",
        "Description": "Image for web servers"
    },
    {
        "ID": "ami-07d9cf938edb0739b",
        "CreateDate": "2025-02-01T23:59:03.000Z",
        "Name": "awesome-application-11.5",
        "Description": "Image for Awesome Application"
    },
    {
        "ID": "ami-09245d5773578a1d6",
        "CreateDate": "2025-01-31T02:22:41.000Z",
        "Name": "monitoring-4.2",
        "Description": "Monitoring software"
    }
]
```

**AMI에서 VM 파일을 생성하는 방법**  
[export-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/export-image.html) 명령을 사용합니다. 지원되는 이미지 형식은 VHD(Citrix Xen 및 Microsoft Hyper-V와 호환), VMDK(VMware ESX 및 VMware vSphere와 호환), 원시 형식(KVM 및 Xen 하이퍼바이저와 호환)입니다. VM Import/Export의 요구 사항 및 제한 사항에 대한 자세한 내용은 [VM Import/Export 요구 사항을](https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html) 참조하세요.

## IP 주소 및 DNS 호스트 이름
<a name="ec2-data-ip-dns"></a>

사용자는 퍼블릭 DNS 호스트 이름을 사용하여 인터넷을 통해 EC2 인스턴스에 연결합니다. EC2 인스턴스의 퍼블릭 DNS 호스트 이름으로 퍼블릭 IP 주소를 확인합니다. EC2 인스턴스는 프라이빗 IP 주소를 사용하여 서로 통신할 수 있습니다.

**이것이 중요한 이유**  
IP 주소를 사용하면 디바이스가 로컬 네트워크 또는 인터넷을 통해 서로 통신할 수 있습니다. 인스턴스의 IP 주소와 DNS 이름을 기록하면 기능적으로 동등한 서버가 인스턴스와 동일한 클라이언트 또는 디바이스와 통신할 수 있도록 할 수 있습니다. 예를 들어 로드 밸런서 구성 또는 DNS 공급자에 대해 생성한 DNS 레코드를 업데이트할 수 있습니다.

**인스턴스의 IP 주소 및 DNS 호스트 이름을 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다. `--query` 파라미터는 지정된 필드만 출력에 포함합니다. 필요한 추가 필드를 포함할 수 있습니다.

```
aws ec2 describe-instances \
    --query "Reservations[*].Instances[].[InstanceId,PrivateIpAddress,PublicDnsName]" \
    --output table
```

출력의 예시는 다음과 같습니다. 열은 인스턴스 ID, 프라이빗 IPv4 주소, 퍼블릭 IPv4 DNS 이름입니다.

```
----------------------------------------------------------------------------------------
|                                   DescribeInstances                                  |
+---------------------+------------+---------------------------------------------------+
| i-0bac57d7472c89bac | 10.0.2.139 | ec2-192-0-2-142.us-east-2.compute.amazonaws.com   |
| i-0fa8b7678975a3fff | 10.0.14.85 | ec2-198-51-100-56.us-east-2.compute.amazonaws.com |
  ...
  ...
| i-08fd74f3f1595fdbd | 10.0.1.241 | ec2-203.0.113.13.us-east-2.compute.amazonaws.com  |
+---------------------+------------+---------------------------------------------------+
```

## 보안 그룹 규칙
<a name="ec2-data-rules"></a>

보안 그룹은 가상 방화벽의 기능을 수행합니다. 보안 그룹을 EC2 인스턴스와 연결한 후 해당 규칙은 특정 포트 및 프로토콜을 통한 EC2 인스턴스의 인바운드 및 아웃바운드 트래픽을 허용합니다.

**이것이 중요한 이유**  
서버에 도달할 수 있는 인바운드 트래픽과 서버에서 나갈 수 있는 아웃바운드 트래픽을 확인한 후 기능적으로 동등한 서버에 필요한 방화벽 규칙을 계획할 수 있습니다.

**인스턴스의 보안 그룹을 변경하는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. **sed** 명령은 대괄호와 빈 줄이 있는 줄을 제거합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --query "Reservations[*].Instances[].SecurityGroups[].GroupId" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr
```

출력의 예시는 다음과 같습니다.

```
27     "sg-01dd3383691d02f42",
10     "sg-08c77cc910c0b3b2c",
 2     "sg-00f4e409629f1a42d",
```

**보안 그룹의 인바운드 규칙을 가져오는 방법**  
다음 [describe-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-group-rules.html) 명령을 사용하여 `IsEgress`가 `false`인 지정된 보안 그룹에 대한 규칙을 표시합니다.

```
aws ec2 describe-security-group-rules \
    --filters Name=group-id,Values=sg-01dd3383691d02f42 \
    --query 'SecurityGroupRules[?IsEgress==`false`]'
```

출력의 예시는 다음과 같습니다. 첫 번째 규칙은 기본 인바운드 규칙으로,이 보안 그룹에 할당된 모든 리소스의 인바운드 트래픽을 허용합니다. 다른 규칙은 지정된 접두사 목록의 IP 주소에서 SSH 트래픽을 허용합니다. 접두사 목록의 CIDR 블록을 설명하려면 [describe-prefix-lists](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-prefix-lists.html) 명령을 사용합니다.

```
[
    {
        "SecurityGroupRuleId": "sgr-06c8b42574a91db1b",
        "GroupId": "sg-01dd3383691d02f42",
        "GroupOwnerId": "123456789012",
        "IsEgress": false,
        "IpProtocol": "-1",
        "FromPort": -1,
        "ToPort": -1,
        "ReferencedGroupInfo": {
            "GroupId": "sg-01dd3383691d02f42",
            "UserId": "123456789012"
        },
        "Tags": [],
        "SecurityGroupRuleArn": "arn:aws:ec2:us-west-2:123456789012:security-group-rule/sgr-06c8b42574a91db1b"
    },
    {
        "SecurityGroupRuleId": "sgr-0886a5d46afcd1758",
        "GroupId": "sg-01dd3383691d02f42",
        "GroupOwnerId": "123456789012",
        "IsEgress": false,
        "IpProtocol": "tcp",
        "FromPort": 22,
        "ToPort": 22,
        "PrefixListId": "pl-f8a6439125e7bf465",
        "Tags": [],
        "SecurityGroupRuleArn": "arn:aws:ec2:us-east-2:123456789012:security-group-rule/sgr-0886a5d46afcd1758"
    }
]
```

**보안 그룹의 아웃바운드 규칙을 가져오는 방법**  
다음 [describe-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-group-rules.html) 명령을 사용하여 `IsEgress`가 `true`인 지정된 보안 그룹에 대한 규칙을 표시합니다.

```
aws ec2 describe-security-group-rules \
    --filters Name=group-id,Values=sg-01dd3383691d02f42 \
    --query 'SecurityGroupRules[?IsEgress==`true`]'
```

출력의 예시는 다음과 같습니다. 모든 아웃바운드 IPv4 트래픽을 허용하는 기본 아웃바운드 규칙만 포함됩니다.

```
[
    {
        "SecurityGroupRuleId": "sgr-048f09a719247dce7",
        "GroupId": "sg-01dd3383691d02f42",
        "GroupOwnerId": "123456789012",
        "IsEgress": true,
        "IpProtocol": "-1",
        "FromPort": -1,
        "ToPort": -1,
        "CidrIpv4": "0.0.0.0/0",
        "Tags": [],
        "SecurityGroupRuleArn": "arn:aws:ec2:us-east-2:123456789012:security-group-rule/sgr-048f09a719247dce7"
    }
]
```

## 사용자 데이터
<a name="ec2-data-user-data"></a>

EC2 인스턴스를 시작하면 사용자 데이터를 사용하여 인스턴스에 쉘 스크립트를 전달할 수 있습니다. 사용자 데이터는 base64로 인코딩되므로 스크립트를 읽으려면 사용자 데이터를 디코딩해야 합니다.

**이것이 중요한 이유**  
인스턴스 설정의 일부로 시작 시 명령을 실행하는 경우 기능적으로 동등한 서버를 설정할 때 동일한 작업을 수행해야 할 수 있습니다.

**인스턴스의 디코딩된 사용자 데이터를 보는 방법**  
다음 [describe-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html) 명령을 사용합니다. **base64** 명령은 사용자 데이터를 디코딩합니다.

```
aws ec2 describe-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --attribute userData \
    --output text \
    --query "UserData.Value" | base64 --decode
```

출력의 예시는 다음과 같습니다.

```
#!/bin/bash
yum update -y
service httpd start
chkconfig httpd on
```

## 관련 리소스
<a name="ec2-data-related-resources"></a>

다음은 EC2 인스턴스의 추가 특성입니다.
+ [키 페어](ec2-key-pairs.md)
+ [스토리지](Storage.md)
+ [태그](Using_Tags.md)

다음을 사용하여 EC2 인스턴스를 시작하는지 또는 EC2 인스턴스 간에 트래픽을 분산하는지 확인할 수 있습니다.
+ [오토 스케일링 그룹](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)
+ [EC2 플릿](Fleets.md)
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/)