

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Config 使用 的範例 AWS CLI
<a name="cli_config-service_code_examples"></a>

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS Config。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

**Topics**
+ [動作](#actions)

## 動作
<a name="actions"></a>

### `delete-config-rule`
<a name="config-service_DeleteConfigRule_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-config-rule`。

**AWS CLI**  
**刪除 Config AWS 規則**  
下列命令會刪除名為 的 AWS Config 規則`MyConfigRule`：  

```
aws configservice delete-config-rule --config-rule-name MyConfigRule
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-config-rule.html)。

### `delete-delivery-channel`
<a name="config-service_DeleteDeliveryChannel_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-delivery-channel`。

**AWS CLI**  
**刪除交付管道**  
下列命令會刪除預設交付管道：  

```
aws configservice delete-delivery-channel --delivery-channel-name default
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteDeliveryChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-delivery-channel.html)。

### `delete-evaluation-results`
<a name="config-service_DeleteEvaluationResults_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-evaluation-results.html)。

### `deliver-config-snapshot`
<a name="config-service_DeliverConfigSnapshot_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/deliver-config-snapshot.html)。

### `describe-compliance-by-config-rule`
<a name="config-service_DescribeComplianceByConfigRule_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-compliance-by-config-rule`。

**AWS CLI**  
**取得 Config AWS 規則的合規資訊**  
下列命令會傳回一或多個 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-config-rule.html)。

### `describe-compliance-by-resource`
<a name="config-service_DescribeComplianceByResource_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-compliance-by-resource`。

**AWS CLI**  
**取得 AWS 資源的合規資訊**  
下列命令會傳回 Config 所記錄且違反一或多個規則的每個 EC2 AWS 執行個體的合規資訊：  

```
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"
            }
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribeComplianceByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-resource.html)。

### `describe-config-rule-evaluation-status`
<a name="config-service_DescribeConfigRuleEvaluationStatus_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-config-rule-evaluation-status`。

**AWS CLI**  
**取得 Config AWS 規則的狀態資訊**  
下列命令會傳回名為 之 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"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribeConfigRuleEvaluationStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rule-evaluation-status.html)。

### `describe-config-rules`
<a name="config-service_DescribeConfigRules_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-config-rules`。

**AWS CLI**  
**取得 Config AWS 規則的詳細資訊**  
下列命令會傳回名為 之 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"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribeConfigRules](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rules.html)。

### `describe-configuration-recorder-status`
<a name="config-service_DescribeConfigurationRecorderStatus_cli_topic"></a>

以下程式碼範例顯示如何使用 `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 命令參考》**中的 [DescribeConfigurationRecorderStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorder-status.html)。

### `describe-configuration-recorders`
<a name="config-service_DescribeConfigurationRecorders_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorders.html)。

### `describe-delivery-channel-status`
<a name="config-service_DescribeDeliveryChannelStatus_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-delivery-channel-status.html)。

### `describe-delivery-channels`
<a name="config-service_DescribeDeliveryChannels_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-delivery-channels.html)。

### `get-compliance-details-by-config-rule`
<a name="config-service_GetComplianceDetailsByConfigRule_cli_topic"></a>

以下程式碼範例顯示如何使用 `get-compliance-details-by-config-rule`。

**AWS CLI**  
**取得 Config AWS 規則的評估結果**  
下列命令會傳回不符合名為 之 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"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [GetComplianceDetailsByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-config-rule.html)。

### `get-compliance-details-by-resource`
<a name="config-service_GetComplianceDetailsByResource_cli_topic"></a>

以下程式碼範例顯示如何使用 `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"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetComplianceDetailsByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-resource.html)。

### `get-compliance-summary-by-config-rule`
<a name="config-service_GetComplianceSummaryByConfigRule_cli_topic"></a>

以下程式碼範例顯示如何使用 `get-compliance-summary-by-config-rule`。

**AWS CLI**  
**取得 Config AWS 規則的合規摘要**  
以下命令傳回符合規則的數量，以及不符合規則的數量：  

```
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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-config-rule.html)。

### `get-compliance-summary-by-resource-type`
<a name="config-service_GetComplianceSummaryByResourceType_cli_topic"></a>

以下程式碼範例顯示如何使用 `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 執行個體數目，以及合規的數目：  

```
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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-resource-type.html)。

### `get-resource-config-history`
<a name="config-service_GetResourceConfigHistory_cli_topic"></a>

以下程式碼範例顯示如何使用 `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
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetResourceConfigHistory](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-resource-config-history.html)。

### `get-status`
<a name="config-service_GetStatus_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-status.html)。

### `list-discovered-resources`
<a name="config-service_ListDiscoveredResources_cli_topic"></a>

以下程式碼範例顯示如何使用 `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"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListDiscoveredResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/list-discovered-resources.html)。

### `put-config-rule`
<a name="config-service_PutConfigRule_cli_topic"></a>

以下程式碼範例顯示如何使用 `put-config-rule`。

**AWS CLI**  
**新增 AWS 受管 Config 規則**  
下列命令提供 JSON 程式碼來新增 AWS 受管 Config 規則：  

```
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 規則**  
下列命令提供 JSON 程式碼，以新增客戶管理的 Config 規則：  

