

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CloudTrail 이벤트에 대한 CloudWatch 경보 생성: 예
<a name="cloudwatch-alarms-for-cloudtrail"></a>

이 주제에서는 CloudTrail 이벤트에 대한 경보를 구성하는 방법(예 포함)을 설명합니다.

**Topics**
+ [사전 조건](#cloudwatch-alarms-prerequisites)
+ [지표 필터 및 경보 생성](#cloudwatch-alarms-metric-filter-alarm)
+ [보안 그룹 구성 변경 예](#cloudwatch-alarms-for-cloudtrail-security-group)
+ [AWS Management Console 로그인 실패 예](#cloudwatch-alarms-for-cloudtrail-signin)
+ [예: IAM 정책 변경](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes)
+ [CloudWatch Logs 경보에 대한 알림 구성](#cloudtrail-configure-notifications-for-cloudwatch-logs-alarms)

## 사전 조건
<a name="cloudwatch-alarms-prerequisites"></a>

이 항목에 나오는 예를 사용하기 전에 다음을 수행해야 합니다.
+ 콘솔 또는 CLI를 사용하여 추적을 생성합니다.
+ 로그 그룹을 생성합니다. 이 작업은 추적 생성의 일부로 수행할 수 있습니다. 추적 생성에 대한 자세한 내용은 [CloudTrail 콘솔을 사용하여 추적 생성](cloudtrail-create-a-trail-using-the-console-first-time.md)을 참조하세요.
+ 지정된 로그 그룹에 CloudWatch Logs 로그 스트림을 생성하고 이 로그 스트림에 CloudTrail 이벤트를 전달할 수 있는 권한을 CloudTrail에 부여하는 IAM 역할을 지정하거나 생성합니다. 기본 `CloudTrail_CloudWatchLogs_Role`은 이 작업을 자동으로 수행합니다.

자세한 내용은 [CloudWatch Logs에 이벤트 전송](send-cloudtrail-events-to-cloudwatch-logs.md) 단원을 참조하세요. 이 단원의 예는 Amazon CloudWatch Logs 콘솔에서 수행됩니다. 지표 필터 및 경보를 생성하는 방법에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [필터를 사용하여 로그 이벤트에서 지표 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 및 [Amazon CloudWatch 경보 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 단원을 참조하세요.

## 지표 필터 및 경보 생성
<a name="cloudwatch-alarms-metric-filter-alarm"></a>

경보를 생성하려면 먼저, 지표 필터를 생성한 후 필터에 따라 경보를 구성해야 합니다. 절차에는 모든 예가 표시됩니다. CloudTrail 로그 이벤트의 지표 필터 및 패턴 구문에 대한 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [필터 및 패턴 구문](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)에서 JSON 관련 단원을 참조하세요.

## 보안 그룹 구성 변경 예
<a name="cloudwatch-alarms-for-cloudtrail-security-group"></a>

다음 절차를 따라 보안 그룹에서 구성 변경이 발생할 때 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다.

### 지표 필터 생성
<a name="cloudwatch-alarms-for-cloudtrail-security-group-metric-filter"></a>

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

1. 왼쪽 탐색 창의 [**로그(Logs)**]에서 [**로그 그룹(Log groups)**]을 선택합니다.

1. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

1. **지표 필터(Metric filters)** 또는 **작업(Actions)** 메뉴에서 **지표 필터 생성(Create metric filter)**을 선택합니다.

1. [**패턴 정의(Define pattern)**] 페이지의 [**필터 패턴 생성(Create filter pattern)**]에서 [**필터 패턴(Filter pattern)**]에 대해 다음을 입력합니다.

   ```
   { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
   ```

1. [**패턴 테스트(Test pattern)**]에서 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**지표 할당(Assign metric)**] 페이지에서 [**필터 이름(Filter name)**]에 **SecurityGroupEvents**를 입력합니다.

1. [**지표 세부 정보(Metric details)**]에서 [**새로 생성(Create new)**]을 활성화한 후 [**지표 네임스페이스(Metric namespace)**]에 **CloudTrailMetrics**를 입력합니다.

1. [**Metric name(지표 이름)**]에 **SecurityGroupEventCount**를 입력합니다.

1. [**Metric Value(지표 값)**]에 **1**을 입력합니다.

1. [**기본값(Default value)**]을 비워 둡니다.

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

1. [**검토 및 생성(Review and create)**] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [**지표 필터 생성(Create metric filter)**]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [**편집(Edit)**]을 선택합니다.

### 경보 만들기
<a name="cloudwatch-alarms-for-cloudtrail-security-group-create-alarm"></a>

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

1. [**지표 필터(Metric filters)**] 탭에서, [지표 필터 생성](#cloudwatch-alarms-for-cloudtrail-security-group-metric-filter)에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [**지표 필터(Metric filters)**] 표시줄에서 [**경보 생성(Create alarm)**]을 선택합니다.

1. [**지표 및 조건 지정(Specify metric and conditions)**]에 다음을 입력합니다.

   1. [**그래프(Graph)**]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 **1**로 설정됩니다.

   1. [**지표 이름(Metric name)**]의 경우 현재 지표 이름인 **SecurityGroupEventCount**를 유지합니다.

   1. [**통계(Statistic)**]의 경우 기본값인 **Sum**을 유지합니다.

   1. [**기간(Period)**]의 경우 기본값인 **5 minutes**를 유지합니다.

   1. [**조건(Conditions)**]의 [**임계값 유형(Threshold type)**]에서 [**정적(Static)**]을 선택합니다.

   1. [**metric\$1name이 다음과 같을 때마다(Whenever *metric\$1name* is**)]의 경우 [**더 큼/같음(Greater/Equal)**]을 선택합니다.

   1. 임계값에는 **1**을 입력합니다.

   1. [**추가 구성(Additional configuration)**]의 경우 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**작업 구성(Configure actions)**] 페이지에서 [**알림(Notification)**]을 선택하고, [**상태(In alarm)**]를 선택합니다. 이는 5분 동안 1개의 변경 이벤트 임계값을 초과하고, **SecurityGroupEventCount**가 경보 상태일 때 작업이 수행됨을 나타냅니다.

   1. [**다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)**]에서 [**새 주제 생성(Create new topic)**]를 선택합니다.

   1. 새 Amazon SNS 주제의 **SecurityGroupChanges\$1CloudWatch\$1Alarms\$1Topic**을 입력합니다.

   1. [**알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)**]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

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

1. 이 예에서는 다른 작업 유형을 건너뜁니다. **다음**을 선택합니다.

1. [**이름 및 설명 추가(Add name and description)**] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 **Security group configuration changes**를 입력하고 설명에 **Raises alarms if security group configuration changes occur**를 입력합니다. **다음**을 선택합니다.

1. [**미리 보기 및 생성(Preview and create)**] 페이지에서 선택 사항을 검토합니다. 변경하려면 [**편집(Edit)**]을 선택합니다. 또는 경보를 생성하려면 [**경보 생성(Create alarm)**]을 선택합니다.

   경보를 생성하면 CloudWatch에서 [**경보(Alarms)**] 페이지를 엽니다. 경보의 [**작업(Actions)**] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [**확인 보류 중(Pending confirmation)**]으로 표시됩니다.

## AWS Management Console 로그인 실패 예
<a name="cloudwatch-alarms-for-cloudtrail-signin"></a>

다음 절차에 따라 5분 동안 AWS Management Console 3개 이상의 로그인 실패가 있을 때 트리거되는 Amazon CloudWatch 경보를 생성합니다.

### 지표 필터 생성
<a name="cloudwatch-alarms-for-cloudtrail-signin-metric-filter"></a>

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

1. 왼쪽 탐색 창의 [**로그(Logs)**]에서 [**로그 그룹(Log groups)**]을 선택합니다.

1. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

1. **지표 필터(Metric filters)** 또는 **작업(Actions)** 메뉴에서 **지표 필터 생성(Create metric filter)**을 선택합니다.

1. [**패턴 정의(Define pattern)**] 페이지의 [**필터 패턴 생성(Create filter pattern)**]에서 [**필터 패턴(Filter pattern)**]에 대해 다음을 입력합니다.

   ```
   { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
   ```

1. [**패턴 테스트(Test pattern)**]에서 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**지표 할당(Assign metric)**] 페이지에서 [**필터 이름(Filter name)**]에 **ConsoleSignInFailures**를 입력합니다.

1. [**지표 세부 정보(Metric details)**]에서 [**새로 생성(Create new)**]을 활성화한 후 [**지표 네임스페이스(Metric namespace)**]에 **CloudTrailMetrics**를 입력합니다.

1. [**Metric name(지표 이름)**]에 **ConsoleSigninFailureCount**를 입력합니다.

1. [**Metric Value(지표 값)**]에 **1**을 입력합니다.

1. [**기본값(Default value)**]을 비워 둡니다.

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

1. [**검토 및 생성(Review and create)**] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [**지표 필터 생성(Create metric filter)**]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [**편집(Edit)**]을 선택합니다.

### 경보 만들기
<a name="cloudwatch-alarms-for-cloudtrail-signin-create-alarm"></a>

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

1. [**지표 필터(Metric filters)**] 탭에서, [지표 필터 생성](#cloudwatch-alarms-for-cloudtrail-signin-metric-filter)에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [**지표 필터(Metric filters)**] 표시줄에서 [**경보 생성(Create alarm)**]을 선택합니다.

1. [**경보 생성(Create Alarm)**] 페이지의 [**지표 및 조건 지정(Specify metric and conditions)**]에서 다음을 입력합니다.

   1. [**그래프(Graph)**]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 **3**로 설정됩니다.

   1. [**지표 이름(Metric name)**]의 경우 현재 지표 이름인 **ConsoleSigninFailureCount**를 유지합니다.

   1. [**통계(Statistic)**]의 경우 기본값인 **Sum**을 유지합니다.

   1. [**기간(Period)**]의 경우 기본값인 **5 minutes**를 유지합니다.

   1. [**조건(Conditions)**]의 [**임계값 유형(Threshold type)**]에서 [**정적(Static)**]을 선택합니다.

   1. [**metric\$1name이 다음과 같을 때마다(Whenever *metric\$1name* is**)]의 경우 [**더 큼/같음(Greater/Equal)**]을 선택합니다.

   1. 임계값에는 **3**을 입력합니다.

   1. [**추가 구성(Additional configuration)**]의 경우 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**작업 구성(Configure actions)**] 페이지에서 [**알림(Notification)**]을 선택하고, [**상태(In alarm)**]를 선택합니다. 이는 5분 동안 3개의 변경 이벤트 임계값을 초과하고, **ConsoleSigninFailureCount**가 경보 상태일 때 작업이 수행됨을 나타냅니다.

   1. [**다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)**]에서 [**새 주제 생성(Create new topic)**]를 선택합니다.

   1. 새 Amazon SNS 주제의 **ConsoleSignInFailures\$1CloudWatch\$1Alarms\$1Topic**을 입력합니다.

   1. [**알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)**]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

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

1. 이 예에서는 다른 작업 유형을 건너뜁니다. **다음**을 선택합니다.

1. [**이름 및 설명 추가(Add name and description)**] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 **Console sign-in failures**를 입력하고 설명에 **Raises alarms if more than 3 console sign-in failures occur in 5 minutes**를 입력합니다. **다음**을 선택합니다.

1. [**미리 보기 및 생성(Preview and create)**] 페이지에서 선택 사항을 검토합니다. 변경하려면 [**편집(Edit)**]을 선택합니다. 또는 경보를 생성하려면 [**경보 생성(Create alarm)**]을 선택합니다.

   경보를 생성하면 CloudWatch에서 [**경보(Alarms)**] 페이지를 엽니다. 경보의 [**작업(Actions)**] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [**확인 보류 중(Pending confirmation)**]으로 표시됩니다.

## 예: IAM 정책 변경
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes"></a>

다음 절차를 따라 API 호출을 수행하여 IAM 정책을 변경할 때 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다.

### 지표 필터 생성
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter"></a>

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

1. 탐색 창에서 **로그**를 선택합니다.

1. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

1. [**작업(Actions)**]을 선택한 후 [**지표 필터 생성(Create metric filter)**]을 선택합니다.

1. [**패턴 정의(Define pattern)**] 페이지의 [**필터 패턴 생성(Create filter pattern)**]에서 [**필터 패턴(Filter pattern)**]에 대해 다음을 입력합니다.

   ```
   {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
   ```

1. [**패턴 테스트(Test pattern)**]에서 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**지표 할당(Assign metric)**] 페이지에서 [**필터 이름(Filter name)**]에 **IAMPolicyChanges**를 입력합니다.

