

# AWS Config examples using AWS CLI
<a name="cli_config-service_code_examples"></a>

次のコード例では、AWS Config で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

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

次のコード例は、`delete-config-rule` を使用する方法を示しています。

**AWS CLI**  
**AWS Config ルールを削除するには**  
次のコマンドは、`MyConfigRule` という名前の AWS Config ルールを削除します。  

```
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**  
**AWS Config ルールのコンプライアンス情報を取得するには**  
次のコマンドは、1 つ以上の 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 リソースのコンプライアンス情報を取得するには**  
次のコマンドは、AWS Config によって記録され、1 つ以上のルールに違反する各 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"
            }
        }
    ]
}
```
+  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**  
**AWS Config ルールのステータス情報を取得するには**  
次のコマンドは、`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](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**  
**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](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**  
**AWS Config ルールの評価結果を取得するには**  
次のコマンドは、`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"
        }
    ]
}
```
+  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**  
**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
        }
    }
}
```
+  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 ルールを追加するには**  
次のコマンドは、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` オブジェクトは必須です。`InputParameters` 属性に指定されたパラメータは、AWS Config がルールに対してリソースを評価するために呼び出す際に AWS Lambda 関数に渡されます。  
コマンドが成功した場合、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 は、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: 特定のリソースタイプ以外の、すべてのサポートされているリソースを選択するには**  
次のコマンドは、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 は、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\$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`- AWS Config が設定スナップショットと設定履歴ファイルを配信する Amazon S3 バケットの名前。別の AWS アカウントに属するバケットを指定する場合、そのバケットには AWS Config へのアクセス許可を付与するポリシーが必要です。詳細については、Amazon S3 バケットのアクセス許可を参照してください。  
`snsTopicARN` - AWS Config が設定変更に関する通知を送信する Amazon SNS トピックの Amazon リソースネーム (ARN)。別のアカウントからトピックを選択した場合、トピックには AWS Config へのアクセス許可を付与するポリシーが必要です。詳細については、「Permissions for the Amazon SNS Topic」を参照してください。  
`configSnapshotDeliveryProperties` - AWS Config が設定スナップショットを配信する頻度と、定期的な Config ルールの評価を呼び出す頻度を設定する `deliveryFrequency` 属性が含まれます。  
コマンドが成功した場合、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**  
**AWS Config ルールのオンデマンド評価を実行するには**  
次のコマンドは、2 つの 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 をサブスクライブするには**  
次のコマンドは、デフォルトの配信チャネルと設定レコーダーを作成します。コマンドは、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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/subscribe.html)」を参照してください。