```
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` 物件為必要項目。當 Config 調用屬性來根據規則評估資源時，為 `InputParameters` 屬性指定的參數會傳遞至 AWS Lambda AWS 函數。  
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證規則組態，請執行 describe-config-rules 命令，並指定規則名稱。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html)。

### `put-configuration-recorder`
<a name="config-service_PutConfigurationRecorder_cli_topic"></a>

以下程式碼範例顯示如何使用 `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：記錄特定類型的資源**  
以下命令會建立一個組態記錄器，該記錄器僅追蹤 JSON 檔案中為 --recording-group 選項指定的資源類型的變更：  

```
aws configservice put-configuration-recorder \
    --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \
    --recording-group file://recordingGroup.json
```
recordingGroup.json 是 JSON 檔案，可指定 AWS Config 將記錄的資源類型：  

```
{
    "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"
    ]
}
```
您必須將 allSupported 和 includeGlobalResourceTypes 選項設為 false 或予以省略，才能指定 resourceTypes 鍵的資源類型。  
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證組態記錄器的設定值，請執行 describe-configuration-recorders 命令。  
**範例 3：選取所有受支援的資源，不包括特定的資源類型**  
以下命令會建立一個組態記錄器，追蹤所有目前和未來支援的資源類型的變動，但不包括 JSON 檔案中為 --recording-group 選項指定的資源類型：  

```
aws configservice put-configuration-recorder \
    --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \
    --recording-group file://recordingGroup.json
```
recordingGroup.json 是 JSON 檔案，可指定 AWS Config 將記錄的資源類型：  

```
{
    "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\$1BY\$1RESOURCE\$1TYPES。  
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證組態記錄器的設定值，請執行 describe-configuration-recorders 命令。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [PutConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-configuration-recorder.html)。

### `put-delivery-channel`
<a name="config-service_PutDeliveryChannel_cli_topic"></a>

以下程式碼範例顯示如何使用 `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`- Config AWS 交付組態快照和組態歷史記錄檔案的 Amazon S3 儲存貯體名稱。如果您指定屬於另一個 AWS 帳戶的儲存貯體，則該儲存貯體必須具有將存取許可授予 AWS Config 的政策。如需詳細資訊，請參閱《Amazon S3 儲存貯體許可》。  
`snsTopicARN` - 組態傳送組態變更通知的 Amazon SNS 主題的 Amazon Resource Name (ARN)。如果您從另一個帳戶選擇主題，該主題必須具有授予 Config AWS 存取許可的政策。 AWS 如需詳細資訊，請參閱 Amazon SNS 主題的許可。  
`configSnapshotDeliveryProperties` - 包含 `deliveryFrequency` 屬性，這會設定 Config AWS 交付組態快照的頻率，以及叫用定期 Config 規則評估的頻率。  
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證交付管道的設定，請執行 describe-delivery-channels 命令。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [PutDeliveryChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-delivery-channel.html)。

### `start-config-rules-evaluation`
<a name="config-service_StartConfigRulesEvaluation_cli_topic"></a>

以下程式碼範例顯示如何使用 `start-config-rules-evaluation`。

**AWS CLI**  
**執行 Config AWS 規則的隨需評估**  
下列命令會啟動兩個 AWS 受管規則的評估：  

```
aws configservice start-config-rules-evaluation --config-rule-names s3-bucket-versioning-enabled cloudtrail-enabled
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [StartConfigRulesEvaluation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/start-config-rules-evaluation.html)。

### `start-configuration-recorder`
<a name="config-service_StartConfigurationRecorder_cli_topic"></a>

以下程式碼範例顯示如何使用 `start-configuration-recorder`。

**AWS CLI**  
**啟動組態記錄器**  
下列命令會啟動預設組態記錄器：  

```
aws configservice start-configuration-recorder --configuration-recorder-name default
```
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證 AWS Config 正在記錄您的資源，請執行 get-status 命令。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [StartConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/start-configuration-recorder.html)。

### `stop-configuration-recorder`
<a name="config-service_StopConfigurationRecorder_cli_topic"></a>

以下程式碼範例顯示如何使用 `stop-configuration-recorder`。

**AWS CLI**  
**停止組態記錄器**  
下列命令會停止預設組態記錄器：  

```
aws configservice stop-configuration-recorder --configuration-recorder-name default
```
如果命令成功， AWS Config 不會傳回任何輸出。若要驗證 AWS Config 是否未記錄您的資源，請執行 get-status 命令。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [StopConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/stop-configuration-recorder.html)。

### `subscribe`
<a name="config-service_Subscribe_cli_topic"></a>

以下程式碼範例顯示如何使用 `subscribe`。

**AWS CLI**  
**訂閱 AWS Config**  
下列命令會建立預設交付管道和組態記錄器。命令也會指定 Config 將交付組態資訊的 Amazon S3 儲存貯體和 Amazon SNS AWS 主題：  

```
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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/subscribe.html)。