콘솔을 사용하여 구성 항목에 대한 이벤트 데이터 저장소 생성
AWS Config 구성 항목을 포함하는 이벤트 데이터 스토어를 생성하고 이벤트 데이터 스토어를 사용하여 프로덕션 환경의 규정을 준수하지 않는 변경 사항을 조사할 수 있습니다. 이벤트 데이터 스토어를 사용하면 규정을 준수하지 않는 규칙을 변경과 관련된 사용자 및 리소스와 연결할 수 있습니다. 구성 항목은 계정에 있는 지원되는 AWS 리소스의 속성에 대한 특정 시점 보기를 나타냅니다. AWS Config는 기록 중인 리소스 유형의 변경을 감지할 때마다 구성 항목을 생성합니다. 또한 AWS Config는 구성 스냅샷을 캡처할 때 구성 항목을 생성합니다.
AWS Config 및 CloudTrail Lake를 모두 사용하여 구성 항목에 대해 쿼리를 실행할 수 있습니다. AWS Config를 사용하여 하나의 AWS 계정 및 AWS 리전 또는 여러 계정 및 리전의 구성 속성에 따라 AWS 리소스의 현재 구성 상태를 쿼리할 수 있습니다. 반대로 CloudTrail Lake를 사용하면 CloudTrail 이벤트, 구성 항목, 규칙 평가와 같은 다양한 데이터 소스에서 쿼리할 수 있습니다. CloudTrail Lake 쿼리는 리소스 구성 및 규정 준수 기록을 비롯한 모든 AWS Config 구성 항목을 다룹니다.
구성 항목에 대한 이벤트 데이터 스토어를 생성해도 기존 AWS Config 고급 쿼리나 구성된 AWS Config 집계자에는 영향을 미치지 않습니다. AWS Config를 사용하여 계속 고급 쿼리를 실행할 수 있으며 AWS Config 는 S3 버킷에 계속 기록 파일을 전송합니다.
CloudTrail Lake 이벤트 데이터 스토어에는 요금이 발생합니다. 이벤트 데이터 스토어를 생성할 때 이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. CloudTrail 요금 Lake 비용 관리에 대한 자세한 내용은 AWS CloudTrail 요금
제한 사항
구성 항목에 대한 이벤트 데이터 스토어에는 다음과 같은 제한 사항이 적용됩니다.
-
사용자 지정 구성 항목은 지원되지 않음
-
고급 이벤트 선택기를 사용한 이벤트 필터링은 지원되지 않음
사전 조건
이벤트 데이터 스토어를 생성하기 전에 모든 계정과 지역에 대한 AWS Config 기록을 설정하세요. AWS Systems Manager의 기능인 Quick Setup(빠른 설정)을 사용하면 AWS Config로 구동되는 구성 레코더를 빠르게 생성할 수 있습니다.
참고
AWS Config가 구성 기록을 시작하면 서비스 이용 요금이 청구됩니다. 요금에 대한 자세한 내용은 AWS Config 요금
또한 다음 작업은 수행하는 것이 좋지만 이벤트 데이터 스토어를 생성하는 데 필요하지는 않습니다.
-
요청 시 구성 스냅샷 및 구성 기록을 수신하도록 Amazon S3 버킷을 설정합니다. 스냅샷에 대한 자세한 내용은 AWS Config 개발자 안내서의 Managing the Delivery Channel(전송 채널 관리) 및 Delivering Configuration Snapshot to an Amazon S3 Bucket(Amazon S3 버킷에 구성 스냅샷 전달)을 참조하세요.
-
AWS Config가 기록한 리소스 유형의 준수 정보를 평가하는 데 사용하도록 할 규칙 지정 AWS Config 에 대한 CloudTrail Lake 샘플 쿼리 중 일부는 AWS 리소스의 규정 준수 상태를 평가하기 위한 AWS Config 규칙 이 필요합니다. AWS Config 규칙에 대한 자세한 내용은 AWS Config 개발자 안내서의 AWS Config 규칙로 리소스 평가를 참조하세요.
구성 항목에 대한 이벤트 데이터 스토어를 생성하려면
AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudtrail/
에서 CloudTrail 콘솔을 엽니다. -
탐색 창의 Lake에서 Event data stores(이벤트 데이터 스토어)를 선택합니다.
-
이벤트 데이터 스토어 생성을 선택합니다.
-
이벤트 데이터 스토어 구성(Configure event data store) 페이지의 일반 세부 정보(General details)에서 이벤트 데이터 스토어의 이름을 입력합니다. 이름은 필수 항목입니다.
-
이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. 자세한 내용은 AWS CloudTrail 요금
및 CloudTrail Lake 비용 관리 섹션을 참조하세요. 다음과 같은 옵션을 사용할 수 있습니다.
-
1년 연장 가능 보존 요금 - 매월 25TB 미만의 이벤트 데이터를 모을 것으로 예상되고 최대 10년의 유연한 보존 기간을 원하는 경우 일반적으로 권장됩니다. 처음 366일(기본 보존 기간) 동안은 추가 요금 없이 모으기 요금에 스토리지가 포함됩니다. 366일 후에는 사용량에 따른 요금으로 연장 보존이 가능합니다. 이는 기본 옵션입니다.
-
기본 보존 기간: 366일
-
최대 보존 기간: 3,653일
-
-
7년 보존 요금 - 매월 25TB 이상의 이벤트 데이터를 모을 것으로 예상되고 최대 7년의 보존 기간이 필요한 경우 권장됩니다. 추가 비용 없이 모으기 요금에 보존이 포함됩니다.
-
기본 보존 기간: 2,557일
-
최대 보존 기간: 2,557일
-
-
-
이벤트 데이터 스토어의 보존 기간을 지정합니다. 보존 기간은 1년 연장 가능 보존 요금 옵션의 경우 7일~3,653일(약 10년), 7년 보존 요금 옵션의 경우 7일~2,557일(약 7년)일 수 있습니다.
CloudTrail Lake는 이벤트의
eventTime
가 지정된 보존 기간 내에 있는지 확인하여 이벤트 보존 여부를 결정합니다. 예를 들어 보존 기간을 90일로 지정했을 때, CloudTrail은eventTime
이 90일이 넘으면 이벤트를 제거합니다. -
(선택 사항) AWS Key Management Service를 사용하는 암호화를 활성화하려면 Use my own AWS KMS key(자체 KMS 키 사용)를 선택합니다. 신규를 선택하여 AWS KMS key 를 생성하거나 기존을 선택하여 기존 KMS 키를 사용합니다. Enter KMS alias(KMS 별칭 입력)에
alias/
MyAliasName
형식으로 별칭을 지정합니다. 자체 KMS 키를 사용하려면 CloudTrail 로그를 암호화하고 복호화할 수 있도록 KMS 키 정책을 편집해야 합니다. 자세한 내용은 CloudTrail에 대한 AWS KMS 키 정책 구성 단원을 참조하십시오. CloudTrail은 AWS KMS 다중 리전 키도 지원합니다. 다중 리전 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드의 다중 리전 키 사용 단원을 참조하세요.자체 KMS 키를 사용하면 암호화 및 복호화에 대한 AWS KMS 비용이 발생합니다. KMS 키와 이벤트 데이터 스토어를 연결한 후에는 KMS 키를 제거하거나 변경할 수 없습니다.
참고
조직 이벤트 데이터 스토어에 대해 AWS Key Management Service 암호화를 활성화하려면 관리 계정에 기존 KMS 키를 사용해야 합니다.
-
(선택 사항) Amazon Athena를 사용하여 이벤트 데이터에 대해 쿼리하려면 Lake 쿼리 페더레이션에서 활성화를 선택합니다. 페더레이션을 통해 AWS Glue 데이터 카탈로그의 이벤트 데이터 스토어와 연결된 메타데이터를 확인하고 Athena에서 이벤트 데이터에 대해 SQL 쿼리를 실행할 수 있습니다. Athena 쿼리 엔진은 AWS Glue 데이터 카탈로그에 저장된 테이블 메타데이터를 통해 쿼리하려는 데이터를 찾고, 읽고, 처리할 방법을 파악합니다. 자세한 내용은 이벤트 데이터 스토어 페더레이션 단원을 참조하십시오.
Lake 쿼리 페더레이션을 활성화하려면 활성화를 선택하고 다음을 수행합니다.
-
새 역할을 생성할지 아니면 기존 IAM 역할을 사용할지 선택합니다. AWS Lake Formation은 이 역할을 사용하여 페더레이션 이벤트 데이터 스토어에 대한 권한을 관리합니다. CloudTrail 콘솔을 사용하여 새 역할을 생성하면 CloudTrail은 필요한 권한이 있는 역할을 자동으로 생성합니다. 기존 역할을 선택하는 경우 해당 역할에 대한 정책이 필요한 최소 권한을 제공하는지 확인합니다.
-
새 역할을 생성하는 경우 역할을 식별할 수 있는 이름을 입력합니다.
-
기존 역할을 사용하는 경우 사용하려는 역할을 선택합니다. 계정에 역할이 있어야 합니다.
-
-
(선택 사항) Tags(태그) 섹션에 최대 50개의 태그 키 쌍을 추가하여 이벤트 데이터 스토어에 대한 액세스를 식별, 정렬 및 제어할 수 있습니다. IAM 정책을 사용하여 태그를 기반으로 이벤트 데이터 스토어에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 예제: 태그를 기반으로 이벤트 데이터 스토어를 생성 또는 삭제하기 위한 액세스 거부 단원을 참조하세요. AWS에서 태그를 사용하는 방법에 대한 자세한 내용은 AWS 리소스 태그 지정 사용 설명서의 AWS 리소스 태그 지정을 참조하세요.
-
Next(다음)를 선택합니다.
-
Choose events(이벤트 선택) 페이지에서 AWS events( 이벤트)를 선택하고 Configuration items(구성 항목)를 선택합니다.
-
CloudTrail은 사용자가 생성한 리전에 이벤트 데이터 스토어 리소스를 저장하지만 기본적으로 데이터 스토어에서 수집한 구성 항목은 기록이 활성화된 계정의 모든 리전에서 가져온 것입니다. 필요에 따라 Include only the current region in my event data store(내 이벤트 데이터 스토어에 현재 리전만 포함)를 선택하여 현재 리전에서 캡처된 구성 항목만 포함할 수 있습니다. 이 옵션을 선택하지 않으면 이벤트 데이터 스토어에 기록이 활성화된 모든 리전의 구성 항목이 포함됩니다.
-
이벤트 데이터 스토어에서 AWS Organizations 조직 내 모든 계정의 구성 항목을 수집하도록 하려면 Enable for all accounts in my organization(조직의 모든 계정에 대해 활성화)을 선택합니다. 조직의 구성 항목을 수집하는 이벤트 데이터 스토어를 생성하려면 조직의 관리 계정이나 위임된 관리자 계정에 로그인해야 합니다.
-
Next(다음)를 선택하여 선택 사항을 검토합니다.
-
검토 및 생성(Review and create) 페이지에서 선택 사항을 검토합니다. 편집(Edit)을 선택하여 단원을 변경합니다. 이벤트 데이터 스토어를 생성할 준비가 되었으면 이벤트 데이터 스토어 생성(Create event data store)을 선택합니다.
-
새 이벤트 데이터 스토어는 이벤트 데이터 스토어(Event data stores) 페이지의 이벤트 데이터 스토어(Event data stores) 테이블에서 볼 수 있습니다.
이 시점부터 이벤트 데이터 스토어는 구성 항목을 캡처합니다. 이벤트 데이터 스토어를 생성하기 전에 발생한 구성 항목은 이벤트 데이터 스토어에 존재하지 않습니다.
샘플 쿼리
이제 새 이벤트 데이터 스토어에 대한 쿼리를 실행할 수 있습니다. CloudTrail 콘솔의 Sample queries(샘플 쿼리) 탭에서는 시작하기 위한 예제 쿼리를 제공합니다. 다음은 구성 항목 이벤트 데이터 스토어에 대해 실행할 수 있는 몇 가지 샘플 쿼리입니다.
설명 | Query |
---|---|
구성 항목 이벤트 데이터 스토어를 CloudTrail 이벤트 데이터 스토어와 조인하여 규정을 준수하지 않는 상태를 초래한 작업을 수행한 사용자를 찾습니다. |
|
모든 AWS Config 규칙을 찾고 지난 하루 동안 생성된 구성 항목에서 규정 준수 상태를 반환합니다. |
|
리소스 유형, 계정 ID, 리전별로 그룹화된 총 AWS Config 리소스 수를 찾습니다. |
|
특정 날짜에 생성된 모든 AWS Config 구성 항목의 리소스 생성 시간을 찾습니다. |
|
쿼리 생성 및 편집에 대한 자세한 내용은 CloudTrail 콘솔을 사용하여 쿼리 생성 또는 편집을 참조하세요.
구성 항목 스키마
다음 표에서는 구성 항목 레코드의 스키마 요소와 일치하는 필수 및 선택적 스키마 요소를 설명합니다. eventData
의 내용은 구성 항목에서 제공하며 다른 필드는 수집한 후 CloudTrail에서 제공합니다.
CloudTrail 이벤트 레코드 내용은 CloudTrail 레코드 콘텐츠 에 자세히 설명되어 있습니다.
필드 이름 | 입력 유형 | 요구 사항 | 설명 |
---|---|---|---|
eventVersion | 문자열 | 필수 |
AWS 이벤트 형식의 버전입니다. |
eventCategory | 문자열 | 필수 |
이벤트 카테고리입니다. 구성 항목의 경우 유효한 값은 |
eventType | 문자열 | 필수 |
이벤트 유형. 구성 항목의 경우 유효한 값은 |
eventID | 문자열 | 필수 |
이벤트의 고유한 ID입니다. |
eventTime |
문자열 |
필수 |
국제 표준시(UTC), |
awsRegion | 문자열 | 필수 |
이벤트를 할당할 AWS 리전 입니다. |
recipientAccountId | 문자열 | 필수 |
이 이벤트를 수신하는 AWS 계정 ID를 나타냅니다. |
addendum |
addendum |
선택 사항 |
이벤트가 지연된 이유에 대한 정보를 표시합니다. 기존 이벤트에서 정보가 누락된 경우 addendum 블록에는 누락된 정보와 누락된 이유가 포함됩니다. |
필드 이름 | 입력 유형 | 요구 사항 | 설명 |
---|---|---|---|
eventData |
- |
필수 | eventData의 필드는 구성 항목에서 제공합니다. |
|
문자열 | 선택 사항 |
구성 항목 소스의 구성 항목 버전입니다. |
|
문자열 | 선택 사항 |
구성 기록을 시작한 시간입니다. |
|
문자열 | 선택 사항 |
구성 항목 상태입니다. 유효한 값은 |
|
문자열 | 선택 사항 |
리소스와 연결된 12자리 AWS 계정 ID입니다. |
|
문자열 | 선택 사항 |
AWS 리소스의 유형입니다. 유효한 리소스 유형에 대한 자세한 내용은 AWS Config API 참조의 ConfigurationItem을 참조하세요. |
|
문자열 | 선택 사항 |
리소스의 ID입니다(예: sg- |
|
문자열 | 선택 사항 |
(사용 가능한 경우) 리소스의 사용자 지정 이름입니다. |
|
문자열 | 선택 사항 |
리소스와 연결된 Amazon 리소스 이름(ARN)입니다. |
|
문자열 |
선택 사항 |
리소스가 있는 AWS 리전 입니다. |
|
문자열 |
선택 사항 |
리소스와 연결된 가용 영역입니다. |
|
문자열 |
선택 사항 |
리소스가 생성된 시간의 타임스탬프입니다. |
|
JSON |
선택 사항 |
리소스 구성에 대한 설명입니다. |
|
JSON |
선택 사항 |
구성 파라미터에 반환되는 정보를 보완하기 위해 AWS Config 가 특정 리소스 유형에 대해 반환하는 구성 속성입니다. |
|
문자열 |
선택 사항 |
CloudTrail 이벤트 ID의 목록입니다. |
|
- | 선택 사항 |
관련 AWS 리소스의 목록입니다. |
|
문자열 |
선택 사항 |
관련 리소스와의 관계 유형입니다. |
|
문자열 |
선택 사항 |
관련 리소스의 리소스 유형입니다. |
|
문자열 |
선택 사항 |
관련 리소스의 ID입니다(예: sg- |
|
문자열 |
선택 사항 |
관련 리소스의 사용자 지정 이름입니다(사용 가능한 경우). |
|
JSON |
선택 사항 |
리소스와 연결된 키 값 태그의 매핑입니다. |
다음 예에서는 구성 항목 레코드의 스키마 요소와 일치하는 스키마 요소의 계층 구조를 보여 줍니다.
{ "eventVersion": String, "eventCategory: String, "eventType": String, "eventID": String, "eventTime": String, "awsRegion": String, "recipientAccountId": String, "addendum": Addendum, "eventData": { "configurationItemVersion": String, "configurationItemCaptureTime": String, "configurationItemStatus": String, "configurationStateId": String, "accountId": String, "resourceType": String, "resourceId": String, "resourceName": String, "arn": String, "awsRegion": String, "availabilityZone": String, "resourceCreationTime": String, "configuration": { JSON, }, "supplementaryConfiguration": { JSON, }, "relatedEvents": [ String ], "relationships": [ struct{ "name" : String, "resourceType": String, "resourceId": String, "resourceName": String } ], "tags": { JSON } } } }