1. [**지표 세부 정보(Metric details)**]에서 [**새로 생성(Create new)**]을 활성화한 후 [**지표 네임스페이스(Metric namespace)**]에 **CloudTrailMetrics**를 입력합니다.

1. [**Metric name(지표 이름)**]에 **IAMPolicyEventCount**를 입력합니다.

1. [**Metric Value(지표 값)**]에 **1**을 입력합니다.

1. [**기본값(Default value)**]을 비워 둡니다.

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

1. [**검토 및 생성(Review and create)**] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [**지표 필터 생성(Create metric filter)**]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [**편집(Edit)**]을 선택합니다.

### 경보 만들기
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-create-alarm"></a>

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

1. [**지표 필터(Metric filters)**] 탭에서, [지표 필터 생성](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter)에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [**지표 필터(Metric filters)**] 표시줄에서 [**경보 생성(Create alarm)**]을 선택합니다.

1. [**경보 생성(Create Alarm)**] 페이지의 [**지표 및 조건 지정(Specify metric and conditions)**]에서 다음을 입력합니다.

   1. [**그래프(Graph)**]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 **1**로 설정됩니다.

   1. [**지표 이름(Metric name)**]의 경우 현재 지표 이름인 **IAMPolicyEventCount**를 유지합니다.

   1. [**통계(Statistic)**]의 경우 기본값인 **Sum**을 유지합니다.

   1. [**기간(Period)**]의 경우 기본값인 **5 minutes**를 유지합니다.

   1. [**조건(Conditions)**]의 [**임계값 유형(Threshold type)**]에서 [**정적(Static)**]을 선택합니다.

   1. [**metric\$1name이 다음과 같을 때마다(Whenever *metric\$1name* is**)]의 경우 [**더 큼/같음(Greater/Equal)**]을 선택합니다.

   1. 임계값에는 **1**을 입력합니다.

   1. [**추가 구성(Additional configuration)**]의 경우 기본값을 그대로 둡니다. **다음**을 선택합니다.

