이 문서는 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
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteDeliveryChannel
섹션을 참조하세요.
-
다음 코드 예시에서는 delete-evaluation-results
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
평가 결과를 수동으로 삭제하는 방법
다음 명령은 AWS 관리형 규칙 s3-bucket-versioning-enabled에 대한 현재 평가 결과를 삭제합니다.
aws configservice delete-evaluation-results --config-rule-name
s3-bucket-versioning-enabled
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteEvaluationResults
섹션을 참조하세요.
-
다음 코드 예시에서는 deliver-config-snapshot
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
구성 스냅샷 전달
다음 명령은 기본 배달 채널에 속하는 Amazon S3 버킷에 구성 스냅샷을 전달합니다.
aws configservice deliver-config-snapshot --delivery-channel-name
default
출력:
{ "configSnapshotId": "d0333b00-a683-44af-921e-examplefb794" }
-
API 세부 정보는 AWS CLI 명령 참조의 DeliverConfigSnapshot
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeComplianceByConfigRule
섹션을 참조하세요.
-
다음 코드 예시에서는 describe-compliance-by-resource
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
AWS 리소스에 대한 규정 준수 정보를 가져오는 방법
다음 명령은 AWS Config가 기록하고 하나 이상의 규칙을 위반하는 각 EC2 인스턴스에 대한 규정 준수 정보를 반환합니다.
aws configservice describe-compliance-by-resource --resource-type
AWS::EC2::Instance
--compliance-typesNON_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" } } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeComplianceByResource
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeConfigRuleEvaluationStatus
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeConfigRules
를 참조하세요.
-
다음 코드 예시에서는 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 } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeInstanceAssociationsStatus
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeConfigurationRecorders
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeDeliveryChannelStatus
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeDeliveryChannels
섹션을 참조하세요.
-
다음 코드 예시에서는 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-typesNON_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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetComplianceDetailsByConfigRule
섹션을 참조하세요.
-
다음 코드 예시에서는 get-compliance-details-by-resource
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
AWS 리소스에 대한 평가 결과를 가져오는 방법
다음 명령은 EC2 인스턴스
i-1a2b3c4d
가 준수하지 않는 각 규칙에 대한 평가 결과를 반환합니다.aws configservice get-compliance-details-by-resource --resource-type
AWS::EC2::Instance
--resource-idi-1a2b3c4d
--compliance-typesNON_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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetComplianceDetailsByResource
섹션을 참조하세요.
-
다음 코드 예시에서는 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 } } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetComplianceSummaryByConfigRule
섹션을 참조하세요.
-
다음 코드 예시에서는 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 } } } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetComplianceSummaryByResourceType
섹션을 참조하세요.
-
다음 코드 예시에서는 get-resource-config-history
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
AWS 리소스의 구성 기록을 가져오는 방법
다음 명령은 ID가
i-1a2b3c4d
인 EC2 인스턴스에 대한 구성 항목 목록을 반환합니다.aws configservice get-resource-config-history --resource-type
AWS::EC2::Instance
--resource-idi-1a2b3c4d
-
API 세부 정보는 AWS CLI 명령 참조의 GetResourceConfigHistory
섹션을 참조하세요.
-
다음 코드 예시에서는 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" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 ListDiscoveredResources
섹션을 참조하세요.
-
다음 코드 예시에서는 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
속성의 경우 규칙에 필요한 태그 키인CostCenter
및Owner
가 지정됩니다.명령이 성공하면 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-groupallSupported=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-groupfile://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-groupfile://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 명령을 실행합니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutConfigurationRecorder
섹션을 참조하세요.
-
다음 코드 예시에서는 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
-
API 세부 정보는 AWS CLI 명령 참조의 StartConfigRulesEvaluation
섹션을 참조하세요.
-
다음 코드 예시에서는 start-configuration-recorder
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
구성 레코더 시작
다음 명령은 기본 구성 레코더를 시작합니다.
aws configservice start-configuration-recorder --configuration-recorder-name
default
명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. AWS Config가 리소스를 기록하고 있는지 확인하려면 get-status 명령을 실행합니다.
-
API 세부 정보는 AWS CLI 명령 참조의 StartConfigurationRecorder
섹션을 참조하세요.
-
다음 코드 예시에서는 stop-configuration-recorder
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
구성 레코더 중지
다음 명령은 기본 구성 레코더를 중지합니다.
aws configservice stop-configuration-recorder --configuration-recorder-name
default
명령이 성공하면 AWS Config는 출력을 반환하지 않습니다. AWS Config가 리소스를 기록하지 않는지 확인하려면 get-status 명령을 실행합니다.
-
API 세부 정보는 AWS CLI 명령 참조의 StopConfigurationRecorder
섹션을 참조하세요.
-
다음 코드 예시에서는 subscribe
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
AWS Config를 구독하는 방법
다음 명령은 기본 배달 채널 및 구성 레코더를 생성합니다. 또한 이 명령은 AWS Config가 구성 정보를 전달할 Amazon S3 버킷과 Amazon SNS 주제를 지정합니다:
aws configservice subscribe --s3-bucket
config-bucket-123456789012
--sns-topicarn:aws:sns:us-east-1:123456789012:config-topic
--iam-rolearn: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
를 참조하세요.
-