Insights 이벤트 로깅 - AWS CloudTrail

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

Insights 이벤트 로깅

AWS CloudTrail Insights는 AWS 사용자가 CloudTrail 관리 이벤트를 지속적으로 분석하여 API 호출과 관련이 있는 비정상적인 활동을 식별하고 이에 대응할 수 있도록 지원합니다. CloudTrail Insights는 기준이라고도 하는 API 호출 볼륨과 API 오류율의 정상적인 패턴을 분석하고, 호출 볼륨 또는 오류율이 정상 패턴을 벗어날 때 Insights 이벤트를 생성합니다. API 호출 볼륨에 대한 Insights 이벤트는 write 관리 API에 대해 생성되고 API 오류율에 대한 Insights 이벤트는 readwrite 관리 API 모두에 대해 생성됩니다.

참고

API 호출량에 대한 Insights 이벤트를 로깅하려면, 추적 또는 이벤트 데이터 스토어가 write 관리 이벤트를 로깅해야 합니다. API 오류율에 대한 Insights 이벤트를 로깅하려면, 추적 또는 이벤트 데이터 스토어에서 read 또는 write 관리 이벤트를 로깅해야 합니다.

CloudTrail Insights는 전역이 아닌 단일 리전에서 발생하는 관리 이벤트를 분석합니다. CloudTrail Insights 이벤트는 지원 관리 이벤트가 생성되는 것과 동일한 리전에서 생성됩니다.

Insights 이벤트 로깅에는 추가 요금이 부과됩니다. 추적과 이벤트 데이터 스토어 모두에 대해 Insights를 활성화하면 요금이 별도로 부과됩니다. 자세한 내용은 AWS CloudTrail 요금을 참조하십시오.

Insights 이벤트 전달에 대한 이해

CloudTrail이 캡처하는 다른 이벤트 유형과 달리, Insights 이벤트는 계정의 API 사용량 변화가 계정의 일반적인 사용 패턴과 크게 다르다는 것을 CloudTrail이 탐지한 경우에만 로그됩니다.

CloudTrail이 이벤트를 전달하는 위치와 Insights 이벤트를 수신하는 데 걸리는 시간은 추적과 이벤트 데이터 스토어에 따라 다릅니다.

추적에 대한 Insights 이벤트 전달

추적에서 Insights 이벤트를 활성화했을 때 CloudTrail이 비정상적인 활동을 감지하면, CloudTrail은 추적의 선택한 대상 S3 버킷의 /CloudTrail-Insight로 Insights 이벤트를 전달합니다. 추적에서 처음으로 CloudTrail Insights를 사용 설정한 후 비정상적인 활동이 감지된 경우 CloudTrail이 첫 번째 Insights 이벤트를 전달하는 데 최대 36시간이 걸릴 수 있습니다.

추적에서 Insights 이벤트 로깅을 비활성화하고 다시 활성화하거나, 추적에서 로깅을 중지했다가 다시 시작하면, 비정상적인 활동을 감지한 경우 CloudTrail이 Insights 이벤트 전송을 다시 시작하는 데 최대 36시간이 걸릴 수 있습니다.

이벤트 데이터 스토어에 대한 Insights 이벤트 전송

소스 이벤트 데이터 스토어에서 Insights 이벤트를 활성화하면, CloudTrail은 대상 이벤트 데이터 스토어로 Insights 이벤트를 전달합니다. 소스 이벤트 데이터 스토어에서 처음으로 CloudTrail Insights를 활성화한 후 비정상적인 활동이 감지된 경우 CloudTrail이 대상 이벤트 데이터 스토어로 첫 번째 Insights 이벤트를 전달하는 데 최대 7일이 걸릴 수 있습니다.

