AWS Config 규칙의 이벤트 예제 - AWS Config

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

AWS Config 규칙의 이벤트 예제

규칙 트리거가 발생하면 이벤트를 게시하여 규칙 AWS Lambda 함수를 AWS Config 호출합니다. 그런 다음 이벤트를 함수의 핸들러에 전달하여 함수를 AWS Lambda 실행합니다.

구성 변경으로 트리거되는 평가에 대한 이벤트 예제

AWS Config 규칙 범위 내에 있는 리소스의 구성 변경이 감지되면 이벤트를 게시합니다. 다음 예제 이벤트는 인스턴스의 구성 변경으로 인해 규칙이 트리거되었음을 보여줍니다. EC2

{ "invokingEvent": "{\"configurationItem\":{\"configurationItemCaptureTime\":\"2016-02-17T01:36:34.043Z\",\"awsAccountId\":\"123456789012\",\"configurationItemStatus\":\"OK\",\"resourceId\":\"i-00000000\",\"ARN\":\"arn:aws:ec2:us-east-2:123456789012:instance/i-00000000\",\"awsRegion\":\"us-east-2\",\"availabilityZone\":\"us-east-2a\",\"resourceType\":\"AWS::EC2::Instance\",\"tags\":{\"Foo\":\"Bar\"},\"relationships\":[{\"resourceId\":\"eipalloc-00000000\",\"resourceType\":\"AWS::EC2::EIP\",\"name\":\"Is attached to ElasticIp\"}],\"configuration\":{\"foo\":\"bar\"}},\"messageType\":\"ConfigurationItemChangeNotification\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-0123456", "configRuleName": "change-triggered-config-rule", "configRuleId": "config-rule-0123456", "accountId": "123456789012", "version": "1.0" }

크기를 초과한 구성 변경으로 트리거되는 평가에 대한 이벤트 예제

일부 리소스 변경은 크기를 초과한 구성 항목을 생성합니다. 다음 예제 이벤트는 EC2 인스턴스의 대규모 구성 변경으로 인해 규칙이 트리거되었음을 보여줍니다.

{ "invokingEvent": "{\"configurationItemSummary\": {\"changeType\": \"UPDATE\",\"configurationItemVersion\": \"1.2\",\"configurationItemCaptureTime\":\"2016-10-06T16:46:16.261Z\",\"configurationStateId\": 0,\"awsAccountId\":\"123456789012\",\"configurationItemStatus\": \"OK\",\"resourceType\": \"AWS::EC2::Instance\",\"resourceId\":\"i-00000000\",\"resourceName\":null,\"ARN\":\"arn:aws:ec2:us-west-2:123456789012:instance/i-00000000\",\"awsRegion\": \"us-west-2\",\"availabilityZone\":\"us-west-2a\",\"configurationStateMd5Hash\":\"8f1ee69b287895a0f8bc5753eca68e96\",\"resourceCreationTime\":\"2016-10-06T16:46:10.489Z\"},\"messageType\":\"OversizedConfigurationItemChangeNotification\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-ec2-managed-instance-inventory", "configRuleName": "change-triggered-config-rule", "configRuleId": "config-rule-0123456", "accountId": "123456789012", "version": "1.0" }

주기적 간격으로 트리거되는 평가에 대한 이벤트 예제

AWS Config 지정한 빈도 (예: 24시간마다) 에 따라 리소스를 평가할 때 이벤트를 게시합니다. 다음 이벤트 예제에서는 규칙이 주기적 간격으로 트리거되었음을 보여 줍니다.

{ "invokingEvent": "{\"awsAccountId\":\"123456789012\",\"notificationCreationTime\":\"2016-07-13T21:50:00.373Z\",\"messageType\":\"ScheduledNotification\",\"recordVersion\":\"1.0\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-0123456", "configRuleName": "periodic-config-rule", "configRuleId": "config-rule-6543210", "accountId": "123456789012", "version": "1.0" }

이벤트 속성

AWS Config 이벤트 JSON 개체에는 다음과 같은 속성이 포함됩니다.

invokingEvent

규칙에 대한 평가를 트리거하는 이벤트입니다. 리소스 구성 변경에 대한 응답으로 이벤트가 게시되는 경우 이 속성의 값은 a JSON configurationItem 또는 a configurationItemSummary (크기가 큰 구성 항목의 경우) 가 포함된 문자열입니다. 구성 항목은 변경을 AWS Config 감지한 시점의 리소스 상태를 나타냅니다. 구성 항목의 예는 에서 get-resource-config-history AWS CLI 명령으로 생성된 출력을 참조하십시오구성 기록 보기.

이벤트가 정기 평가를 위해 게시되는 경우 값은 JSON 개체가 포함된 문자열입니다. 객체에는 트리거된 평가에 대한 정보가 포함됩니다.

다음 Node.js 예제와 같이 함수는 각 이벤트 유형에 JSON 대해 파서를 사용하여 문자열을 구문 분석해야 해당 내용을 평가할 수 있습니다.

var invokingEvent = JSON.parse(event.invokingEvent);
ruleParameters

함수가 평가 논리의 일부로 처리하는 키/값 페어입니다. AWS Config 콘솔을 사용하여 사용자 지정 Lambda 규칙을 생성할 때 파라미터를 정의합니다. PutConfigRule AWS Config API요청 또는 명령의 InputParameters 속성을 사용하여 파라미터를 정의할 수도 있습니다. put-config-rule AWS CLI

매개 변수 JSON 코드는 문자열 내에 포함되므로 다음 Node.js 예제와 같이 함수가 JSON 파서를 사용하여 문자열을 구문 분석해야 내용을 평가할 수 있습니다.

var ruleParameters = JSON.parse(event.ruleParameters);
resultToken

함수가 호출 시 전달해야 AWS Config 하는 PutEvaluations 토큰.

eventLeftScope

평가할 AWS 리소스가 규칙 범위에서 제거되었는지 여부를 나타내는 Boolean 값입니다. 값이 true이면 함수는 NOT_APPLICABLE 호출에서 ComplianceTypePutEvaluations 속성의 값으로 전달하여 평가를 무시할 수 있음을 나타냅니다.

executionRoleArn

할당된 ARN IAM AWS Config역할의 값입니다.

configRuleArn

규칙에 AWS Config 할당된 ARN 것.

configRuleName

이벤트를 게시하고 함수를 AWS Config 호출하도록 만든 규칙에 지정한 이름.

configRuleId

규칙에 AWS Config 할당된 ID.

accountId

규칙을 AWS 계정 소유한 사람의 ID.

version

에서 할당한 AWS버전 번호입니다. AWS Config 이벤트에 속성을 AWS 추가하면 버전이 올라갑니다. 함수에 특정 버전과 일치하거나 이를 초과하는 이벤트에만 있는 속성이 필요한 경우, 해당 함수가 이 속성의 값을 확인할 수 있습니다.

AWS Config 이벤트의 현재 버전은 1.0입니다.