AWS Config 사용 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

AWS Config 사용 예제 AWS CLI

다음 코드 예제에서는를 AWS Command Line Interface 와 함께 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 AWS Config.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 delete-config-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙을 삭제하려면

다음 명령은 라는 AWS Config 규칙을 삭제합니다MyConfigRule.

aws configservice delete-config-rule --config-rule-name MyConfigRule
  • API 세부 정보는 AWS CLI 명령 참조DeleteConfigRule를 참조하세요.

다음 코드 예시에서는 delete-delivery-channel을 사용하는 방법을 보여 줍니다.

AWS CLI

전송 채널을 삭제하려면

다음 명령은 기본 전송 채널을 삭제합니다.

aws configservice delete-delivery-channel --delivery-channel-name default

다음 코드 예시에서는 delete-evaluation-results을 사용하는 방법을 보여 줍니다.

AWS CLI

평가 결과를 수동으로 삭제하려면

다음 명령은 AWS 관리형 규칙 s3-bucket-versioning-enabled에 대한 현재 평가 결과를 삭제합니다.

aws configservice delete-evaluation-results --config-rule-name s3-bucket-versioning-enabled

다음 코드 예시에서는 deliver-config-snapshot을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 스냅샷을 전송하려면

다음 명령은 기본 전송 채널에 속하는 Amazon S3 버킷에 구성 스냅샷을 전송합니다.

aws configservice deliver-config-snapshot --delivery-channel-name default

출력:

{ "configSnapshotId": "d0333b00-a683-44af-921e-examplefb794" }

다음 코드 예시에서는 describe-compliance-by-config-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 규정 준수 정보를 가져오려면

다음 명령은 하나 이상의 AWS 리소스가 위반한 각 AWS Config 규칙에 대한 규정 준수 정보를 반환합니다.

aws configservice describe-compliance-by-config-rule --compliance-types NON_COMPLIANT

출력에서 각 CappedCount 속성의 값은 관련 규칙을 준수하지 않는 리소스 수를 나타냅니다. 예를 들어 다음 출력은 3개의 리소스가 라는 규칙을 준수하지 않음을 나타냅니다InstanceTypesAreT2micro.

출력:

{ "ComplianceByConfigRules": [ { "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "InstanceTypesAreT2micro" }, { "Compliance": { "ComplianceContributorCount": { "CappedCount": 10, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "RequiredTagsForVolumes" } ] }

다음 코드 예시에서는 describe-compliance-by-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS 리소스에 대한 규정 준수 정보를 가져오려면

다음 명령은 AWS Config에 의해 기록되고 하나 이상의 규칙을 위반하는 각 EC2 인스턴스에 대한 규정 준수 정보를 반환합니다.

aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance --compliance-types NON_COMPLIANT

출력에서 각 CappedCount 속성의 값은 리소스가 위반한 규칙의 수를 나타냅니다. 예를 들어 다음 출력은 인스턴스가 2개의 규칙을 i-1a2b3c4d 위반함을 나타냅니다.

출력:

{ "ComplianceByResources": [ { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "Compliance": { "ComplianceContributorCount": { "CappedCount": 2, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } }, { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d ", "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } } ] }

다음 코드 예시에서는 describe-config-rule-evaluation-status을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 상태 정보를 가져오려면

다음 명령은 라는 AWS Config 규칙의 상태 정보를 반환합니다MyConfigRule.

aws configservice describe-config-rule-evaluation-status --config-rule-names MyConfigRule

출력:

{ "ConfigRulesEvaluationStatus": [ { "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef", "FirstActivatedTime": 1450311703.844, "ConfigRuleId": "config-rule-abcdef", "LastSuccessfulInvocationTime": 1450314643.156, "ConfigRuleName": "MyConfigRule" } ] }

다음 코드 예시에서는 describe-config-rules을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 세부 정보를 가져오려면

다음 명령은 이름이 인 AWS Config 규칙에 대한 세부 정보를 반환합니다InstanceTypesAreT2micro.

aws configservice describe-config-rules --config-rule-names InstanceTypesAreT2micro

출력:

{ "ConfigRules": [ { "ConfigRuleState": "ACTIVE", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "ConfigRuleName": "InstanceTypesAreT2micro", "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef", "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "ConfigRuleId": "config-rule-abcdef" } ] }

다음 코드 예시에서는 describe-configuration-recorder-status을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 레코더의 상태 정보를 가져오려면

다음 명령은 기본 구성 레코더의 상태를 반환합니다.

aws configservice describe-configuration-recorder-status

출력:

{ "ConfigurationRecordersStatus": [ { "name": "default", "lastStatus": "SUCCESS", "recording": true, "lastStatusChangeTime": 1452193834.344, "lastStartTime": 1441039997.819, "lastStopTime": 1441039992.835 } ] }

다음 코드 예시에서는 describe-configuration-recorders을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 레코더에 대한 세부 정보를 가져오려면

다음 명령은 기본 구성 레코더에 대한 세부 정보를 반환합니다.

aws configservice describe-configuration-recorders

출력:

{ "ConfigurationRecorders": [ { "recordingGroup": { "allSupported": true, "resourceTypes": [], "includeGlobalResourceTypes": true }, "roleARN": "arn:aws:iam::123456789012:role/config-ConfigRole-A1B2C3D4E5F6", "name": "default" } ] }

다음 코드 예시에서는 describe-delivery-channel-status을 사용하는 방법을 보여 줍니다.

AWS CLI

전송 채널의 상태 정보를 가져오려면

다음 명령은 전송 채널의 상태를 반환합니다.

aws configservice describe-delivery-channel-status

출력:

{ "DeliveryChannelsStatus": [ { "configStreamDeliveryInfo": { "lastStatusChangeTime": 1452193834.381, "lastStatus": "SUCCESS" }, "configHistoryDeliveryInfo": { "lastSuccessfulTime": 1450317838.412, "lastStatus": "SUCCESS", "lastAttemptTime": 1450317838.412 }, "configSnapshotDeliveryInfo": { "lastSuccessfulTime": 1452185597.094, "lastStatus": "SUCCESS", "lastAttemptTime": 1452185597.094 }, "name": "default" } ] }

다음 코드 예시에서는 describe-delivery-channels을 사용하는 방법을 보여 줍니다.

AWS CLI

전송 채널에 대한 세부 정보를 가져오려면

다음 명령은 전송 채널에 대한 세부 정보를 반환합니다.

aws configservice describe-delivery-channels

출력:

{ "DeliveryChannels": [ { "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ] }

다음 코드 예시에서는 get-compliance-details-by-config-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 평가 결과를 가져오려면

다음 명령은 라는 AWS Config 규칙을 준수하지 않는 모든 리소스에 대한 평가 결과를 반환합니다InstanceTypesAreT2micro.

aws configservice get-compliance-details-by-config-rule --config-rule-name InstanceTypesAreT2micro --compliance-types NON_COMPLIANT

출력:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.18, "ConfigRuleInvokedTime": 1450314642.902, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-3a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.346, "ConfigRuleInvokedTime": 1450314643.124, "ComplianceType": "NON_COMPLIANT" } ] }

다음 코드 예시에서는 get-compliance-details-by-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS 리소스에 대한 평가 결과를 가져오려면

다음 명령은 EC2 인스턴스가 준수하지 않는 각 규칙에 대한 평가 결과를 반환i-1a2b3c4d합니다.

aws configservice get-compliance-details-by-resource --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d --compliance-types NON_COMPLIANT

출력:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.288, "ConfigRuleInvokedTime": 1450314643.034, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "RequiredTagForEC2Instances" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" } ] }

다음 코드 예시에서는 get-compliance-summary-by-config-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 규정 준수 요약을 가져오려면

다음 명령은 규정을 준수하는 규칙 수와 규정을 준수하지 않는 규칙 수를 반환합니다.

aws configservice get-compliance-summary-by-config-rule

출력에서 각 CappedCount 속성의 값은 규정 준수 또는 규정 미준수 규칙의 수를 나타냅니다.

출력:

{ "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204131.493, "CompliantResourceCount": { "CappedCount": 2, "CapExceeded": false } } }

다음 코드 예시에서는 get-compliance-summary-by-resource-type을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 리소스 유형에 대한 규정 준수 요약을 가져오려면

다음 명령은 규정을 준수하지 않는 AWS 리소스 수와 규정을 준수하는 리소스 수를 반환합니다.

aws configservice get-compliance-summary-by-resource-type

출력에서 각 CappedCount 속성의 값은 규정 준수 또는 비준수 리소스 수를 나타냅니다.

출력:

{ "ComplianceSummariesByResourceType": [ { "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 16, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1453237464.543, "CompliantResourceCount": { "CappedCount": 10, "CapExceeded": false } } } ] }

특정 리소스 유형에 대한 규정 준수 요약을 가져오려면

다음 명령은 규정을 준수하지 않는 EC2 인스턴스 수와 규정을 준수하는 Word 인스턴스 수를 반환합니다.

aws configservice get-compliance-summary-by-resource-type --resource-types AWS::EC2::Instance

출력에서 각 CappedCount 속성의 값은 규정 준수 또는 비준수 리소스 수를 나타냅니다.

출력:

{ "ComplianceSummariesByResourceType": [ { "ResourceType": "AWS::EC2::Instance", "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204923.518, "CompliantResourceCount": { "CappedCount": 7, "CapExceeded": false } } } ] }

다음 코드 예시에서는 get-resource-config-history을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS 리소스의 구성 기록을 가져오려면

다음 명령은 ID가 인 EC2 인스턴스의 구성 항목 목록을 반환합니다i-1a2b3c4d.

aws configservice get-resource-config-history --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d

다음 코드 예시에서는 get-status을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 상태를 가져오려면

다음 명령은 전송 채널 및 구성 레코더의 상태를 반환합니다.

aws configservice get-status

출력:

Configuration Recorders: name: default recorder: ON last status: SUCCESS Delivery Channels: name: default last stream delivery status: SUCCESS last history delivery status: SUCCESS last snapshot delivery status: SUCCESS
  • API 세부 정보는 AWS CLI 명령 참조GetStatus를 참조하세요.

다음 코드 예시에서는 list-discovered-resources을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config가 검색한 리소스를 나열하려면

다음 명령은 AWS Config가 발견한 EC2 인스턴스를 나열합니다.

aws configservice list-discovered-resources --resource-type AWS::EC2::Instance

출력:

{ "resourceIdentifiers": [ { "resourceType": "AWS::EC2::Instance", "resourceId": "i-1a2b3c4d" }, { "resourceType": "AWS::EC2::Instance", "resourceId": "i-2a2b3c4d" }, { "resourceType": "AWS::EC2::Instance", "resourceId": "i-3a2b3c4d" } ] }

다음 코드 예시에서는 put-config-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS 관리형 Config 규칙을 추가하려면

다음 명령은 AWS 관리형 Config 규칙을 추가하는 JSON 코드를 제공합니다.

aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json

RequiredTagsForEC2Instances.json는 규칙 구성을 포함하는 JSON 파일입니다.

{ "ConfigRuleName": "RequiredTagsForEC2Instances", "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "AWS", "SourceIdentifier": "REQUIRED_TAGS" }, "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}" }

ComplianceResourceTypes 속성의 경우이 JSON 코드는 범위를 AWS::EC2::Instance 유형의 리소스로 제한하므로 AWS Config는 규칙에 대해 EC2 인스턴스만 평가합니다. 규칙은 관리형 규칙이므로 Owner 속성은 AWS로 설정되고 SourceIdentifier 속성은 규칙 식별자인 REQUIRED_TAGS로 설정됩니다. InputParameters 속성의 경우 규칙에 필요한 태그 키인 CostCenterOwner가 지정됩니다.

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 규칙 구성을 확인하려면 describe-config-rules 명령을 실행하고 규칙 이름을 지정합니다.

고객 관리형 Config 규칙을 추가하는 방법

다음 명령은 고객 관리형 Config 규칙을 추가하는 JSON 코드를 제공합니다.

aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json

InstanceTypesAreT2micro.json는 규칙 구성을 포함하는 JSON 파일입니다.

{ "ConfigRuleName": "InstanceTypesAreT2micro", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}" }

ComplianceResourceTypes 속성의 경우이 JSON 코드는 범위를 AWS::EC2::Instance 유형의 리소스로 제한하므로 AWS Config는 규칙에 대해 EC2 인스턴스만 평가합니다. 이 규칙은 고객 관리형 규칙이므로 Owner 속성은 로 설정CUSTOM_LAMBDA되고 SourceIdentifier 속성은 AWS Lambda 함수의 ARN로 설정됩니다. SourceDetails 객체가 필요합니다. InputParameters 속성에 지정된 파라미터는 AWS Config가 규칙에 대해 리소스를 평가하기 위해 호출할 때 AWS Lambda 함수로 전달됩니다.

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 규칙 구성을 확인하려면 describe-config-rules 명령을 실행하고 규칙 이름을 지정합니다.

  • API 세부 정보는 AWS CLI 명령 참조PutConfigRule를 참조하세요.

다음 코드 예시에서는 put-configuration-recorder을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 지원되는 모든 리소스를 기록하려면

다음 명령은 글로벌 리소스 유형을 포함하여 지원되는 모든 리소스 유형에 대한 변경 사항을 추적하는 구성 레코더를 생성합니다.

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group allSupported=true,includeGlobalResourceTypes=true

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 구성 레코더의 설정을 확인하려면 describe-configuration-recorders 명령을 실행합니다.

예제 2: 특정 유형의 리소스를 기록하려면

다음 명령은 --recording-group 옵션의 JSON 파일에 지정된 리소스 유형에 대한 변경 사항만 추적하는 구성 레코더를 생성합니다.

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group file://recordingGroup.json

recordingGroup.json은 AWS Config가 기록할 리소스 유형을 지정하는 JSON 파일입니다.

{ "allSupported": false, "includeGlobalResourceTypes": false, "resourceTypes": [ "AWS::EC2::EIP", "AWS::EC2::Instance", "AWS::EC2::NetworkAcl", "AWS::EC2::SecurityGroup", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::IAM::User", "AWS::IAM::Policy" ] }

resourceTypes 키에 리소스 유형을 지정하려면 먼저 allSupported 및 includeGlobalResource 유형 옵션을 거짓 또는 생략하도록 설정해야 합니다.

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 구성 레코더의 설정을 확인하려면 describe-configuration-recorders 명령을 실행합니다.

예제 3: 특정 유형의 리소스를 제외한 지원되는 모든 리소스를 선택하려면

다음 명령은 --recording-group 옵션의 JSON 파일에 지정된 리소스 유형을 제외한 현재 및 향후 지원되는 모든 리소스 유형에 대한 변경 사항을 추적하는 구성 레코더를 생성합니다.

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group file://recordingGroup.json

recordingGroup.json은 AWS Config가 기록할 리소스 유형을 지정하는 JSON 파일입니다.

{ "allSupported": false, "exclusionByResourceTypes": { "resourceTypes": [ "AWS::Redshift::ClusterSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::CloudFront::StreamingDistribution" ] }, "includeGlobalResourceTypes": false, "recordingStrategy": { "useOnly": "EXCLUSION_BY_RESOURCE_TYPES" }, }

레코딩에서 제외할 리소스 유형을 지정하려면 1) allSupported 및 includeGlobalResource Types 옵션을 거짓 또는 생략으로 설정하고 2) useOnly 에서 EXCLUSION_BY_RESOURCE_TYPES로 Word 필드를 설정해야 합니다. RecordingStrategy

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 구성 레코더의 설정을 확인하려면 describe-configuration-recorders 명령을 실행합니다.

다음 코드 예시에서는 put-delivery-channel을 사용하는 방법을 보여 줍니다.

AWS CLI

전송 채널을 생성하려면

다음 명령은 전송 채널에 대한 설정을 JSON 코드로 제공합니다.

aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

deliveryChannel.json 파일은 전송 채널 속성을 지정합니다.

{ "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }

이 예에서는 다음 속성을 설정합니다.

name - 전송 채널의 이름입니다. 기본적으로 AWS Config는 default 새 전송 채널에 이름을 할당합니다. put-delivery-channel 명령을 사용하여 전송 채널 이름을 업데이트할 수 없습니다. 이름을 변경하는 단계는 전송 채널 이름 바꾸기를 참조하세요.s3BucketName - AWS Config가 구성 스냅샷 및 구성 기록 파일을 전달하는 Amazon S3 버킷의 이름입니다. 다른 AWS 계정에 속하는 버킷을 지정하는 경우 해당 버킷에는 AWS Config에 액세스 권한을 부여하는 정책이 있어야 합니다. 자세한 내용을 알아보려면 Amazon S3 버킷에 대한 권한을 참조하세요.

snsTopicARN - AWS Config가 구성 변경에 대한 알림을 보내는 Amazon SNS 주제의 Amazon 리소스 이름(ARN)입니다. 다른 계정에서 주제를 선택하면 주제에 AWS Config에 액세스 권한을 부여하는 정책이 있어야 합니다. 자세한 내용은 Amazon SNS 주제에 대한 권한을 참조하세요.

configSnapshotDeliveryProperties - AWS Config가 구성 스냅샷을 전송하는 빈도와 주기적 Config 규칙에 대한 평가를 호출하는 빈도를 설정하는 deliveryFrequency 속성을 포함합니다.

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. 전송 채널의 설정을 확인하려면 describe-delivery-channels 명령을 실행합니다.

다음 코드 예시에서는 start-config-rules-evaluation을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config 규칙에 대한 온디맨드 평가를 실행하려면

다음 명령은 두 가지 AWS 관리형 규칙에 대한 평가를 시작합니다.

aws configservice start-config-rules-evaluation --config-rule-names s3-bucket-versioning-enabled cloudtrail-enabled

다음 코드 예시에서는 start-configuration-recorder을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 레코더를 시작하려면

다음 명령은 기본 구성 레코더를 시작합니다.

aws configservice start-configuration-recorder --configuration-recorder-name default

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. AWS Config가 리소스를 기록하고 있는지 확인하려면 get-status 명령을 실행합니다.

다음 코드 예시에서는 stop-configuration-recorder을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 레코더를 중지하려면

다음 명령은 기본 구성 레코더를 중지합니다.

aws configservice stop-configuration-recorder --configuration-recorder-name default

명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. AWS Config가 리소스를 기록하지 않는지 확인하려면 get-status 명령을 실행합니다.

다음 코드 예시에서는 subscribe을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS Config를 구독하려면

다음 명령은 기본 전송 채널 및 구성 레코더를 생성합니다. 명령은 또한 AWS Config가 구성 정보를 전달할 Amazon S3 버킷 및 Amazon SNS 주제를 지정합니다.

aws configservice subscribe --s3-bucket config-bucket-123456789012 --sns-topic arn:aws:sns:us-east-1:123456789012:config-topic --iam-role arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6

출력:

Using existing S3 bucket: config-bucket-123456789012 Using existing SNS topic: arn:aws:sns:us-east-1:123456789012:config-topic Subscribe succeeded: Configuration Recorders: [ { "recordingGroup": { "allSupported": true, "resourceTypes": [], "includeGlobalResourceTypes": false }, "roleARN": "arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6", "name": "default" } ] Delivery Channels: [ { "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ]
  • API 세부 정보는 AWS CLI 명령 참조구독을 참조하세요.