소스 이벤트 데이터 스토어에서 Insights 이벤트 로깅을 비활성화하고 다시 활성화하거나, 소스 이벤트 데이터 스토어에서 이벤트 수집을 중지했다가 다시 시작하면, 비정상적인 활동이 감지된 경우 CloudTrail이 Insights 이벤트 전송을 다시 시작하는 데 최대 7일이 걸릴 수 있습니다. CloudTrail Lake의 Insights 이벤트 수집에는 추가 요금이 부과됩니다. 추적과 이벤트 데이터 스토어 모두에 대해 Insights를 활성화하면 요금이 별도로 부과됩니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

AWS Management Console을 사용하여 Insights 이벤트 로깅

콘솔을 사용하여 추적 또는 이벤트 데이터 스토어에서 Insights 이벤트를 활성화할 수 있습니다.

기존 추적에서 CloudTrail Insights 이벤트 활성화

다음 절차에 따라 기존 추적에서 CloudTrail Insights 이벤트를 사용 설정합니다. 기본적으로 Insights 이벤트는 사용 설정되어 있지 않습니다.

  1. CloudTrail 콘솔의 왼쪽 탐색 창에서 [추적(Trails)] 페이지를 열고 추적 이름을 선택합니다.

  2. [Insights 이벤트(Insights events)]에서 [편집(Edit)]을 선택합니다.

    참고

    인사이트 이벤트 로깅에는 추가 요금이 부과됩니다. CloudTrail 요금은 AWS CloudTrail 요금을 참조하세요.

  3. 이벤트 유형(Event type)에서 Insights 이벤트(Insights events)]를 선택합니다.

  4. Insights 이벤트(Insights events)Insights 유형 선택(Choose Insights types)에서 API 호출률(API call rate), API 오류율(API error rate) 또는 둘 다를 선택합니다. API 호출률(API call rate)에 대한 Insights 이벤트를 로그하려면, 추적이 쓰기(Write) 관리 이벤트를 로그하고 있어야 합니다. API 오류율에 대한 Insights 이벤트를 로그하려면, 추적이 읽기(Read) 또는 쓰기(Write) 관리 이벤트를 로그하고 있어야 합니다.

  5. 변경 사항을 저장하려면 변경 사항 저장을 선택합니다.

비정상적인 활동이 감지된 경우 CloudTrail이 첫 번째 Insights 이벤트를 전달하는 데 최대 36시간이 걸릴 수 있습니다.

기존 이벤트 데이터 스토어의 CloudTrail Insights 이벤트 사용

다음 절차에 따라 기존 이벤트 데이터 스토어의 CloudTrail Insights 이벤트를 활성화합니다. 기본적으로 Insights 이벤트는 사용 설정되어 있지 않습니다.

CloudTrail Lake의 Insights 이벤트 수집에는 추가 요금이 부과됩니다. 추적과 이벤트 데이터 스토어 모두에 대해 Insights를 활성화하면 요금이 별도로 부과됩니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

참고

CloudTrail Insights 이벤트는 오직 CloudTrail 관리 이벤트를 포함하는 이벤트 데이터 스토어에서만 활성화할 수 있습니다. 다른 이벤트 데이터 스토어 유형에서는 CloudTrail Insights 이벤트를 활성화할 수 없습니다.

  1. CloudTrail 콘솔의 왼쪽 탐색 창에서 Lake를 선택한 다음, 이벤트 데이터 스토어(Event data stores)를 선택합니다.

  2. 이벤트 데이터 스토어 이름을 선택합니다.

  3. 관리 이벤트(Management events)에서 편집(Edit)을 선택합니다.

  4. Insights 활성화(Enable Insights)를 선택합니다.

  5. CloudTrail이 Insights 이벤트를 제공할 대상 이벤트 데이터 스토어를 선택합니다. 대상 이벤트 데이터 스토어는 이 이벤트 데이터 스토어의 관리 이벤트 활동을 기반으로 Insights 이벤트를 수집합니다. 대상 이벤트 데이터 스토어를 생성하는 방법에 대한 자세한 내용은 Insights 이벤트를 로그하는 대상 이벤트 데이터 스토어 생성 섹션을 참조하세요.

  6. Insights 유형 선택(Choose Insights types)에서 API 호출룰(API call rate), API 오류율(API error rate) 또는 둘 다를 선택합니다. API 호출률(API call rate)에 대한 Insights 이벤트를 로깅하려면 이벤트 데이터 스토어에서 쓰기 관리 이벤트를 로깅해야 합니다. API 오류율(API error rate)에 대한 Insights 이벤트를 기록하려면 이벤트 데이터 스토어에서 읽기(Read) 또는 쓰기(Write) 관리 이벤트를 로깅하고 있어야 합니다.

  7. 변경 사항을 저장하려면 변경 사항 저장을 선택합니다.