1. [**작업 구성(Configure actions)**] 페이지에서 [**알림(Notification)**]을 선택하고, [**상태(In alarm)**]를 선택합니다. 이는 5분 동안 1개의 변경 이벤트 임계값을 초과하고, **IAMPolicyEventCount**가 경보 상태일 때 작업이 수행됨을 나타냅니다.

   1. [**다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)**]에서 [**새 주제 생성(Create new topic)**]를 선택합니다.

   1. 새 Amazon SNS 주제의 **IAM\$1Policy\$1Changes\$1CloudWatch\$1Alarms\$1Topic**을 입력합니다.

   1. [**알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)**]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

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

1. 이 예에서는 다른 작업 유형을 건너뜁니다. **다음**을 선택합니다.

1. [**이름 및 설명 추가(Add name and description)**] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 **IAM Policy Changes**를 입력하고 설명에 **Raises alarms if IAM policy changes occur**를 입력합니다. **다음**을 선택합니다.

1. [**미리 보기 및 생성(Preview and create)**] 페이지에서 선택 사항을 검토합니다. 변경하려면 [**편집(Edit)**]을 선택합니다. 또는 경보를 생성하려면 [**경보 생성(Create alarm)**]을 선택합니다.

   경보를 생성하면 CloudWatch에서 [**경보(Alarms)**] 페이지를 엽니다. 경보의 [**작업(Actions)**] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [**확인 보류 중(Pending confirmation)**]으로 표시됩니다.

## CloudWatch Logs 경보에 대한 알림 구성
<a name="cloudtrail-configure-notifications-for-cloudwatch-logs-alarms"></a>

CloudTrail에 대한 경보가 트리거될 때마다 알림을 보내도록 CloudWatch Logs를 구성할 수 있습니다. 이렇게 하면 CloudTrail 이벤트에 캡처되고 CloudWatch Logs에서 감지한 중요한 운영 이벤트에 빠르게 대응할 수 있습니다. CloudWatch는 Amazon Simple Notification Service(SNS)를 사용하여 이메일을 보냅니다. 자세한 정보는 *Amazon CloudWatch 사용 설명서*의 [Amazon SNS 알림 설정](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html#US_SetupSNS)을 참조하세요.