翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
-
ルールの評価をトリガーするイベント。リソース設定の変更に応じてイベントが公開される場合、この属性の値は、 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
-
に割り当てられた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 です。