

# CPU 사용률 경보 생성
<a name="US_AlarmAtThresholdEC2"></a>

경보 상태가 `OK`에서 `ALARM`으로 변경될 때 Amazon SNS를 사용하여 알림을 보내는 CloudWatch 경보를 생성할 수 있습니다.

EC2 인스턴스의 평균 CPU 사용률이 지정된 기간 동안 연속해서 지정된 임곗값을 초과하면 경보 상태가 `ALARM`으로 바뀝니다.

## AWS Management Console을 사용하여 CPU 사용량 경보 설정
<a name="cpu-usage-alarm-console"></a>

다음 단계에 따라 AWS Management Console을 사용해 CPU 사용량 경보를 생성합니다.

**CPU 사용량을 기반으로 경보를 생성하려면**

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

1. 탐색 창에서 **경보(Alarms)**, **모든 경보(All Alarms)**를 선택합니다.

1. **경보 생성(Create alarm)**을 선택하세요.

1. **지표 선택**을 선택합니다.

1. **모든 지표** 탭에서 **EC2 지표**를 선택합니다.

1. 지표 범주(예: **인스턴스별 지표**)를 선택합니다.

1. 원하는 인스턴스가 **InstanceId** 열에 나열되고 **CPUUtilization**이 **지표 이름(Metric Name)** 열에 있는 행을 찾습니다. 이 행 옆의 확인란을 선택하고 **지표 선택**을 선택합니다.

1. **지표 및 조건 지정** 아래에 있는 **통계**에서 **평균**을 선택하거나, 사전 정의된 백분위수 중 하나를 선택하거나, 사용자 지정 백분위수(예: **p95.45**)를 지정합니다.

1. 기간(예: **5 minutes**)을 선택합니다.

1. **조건**에서 다음을 지정합니다.

   1. **임곗값 유형**에서 **정적**을 선택합니다.

   1. **CPUUtilization이(가) 다음과 같은 경우에 항상**에서 **보다 큼**을 지정합니다. **than...**에서 CPU 사용률이 이 비율을 초과할 경우 경보를 ALARM 상태로 전환할 임곗값을 지정합니다. 예: 70.

   1. **추가 구성**을 선택합니다. **경보에 대한 데이터 포인트**에서 경보를 트리거하기 위해 평가 기간(데이터 포인트)이 `ALARM` 상태로 유지해야 하는 기간을 지정합니다. 두 값이 일치하는 경우 다수의 연속 기간이 위반되면 `ALARM` 상태가 되는 경보가 생성됩니다.

      N 중 M 경보를 생성하려면 두 번째 값에 지정한 값보다 낮은 값을 첫 번째 값에 지정합니다. 자세한 내용은 [경보 평가](alarm-evaluation.md) 단원을 참조하세요.

   1. **누락 데이터 처리**에서 일부 데이터 포인트가 누락된 경우 경보가 어떻게 동작할지 선택합니다. 자세한 내용은 [CloudWatch 경보가 누락 데이터를 처리하는 방법 구성](alarms-and-missing-data.md) 단원을 참조하세요.

   1. 경보가 모니터링된 통계 값으로 백분위수를 사용하는 경우에는 **샘플이 부족한 백분위수** 상자가 표시됩니다. 샘플 비율이 낮은 사례를 평가 또는 무시할지 여부를 선택할 때 이 상자를 사용합니다. **ignore (maintain alarm state)(무시(경보 상태 유지))**를 선택하면 샘플 크기가 너무 작을 때 현재 경보 상태가 항상 유지됩니다. 자세한 내용은 [백분위수 기반 경보 및 데이터 샘플 부족](percentiles-with-low-samples.md) 단원을 참조하세요.

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

1. **알림**에서 **경보 상태**를 선택하고 경보가 `ALARM` 상태일 때 알릴 SNS 주제를 선택합니다.

   경보가 동일한 경보 상태 또는 다른 경보 상태에 대해 여러 개의 알림을 보내도록 설정하려면 **알림 추가**를 선택합니다.

   경보에서 알림을 보내지 않게 하려면 **제거**를 선택합니다.

1. 마친 후에는 **다음**을 선택합니다.

1. 경보 이름 및 설명을 입력합니다. 그리고 **다음**을 선택합니다.

   이름에는 UTF-8 문자만 포함해야 하며 ASCII 제어 문자는 포함할 수 없습니다. 설명에 마크다운 서식을 포함할 수 있으며, 이는 CloudWatch 콘솔에서 경보 **세부 정보** 탭에만 표시됩니다. 마크다운은 런북이나 기타 내부 리소스에 대한 링크를 추가하는 데 유용할 수 있습니다.

1. **미리 보기 및 생성**에서 정보 및 조건이 원하는 내용인지 확인한 다음 **경보 생성**을 선택합니다.

## AWS CLI를 사용하여 CPU 사용량 경보 설정
<a name="cpu-usage-alarm-cli"></a>

다음 단계에 따라 AWS CLI을 사용해 CPU 사용량 경보를 생성합니다.

**CPU 사용량을 기반으로 경보를 생성하려면**

1. SNS 주제를 설정합니다. 자세한 내용은 [Amazon SNS 알림 설정](Notify_Users_Alarm_Changes.md#US_SetupSNS) 단원을 참조하세요.

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

   ```
   aws cloudwatch put-metric-alarm --alarm-name {{cpu-mon}} --alarm-description "Alarm when CPU exceeds 70%" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period {{300}} --threshold {{70}} --comparison-operator GreaterThanThreshold --dimensions  Name=InstanceId,Value={{i-12345678}} --evaluation-periods {{2}} --alarm-actions arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{my-topic}} --unit Percent
   ```

1. [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html) 명령으로 경보 상태를 강제로 변경하여 경보를 테스트합니다.

   1. 경보 상태를 `INSUFFICIENT_DATA`에서 `OK`으로 변경합니다.

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value OK
      ```

   1. 경보 상태를 `OK`에서 `ALARM`으로 변경합니다.

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value ALARM
      ```

   1. 경보에 관한 알림을 받았는지 확인합니다.