비정상적인 활동이 감지된 경우 CloudTrail이 첫 번째 Insights 이벤트를 전달하는 데 최대 7일이 걸릴 수 있습니다.

AWS Command Line Interface을 사용하여 Insights 이벤트 로깅

AWS CLI를 사용하여 Insights 이벤트를 로그하도록 추적과 이벤트 데이터 스토어를 구성할 수 있습니다.

참고

API 호출량에 대한 Insights 이벤트를 로깅하려면, 추적 또는 이벤트 데이터 스토어가 write 관리 이벤트를 로깅해야 합니다. API 오류율에 대한 Insights 이벤트를 로깅하려면, 추적 또는 이벤트 데이터 스토어에서 read 또는 write 관리 이벤트를 로깅해야 합니다.

AWS CLI를 사용하여 추적에 대한 Insights 이벤트 로깅

추적이 Insights 이벤트를 로그하는지 여부를 확인하려면 get-insight-selectors 명령을 실행합니다.

aws cloudtrail get-insight-selectors --trail-name TrailName

다음 결과는 트레일의 기본 설정을 보여 줍니다. 기본적으로 추적은 인사이트 이벤트를 로그하지 않습니다. 인사이트 이벤트 모음이 활성화되지 않았기 때문에 InsightType 속성 값이 비어 있고 인사이트 이벤트 선택기가 지정되지 않습니다.

Insights 선택기를 추가하지 않으면 get-insight-selectors 명령은 "GetInsightSelectors 작업을 호출할 때 오류가 발생했습니다(InsightNotEnabledException): 추적 이름에 Insights가 활성화되어 있지 않습니다. 추적 설정을 편집하여 Insights를 활성화한 다음 작업을 다시 시도하십시오.”라는 오류 메시지를 반환합니다.

