翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Config ルールのイベントの例
ルールのトリガーが発生すると、AWS Config はイベントを発行してルールの AWS Lambda 関数を呼び出します。次に、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
-
ルールの評価をトリガーするイベント。リソースの設定変更に応じてイベントが発行される場合、この属性の値は JSON
configurationItem
または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
-
AWS Config に割り当てられる IAM ロールの ARN。
configRuleArn
-
AWS Config がルールに割り当てた ARN。
configRuleName
-
AWS Config がイベントを発行して関数を呼び出す原因となったルールに割り当てた名前。
configRuleId
-
AWS Config がルールに割り当てた ID。
accountId
-
ルールを所有する AWS アカウントの ID。
version
-
AWS によって割り当てられたバージョン番号。AWS が AWS Config イベントに属性を追加すると、バージョンはインクリメントされます。関数に必要な属性が特定のバージョン以上のイベントにのみある場合、その関数はこの属性の値を確認できます。
AWS Config イベントの現行バージョンは 1.0 です。