AWS CLI를 사용한 AWS Config 예시 - AWS Command Line Interface

이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.

AWS CLI를 사용한 AWS Config 예시

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

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

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

주제

작업

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

AWS CLI

AWS Config 규칙을 삭제하는 방법

다음 명령은 이름이 MyConfigRule인 AWS Config 규칙을 삭제합니다.

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

AWSConfig 규칙에 대한 규정 준수 정보를 가져오는 방법

다음 명령은 하나 이상의 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 속성의 값은 리소스가 위반한 규칙의 수를 나타냅니다. 예를 들어 다음 출력은 인스턴스 i-1a2b3c4d가 2개의 규칙을 위반함을 나타냅니다.

출력:

{ "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

AWSConfig 규칙의 상태 정보를 가져오는 방법

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

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 규칙의 세부 정보를 가져오는 방법

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

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

AWSConfig 규칙에 대한 평가 결과를 가져오는 방법

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

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

AWSConfig 규칙에 대한 규정 준수 요약을 가져오는 방법

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

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 configservice get-compliance-summary-by-resource-type

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

출력:

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

특정 리소스 유형에 대한 규정 준수 요약을 가져오는 방법

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

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가 i-1a2b3c4d인 EC2 인스턴스에 대한 구성 항목 목록을 반환합니다.

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

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

AWS CLI

AWSConfig 상태를 가져오는 방법

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

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

AWSConfig가 검색한 리소스를 나열하는 방법

다음 명령은 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 객체가 필요합니다. AWS Config가 규칙을 기준으로 리소스를 평가하기 위해 AWS Lambda 함수를 호출하면 InputParameters 속성에 지정된 파라미터가 함수에 전달됩니다.

명령이 성공하면 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 및 includeGlobalResourceTypes 옵션을 false로 설정하거나 생략해야 합니다.

명령이 성공하면 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 및 includeGlobalResourceTypes 옵션을 false 또는 생략으로 설정해야 하며, 2) RecordingStrategy의 useOnly 필드를 EXCLUSION_BY_RESOURCE_TYPES로 설정해야 합니다.

명령이 성공하면 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에 액세스 권한을 부여하는 정책이 있어야 합니다. 자세한 내용은 SNS 주제에 대한 권한을 참조하세요.

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

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

  • API 세부 정보는 AWS CLI 명령 참조PutDeliveryChannel 섹션을 참조하세요.

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

AWS CLI

AWSConfig 규칙에 대한 온디맨드 평가를 실행하는 방법

다음 명령은 두 가지 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명령 참조Subscribe를 참조하세요.