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

ルールの評価をトリガーするイベント。リソース設定の変更に応じてイベントが公開される場合、この属性の値は、 JSONconfigurationItemまたは 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 リクエストまたは put-config-rule AWS CLI コマンドの InputParameters 属性を使用してパラメータを定義することもできます。

パラメータのJSONコードは文字列に含まれるため、関数は次の Node.js JSON の例に示すように、その内容を評価できるようにパーサーで文字列を解析する必要があります。

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

関数がPutEvaluations呼び出し AWS Config で渡す必要があるトークン。

eventLeftScope

評価される AWS リソースがルールのスコープから削除されたかどうかを示すブール値。値が true の場合、関数は、NOT_APPLICABLE 呼び出しの ComplianceType 属性の値として PutEvaluations を渡すことで、評価を無視できることを示します。

executionRoleArn

に割り当てられたIAMロールARNの 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 です。