

# 이메일을 전송하는 로드 밸런서 지연 경보 생성
<a name="US_AlarmAtThresholdELB"></a>

Amazon SNS 알림을 설정하고 Classic Load Balancer에 대해 100ms를 초과하는 대기 시간을 모니터링하는 경보를 구성할 수 있습니다.

## AWS Management Console을 사용하여 대기 시간 경보 설정
<a name="load-balancer-alarm-console"></a>

다음 단계에 따라 AWS Management Console을 사용해 로드 밸런서 지연 시간 경보를 생성합니다.

**로드 밸런서 대기 시간 경보를 생성하려면**

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

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

1. **경보 생성**을 선택하세요.

1. **범주별 CloudWatch 지표**에서 **ELB 지표** 범주를 선택합니다.

1. Classic Load Balancer 및 [**대기 시간(Latency)**] 지표가 있는 행을 선택합니다.

1. 통계의 경우 **평균**을 선택하거나, 사전 정의된 백분위수 중 하나를 선택하거나, 사용자 지정 백분위수(예: **p95.45**)를 지정합니다.

1. 기간의 경우 **1분**을 선택합니다.

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

1. **경보 임곗값**에 경보의 고유한 이름(예: **myHighCpuAlarm**)과 경보에 대한 설명(예: **Alarm when Latency exceeds 100s**)을 입력합니다. 경보 이름은 UTF-8 문자만 포함해야 하고 ASCII 제어 문자를 포함할 수 없습니다.

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

1. **다음 경우 항상**의 **조건**에서 **>**를 선택하고 **0.1**을 입력합니다. **기간**에 **3**을 입력합니다.

1. 누락 데이터 포인트가 경보 상태 변경을 트리거하지 않도록 **추가 설정**의 **누락 데이터 처리**에서 **무시(경보 상태 유지)**를 선택합니다.

   경보가 적정 수의 데이터 샘플이 있는 상황만 평가하도록 **샘플이 부족한 백분위수**에서 **ignore (maintain alarm state)(무시(경보 상태 유지))**를 선택합니다.

1. **작업**의 **이 경보가 발생할 경우 항상**에서 **상태가 ALARM입니다**를 선택합니다. **알림 보내기**에서 기존 SNS 주제를 선택하거나 새로 만듭니다.

   SNS 주제를 생성하려면 **새 목록**을 선택합니다. [**알림 보내기(Send notification to)**]에 SNS 주제 이름(예: **myHighCpuAlarm**)을 입력하고, [**이메일 목록(Email list)**]에 경보가 `ALARM` 상태로 변경될 때 알림을 받을 이메일 주소 목록을 쉼표로 구분하여 입력합니다. 각 이메일 주소로 주제 구독 확인 이메일이 전송됩니다. 알림을 받으려면 먼저 구독을 확정해야 합니다.

1. **경보 생성**을 선택합니다.

## AWS CLI를 사용하여 대기 시간 경보 설정
<a name="load-balancer-alarm-cli"></a>

다음 단계에 따라 AWS CLI을 사용해 로드 밸런서 지연 시간 경보를 생성합니다.

**로드 밸런서 대기 시간 경보를 생성하려면**

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) 명령을 사용하여 경보를 생성합니다.

   ```
   1. aws cloudwatch put-metric-alarm --alarm-name {{lb-mon}} --alarm-description "Alarm when Latency exceeds 100s" --metric-name Latency --namespace AWS/ELB --statistic Average --period 60 --threshold 100 --comparison-operator GreaterThanThreshold --dimensions Name=LoadBalancerName,Value={{my-server}} --evaluation-periods 3 --alarm-actions arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{my-topic}} --unit Seconds
   ```

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

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

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

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

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

   1. 경보에 대한 이메일 알림을 받았음을 확인합니다.