{ "InsightSelectors": [ ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

Insights 이벤트를 로그하도록 추적을 구성하려면 put-insight-selectors 명령을 실행합니다. 다음 예는 Insights 이벤트를 포함하도록 추적을 구성하는 방법을 보여 줍니다. Insights 선택기 값은 ApiCallRateInsight, ApiErrorRateInsight 또는 모두가 될 수 있습니다.

aws cloudtrail put-insight-selectors --trail-name TrailName --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

다음 결과는 트레일에 대해 구성된 인사이트 이벤트 선택기를 보여 줍니다.

{ "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

AWS CLI를 사용하여 이벤트 데이터 스토어에 대한 Insights 이벤트 로깅

이벤트 데이터 스토어에서 Insights를 활성화하려면, 관리 이벤트를 로깅하는 소스 이벤트 데이터 스토어와 Insights 이벤트를 로깅하는 대상 이벤트 데이터 스토어가 있어야 합니다.

이벤트 데이터 스토어에서 Insights 이벤트가 활성화되었는지 확인하려면, get-insight-selectors 명령을 실행합니다.

aws cloudtrail get-insight-selectors --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

이벤트 데이터 스토어가 Insights 이벤트 또는 관리 이벤트를 수신하도록 구성되었는지 확인하려면 get-event-data-store 명령을 실행합니다.

aws cloudtrail get-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-d483-5c7d-4ac2-adb5dEXAMPLE

다음 절차는 대상 및 소스 이벤트 데이터 스토어를 생성하고, Insights 이벤트를 사용하는 방법을 보여 줍니다.

  1. aws cloudtrail create-event-data-store 명령을 실행하여 Insights 이벤트를 수집하는 대상 이벤트 데이터 스토어를 생성합니다. eventCategory의 값은 Insight이어야 합니다. retention-period-days를 이벤트 데이터 스토어에 이벤트를 보존하려는 날짜 일수로 변경합니다.

    AWS Organizations 조직의 관리 계정으로 로그인한 경우 위임된 관리자에게 이벤트 데이터 스토어에 대한 액세스 권한을 부여하려면, --organization-enabled 파라미터를 포함합니다.

    aws cloudtrail create-event-data-store \ --name insights-event-data-store \ --no-multi-region-enabled \ --retention-period retention-period-days \ --advanced-event-selectors '[ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Insight"] } ] } ]'

    다음은 응답의 예입니다.

    { "Name": "insights-event-data-store", "ARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "AdvancedEventSelectors": [ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Insight" ] } ] } ], "MultiRegionEnabled": false, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": "90", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-08T15:22:33.578000+00:00", "UpdatedTimestamp": "2023-11-08T15:22:33.714000+00:00" }

    응답의 ARN(또는 ARN의 ID 접미사)을 3단계의 --insights-destination 파라미터 값으로 사용합니다.

  2. aws cloudtrail create-event-data-store 명령을 실행하여 관리 이벤트를 로그하는 소스 이벤트 데이터 저장소를 생성합니다. 기본적으로 이벤트 데이터 스토어는 모든 관리 이벤트를 로깅하지만 데이터 이벤트는 로깅합니다. 모든 관리 이벤트를 로그하려면, 고급 이벤트 선택기를 지정할 필요가 없습니다. retention-period-days를 이벤트 데이터 스토어에 이벤트를 보존하려는 날짜 일수로 변경합니다. 조직 이벤트 데이터 스토어를 생성하려면, --organization-enabled 파라미터를 포함합니다.

    aws cloudtrail create-event-data-store --name source-event-data-store --retention-period retention-period-days

    다음은 응답의 예입니다.

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "Name": "source-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-08T15:25:35.578000+00:00", "UpdatedTimestamp": "2023-11-08T15:25:35.714000+00:00" }

    응답의 ARN(또는 ARN의 ID 접미사)을 3단계의 --event-data-store 파라미터 값으로 사용합니다.

  3. put-insight-selectors 명령을 실행하여 Insights 이벤트를 활성화합니다. Insights 선택기 값은 ApiCallRateInsight, ApiErrorRateInsight 또는 두 개 모두가 될 수 있습니다. --event-data-store 파라미터에는 관리 이벤트를 로그하고 Insights를 활성화하는 소스 이벤트 데이터 스토어의 ARN(또는 ARN의 ID 접미사)을 지정합니다. --insights-destination 파라미터에는 Insights 이벤트를 로그할 대상 이벤트 데이터 스토어의 ARN(또는 ARN의 ID 접미사)을 지정합니다.

    aws cloudtrail put-insight-selectors --event-data-store arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE --insights-destination arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

    다음 결과는 이벤트 데이터 스토어에 대해 구성된 Insights 이벤트 선택기를 보여 줍니다.

    { "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "InsightsDestination": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ] }

    이벤트 데이터 스토어에서 처음으로 CloudTrail Insights를 사용 설정한 후 비정상적인 활동이 감지된 경우 CloudTrail이 첫 번째 Insights 이벤트를 전달하는 데 최대 7일이 걸릴 수 있습니다.

    CloudTrail Insights는 전역이 아닌 단일 리전에서 발생하는 관리 이벤트를 분석합니다. CloudTrail Insights 이벤트는 지원 관리 이벤트가 생성되는 것과 동일한 리전에서 생성됩니다.

    조직 이벤트 데이터 스토어의 경우, CloudTrail은 조직의 모든 관리 이벤트 집계를 분석하는 것이 아닌 각 구성원 계정의 관리 이벤트를 분석합니다.

CloudTrail Lake에서의 Insights 이벤트 수집에는 추가 요금이 부과됩니다. 추적과 이벤트 데이터 스토어 모두에 대해 Insights를 활성화하면 요금이 별도로 부과됩니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

AWS SDK를 사용하여 이벤트 로깅

GetInsightSelectors 작업을 실행하여 추적 또는 이벤트 데이터 스토어가 Insights 이벤트를 사용하는지 확인합니다. PutInsightSelectors 작업을 통하여 추적 또는 이벤트 데이터 스토어가 Insights 이벤트를 사용하도록 구성할 수 있습니다. 자세한 내용은 AWS CloudTrail API 참조를 참조하십시오.

추적에 대한 추가 정보

이 섹션에서는 추적과 관련된 추가 정보를 제공합니다. 이 섹션은 CloudTrail 콘솔의 Insights 페이지에서 구독한 추적의 이벤트를 보는 방법과 이러한 이벤트를 선택적으로 CloudWatch Logs로 전송하여 모니터링할 수 있는 방법을 설명합니다.

콘솔에서 추적에 대한 Insights 이벤트 보기

추적은 또한 CloudTrail 콘솔의 Insights 페이지에서 Insights 이벤트에 액세스하고, 이를 확인할 수도 있습니다. 콘솔에서 그리고 AWS CLI를 사용하여 Insights 이벤트에 액세스하고 이벤트를 확인하는 방법에 대한 자세한 내용은 이 설명서의 추적의 CloudTrail Insights 이벤트 보기 단원을 참조하세요.

다음 이미지는 추적에 대한 Insights 이벤트의 예를 보여 줍니다. 대시보드 또는 Insights(인사이트) 페이지에서 인사이트 이벤트 이름을 선택하여 인사이트 이벤트에 대한 세부 정보 페이지를 엽니다.

추적에서 CloudTrail Insights를 사용 중지하거나 (CloudTrail Insights를 사용 중지한) 추적에서 로깅을 중지한 경우 Insights 이벤트가 대상 S3 버킷에 저장되거나 콘솔의 [인사이트(Insights)] 페이지에 표시될 수 있는데, 이는 이전에 Insights를 사용 설정했을 때부터 표시가 시작된 것입니다.

열 필터링

왼쪽 열에는 주제 API와 관련이 있으며 Insights 이벤트 유형이 동일한 Insights 이벤트가 나열되어 있습니다. 열에서 추가 정보를 원하는 Insights 이벤트를 선택할 수 있습니다. 이 열에서 이벤트를 선택하면 [Insights 그래프(Insights graph)] 탭의 그래프에서 이벤트가 강조 표시됩니다. 기본적으로 CloudTrail은 [CloudTrail 이벤트(CloudTrail events)] 탭에 표시되는 이벤트를, Insights 이벤트를 트리거한 비정상적인 활동 기간 동안 호출된 특정 API에 대한 이벤트로 제한하는 필터를 적용합니다. Insights 이벤트와 관련 없는 이벤트를 포함하여 비정상적인 활동 기간 동안 호출된 CloudTrail 이벤트를 모두 표시하려면 필터를 비활성화해야 합니다.

[Insights 그래프(Insights graph)] 탭

Insights 그래프(Insights graph) 탭에 있는 Insights 이벤트의 세부 정보 페이지에는 Insights 이벤트가 하나 이상 로그되기 전후의 일정 기간 동안 발생한 API 호출 볼륨 또는 오류율에 대한 그래프가 표시됩니다. 그래프에서 Insights 이벤트는 세로 막대로 강조 표시되고 막대의 너비는 Insights 이벤트의 시작 및 종료 시간을 보여 줍니다.

이 예에서 세로 강조 표시 밴드는 계정의 AWS Systems Manager SendCommand API 호출 수가 비정상적으로 표시됩니다. 강조 표시된 영역에서 SendCommand 호출 수가 계정의 기준 평균인 분당 호출 0.0442건 이상으로 증가했기 때문에 CloudTrail은 비정상적인 활동을 감지했을 때 Insights 이벤트를 로그했습니다. Insights 이벤트의 기록에 의하면 오전 5시 50분에서 5시 55분 사이 5분 동안 15 SendCommand 건의 전화가 걸려왔습니다. 이는 해당 계정에 대해 예상된 것보다 분당 약 두 번 더 많은 API 호출입니다. 이 예에서 그래프의 시간 범위는 3시간(오전 4시 30분)입니다. 2021년 7월 15일 오전 7시 30분(PDT)입니다. 2021년 7월 15일(PDT)입니다. 이 이벤트의 시작 시간은 오전 6시이며 종료 시간은 2분 후입니다. 강조 표시되지 않은 종료 Insights 이벤트는 비정상적인 활동이 약 오전 6시 16분에 종료되었음을 보여 줍니다.

기준은 Insights 이벤트가 시작되기 전 7일 동안 계산됩니다. 기준 기간(CloudTrail이 API에 대한 정상 활동을 분석하는 기간) 값은 약 7일이지만 CloudTrail이 기준 기간을 정수 일로 반올림하므로 정확한 기준 기간은 달라질 수 있습니다.


                    Insights 이벤트로 로그된 비정상적인 API 활동을 보여 주는 CloudTrail Insights 세부 정보 페이지입니다.

도구 모음에서 확대/축소(Zoom) 명령을 사용하여 시작 및 종료 시간을 표시하는 종료 Insights 이벤트를 확대할 수 있습니다. 이 예에서 확대/축소를 선택한 다음 확대/축소 커서를 강조 표시된 Insights 이벤트의 한 가장자리 위로 매우 짧은 거리로 드래그하면 Insights 이벤트가 확장되고 더 많은 타임라인 세부 정보가 표시됩니다.


                    타임라인 세부 정보를 표시하도록 확대된 CloudTrail Insights 이벤트입니다.

비정상적인 활동을 결정하기 위해 분석된 CloudTrail 이벤트를 보려면 CloudTrail 이벤트(CloudTrail events) 탭을 엽니다. 이 예에서 CloudTrail은 12개의 이벤트를 분석했으며 그 중 4개는 Insights 이벤트를 트리거했습니다.


                    타임라인 세부 정보를 표시하도록 확대된 CloudTrail Insights 이벤트입니다.

다음 스크린샷은 API 오류율 Insights 이벤트에 대한 Insights 그래프 탭을 보여 줍니다. 강조 표시된 영역은 GetRolePolicy IAM API 호출의 NoSuchEntityException 오류 발생이 이 API 호출의 기준 평균인 분당 0.0017 NoSuchEntityException 오류를 초과하여 인사이트 기간 동안 분당 평균 18개의 오류가 발생했기 때문에 Insights 이벤트가 로그되었음을 보여 줍니다. Insights 이벤트를 트리거한 CloudTrail 이벤트 수는 이 예에서 Insights 평균 1분 동안 18개의 NoSuchEntityException 오류와 일치합니다. API 호출률 그래프와 달리 API 오류율은 두 개의 줄을 대조적인 색상으로 표시합니다. 하나는 IAM API에 대한 호출을 측정하여 비정상적인 수의 오류를 발생시킨 GetRolePolicy이고 다른 하나는 비정상적인 활동이 기록된 오류를 측정한 NoSuchEntityException입니다.


                    Insights 이벤트로 로그된 비정상적인 오류율 활동을 보여 주는 CloudTrail Insights 세부 정보 페이지입니다.

속성(Attributions)

[속성(Attributions)] 탭에는 Insights 이벤트에 대한 다음 정보가 표시됩니다. 속성(Attributions) 탭의 정보는 Insights 활동의 원인과 소스를 식별하는 데 도움이 될 수 있습니다. 정상 기간 동안의 사용자 ID, 사용자 에이전트 및 오류 코드 활동을 Insights 활동 중에 발생한 활동과 비교하려면 상단 기준 영역을 확장하십시오. 상위 기준 사용자 ID ARN(Top baseline user identity ARNs), 상위 기준 사용자 에이전트(Top baseline user agents)상위 기준 오류 코드(Top baseline error codes)에는 기준 평균(Insights 이벤트 시작 시간 약 7일 전의 사용자 ID, 사용자 에이전트에 의해 기록되거나 오류 코드가 발생한 API에 대한 과거 평균 이벤트)만 표시됩니다.


                    속성을 보여 주는 CloudTrail Insights 이벤트 세부 정보 페이지입니다.

속성(Attributions) 탭에는 다음 그림과 같이 오류율 Insights 이벤트에 대한 상위 사용자 자격 증명 ARN 및 상위 사용자 에이전트만 표시됩니다. 오류율 Insights 이벤트에는 상위 오류 코드가 필요하지 않습니다.


                    오류율 Insights 이벤트에 대한 속성을 보여주는 CloudTrail Insights 이벤트 세부 정보 페이지입니다.
  • [상위 사용자 자격 증명 ARN(Top user identity ARNs)] - 이 테이블은 비정상적인 활동 및 기준 기간 동안 API 호출을 수행한 AWS 사용자 또는 IAM 역할(사용자 자격 증명)을 상위 5개까지(수행된 평균 API 호출 수를 기준으로 내림차순으로) 표시합니다. 비정상적인 활동을 수행한 활동 합계인 평균 백분율이 괄호 안에 표시됩니다. 비정상적인 활동을 수행한 사용자 자격 증명 ARN이 5개를 넘는 경우 해당 활동은 [기타(Other)] 행에 요약됩니다.

  • [상위 사용자 에이전트(Top user agents)] - 이 테이블은 비정상적인 활동 및 기준 기간 동안 사용자 자격 증명이 API 호출을 수행한 AWS 도구를 상위 5개까지(수행된 평균 API 호출 수를 기준으로 내림차순으로) 표시합니다. 이러한 도구에는 AWS Management Console, AWS CLI 또는 AWS SDK가 포함됩니다. 예를 들어 ec2.amazonaws.com이라는 사용자 에이전트는 Amazon EC2 콘솔이 API를 호출하는 데 사용된 도구 중 하나임을 나타냅니다. 비정상적인 활동을 수행한 활동 합계인 평균 백분율이 괄호 안에 표시됩니다. 비정상적인 활동을 수행한 사용자 에이전트가 5개를 넘는 경우 해당 활동은 [기타(Other)] 행에 요약됩니다.

  • 상위 오류 코드 - API 호출률 Insights 이벤트에 대해서만 표시됩니다. 이 테이블은 비정상적인 활동 및 기준 기간 동안 API 호출에서 발생한 오류 코드를 상위 5개까지(API 호출 수가 가장 많은 것에서 가장 작은 것까지 내림차순으로) 표시합니다. 비정상적인 활동을 수행한 활동 합계인 평균 백분율이 괄호 안에 표시됩니다. 비정상적인 활동 또는 기준 활동 중에 발생한 오류 코드가 5개를 넘는 경우 해당 활동은 [기타(Other)] 행에 요약됩니다.

    오류 코드 값 상위 5개 중 하나에 None 값이 표시되는 경우 이는 Insights 이벤트를 발생시킨 호출의 상당한 비율이 오류를 일으키지 않았음을 의미합니다. 오류 코드 값이 None이고 테이블에 다른 오류 코드가 없는 경우 [인사이트 평균(Insight average)] 및 [기준 평균(Baseline average)] 열의 값은 전체 Insights 이벤트의 값과 동일합니다. 또한 [Insights 그래프(Insights graph)] 탭의 [분당 API 호출(API calls per minute)] 아래에 있는 [인사이트 평균(Insight average)] 및 [기준 평균(Baseline average)] 범례에 표시된 해당 값도 볼 수도 있습니다.

기준 평균 및 Insights 평균

기준 평균(Baseline average)Insights 평균(Insights average)은 상위 사용자 자격 증명, 최상위 사용자 에이전트 및 상위 오류 코드에 대해 표시됩니다.

  • 기준 평균(Baseline average) - 계정의 특정 리전에서 약 지난 7일 이내에 측정된 Insights 이벤트가 로그된 API의 일반적인 분당 발생 비율입니다.

  • 인사이트 평균(Insights average) - Insights 이벤트를 트리거한 이 API에 대한 호출 또는 오류의 비율입니다. 시작 이벤트의 CloudTrail Insights 평균은 Insights 이벤트를 트리거한 API의 분당 호출 또는 오류의 비율입니다. 일반적으로 이것은 비정상적인 활동의 첫 번째 분입니다. 종료 이벤트의 Insights 평균은 시작 인사이트 이벤트와 종료 인사이트 이벤트 사이의 비정상적인 활동 기간 동안 분당 API 호출 또는 오류의 비율입니다.

[CloudTrail 이벤트(CloudTrail events)] 탭

[CloudTrail 이벤트(CloudTrail events)] 탭에서는 CloudTrail이 분석한 관련 이벤트를 확인하여 비정상적인 활동이 발생했는지 파악할 수 있습니다. 기본적으로 관련 API의 이름이기도 한 Insights 이벤트 이름에 대해 필터가 이미 적용되어 있습니다. 비정상적인 활동 기간 동안 로그된 모든 CloudTrail 이벤트를 표시하려면 [선택한 Insights 이벤트에 대한 이벤트만 표시(Only show events for selected Insights event)]를 비활성화합니다. [CloudTrail 이벤트(CloudTrail events)] 탭에는 Insights 이벤트의 시작 시간과 종료 시간 사이에 발생한 주제 API와 관련된 CloudTrail 관리 이벤트가 표시됩니다. 이러한 이벤트는 인사이트 이벤트의 발생 가능한 원인과 비정상적인 API 및 오류 비율 활동의 원인을 파악하기 위해 심층 분석을 수행하는 데 도움이 됩니다.

[Insights 이벤트 레코드(Insights event record)] 탭

CloudTrail 이벤트와 마찬가지로 CloudTrail Insights 이벤트는 JSON 형식의 레코드입니다. [Insights 이벤트 레코드(Insights event record)] 탭에는 이벤트 ‘페이로드’라고도 하는 Insights 시작 및 종료 이벤트의 JSON 구조와 내용이 표시됩니다. Insights 이벤트 레코드의 필드 및 내용에 대한 자세한 내용은 이 설명서의 Insights 이벤트의 레코드 필드CloudTrail Insights insightDetails 요소 단원을 참조하세요.

Amazon CloudWatch Logs에 추적 이벤트 전송

CloudTrail은 CloudWatch Logs로의 추적에 대한 Insights 이벤트 전송을 지원합니다. CloudWatch Logs 로그 그룹에 Insights 이벤트를 전송하도록 추적을 구성하면 CloudTrail Insights는 추적에 지정된 이벤트만 전송합니다. 예를 들어 관리 및 Insights 이벤트를 로그하도록 추적을 구성하는 경우 추적은 CloudWatch Logs 로그 그룹에 관리 및 Insights 이벤트를 전달합니다. 자세한 내용은 Amazon CloudWatch Logs로 CloudTrail 로그 파일 모니터링 섹션을 참조하세요.