

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

# 전송 채널 작업
<a name="manage-delivery-channel"></a>

는 AWS 리소스에 발생하는 변경 사항을 AWS Config 지속적으로 기록하므로 *전송 채널을* 통해 알림 및 업데이트된 구성 상태를 전송합니다. 전송 채널을 관리하여가 구성 업데이트를 AWS Config 전송하는 위치를 제어할 수 있습니다.

**Topics**
+ [

## 고려 사항
](#dc-considerations)
+ [

## 용어
](#dc-terminology)
+ [Components of a Configuration Item](config-item-table.md)
+ [

# 전송 채널 보기
](dc-view.md)
+ [

# 전송 채널 업데이트
](update-dc-console.md)
+ [

# 전송 채널의 이름 바꾸기
](update-dc-rename.md)
+ [구성 스냅샷 전송](deliver-snapshot-cli.md)
+ [

# 전송 상태 확인
](verify-delivery-status.md)
+ [구성 스냅샷 확인](view-configuration-snapshot.md)
+ [구성 스냅샷 예시](example-s3-snapshot.md)
+ [알림 예제](notifications-for-AWS-Config.md)

## 고려 사항
<a name="dc-considerations"></a>

**리전당 계정당 전송 채널 1개**

 AWS 리전당 리전당 하나의 전송 채널만 가질 수 AWS 계정있으며 전송 채널을 사용해야 합니다 AWS Config.

**크기 초과 구성 항목 알림에는 간략한 요약이 포함됩니다.**

가 리소스에 대한 구성 변경을 AWS Config 감지하고 알림이 Amazon SNS에서 허용하는 최대 크기를 초과하는 경우 알림에는 구성 항목에 대한 간략한 요약이 포함됩니다. `s3BucketLocation` 필드에 지정된 Amazon S3 버킷 위치에서 전체 알림을 볼 수 있습니다. 자세한 내용은 [크기를 초과한 구성 항목 변경 알림 예](https://docs.aws.amazon.com/config/latest/developerguide/oversized-notification-example.html)를 참조하세요.

**AWS Config 는에서 사용하는 Amazon S3 버킷에 대한 AWS KMS 암호화를 지원합니다. AWS Config** 

 AWS Key Management Service (AWS KMS) 키 또는 별칭 Amazon 리소스 이름(ARN)을 제공하여 Amazon Simple Storage Service(Amazon S3) 버킷으로 전송된 데이터를 암호화할 수 있습니다. 기본적으로는 구성 기록 및 스냅샷 파일을 Amazon S3 버킷으로 AWS Config 전송하고 S3 AES-256 서버 측 암호화인 S3SSE-S3를 사용하여 저장 데이터를 암호화합니다. 그러나 AWS Config 에 KMS 키 또는 별칭 ARN을 제공하는 경우는 AES-256 암호화 대신 해당 KMS 키를 AWS Config 사용합니다.

AWS Config 는 기본 보존이 활성화된 상태에서 객체 잠금이 활성화된 Amazon S3 버킷으로의 전송 채널을 지원하지 않습니다. 자세한 내용은 [S3 객체 잠금 작동 방식](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html)을 참조하세요.

## 용어
<a name="dc-terminology"></a>

*구성 항목은* 계정에 있는 지원되는 AWS 리소스의 다양한 속성에 대한 point-in-time 보기를 나타냅니다. 구성 항목의 구성 요소에는 메타데이터, 속성, 관계, 현재 구성 및 관련 이벤트가 포함됩니다.는 기록 중인 리소스 유형에 대한 변경을 감지할 때마다 구성 항목을 AWS Config 생성합니다. 예를 들어 AWS Config 가 Amazon S3 버킷을 기록하는 경우는 버킷이 생성, 업데이트 또는 삭제될 때마다 구성 항목을 AWS Config 생성합니다. 에 대해 AWS Config 를 선택하여 설정한 기록 빈도로 구성 항목을 생성할 수도 있습니다.

*구성 기록*은 임의의 기간 동안 지정된 리소스에 대한 구성 항목의 모음입니다. 구성 기록을 통해 리소스가 처음 생성된 시간, 리소스가 지난 한 달간 구성된 방법, 어제 오전 9시에 도입된 구성 변경에 대한 질문에 답할 수 있습니다. 구성 기록은 여러 형식으로 사용할 수 있습니다.는 사용자가 지정한 Amazon S3 버킷에 기록되는 각 리소스 유형에 대한 구성 기록 파일을 AWS Config 자동으로 전송합니다. AWS Config 콘솔에서 지정된 리소스를 선택하고 타임라인을 사용하여 해당 리소스의 모든 이전 구성 항목으로 이동할 수 있습니다. 또한 API에서 리소스의 구성 기록 항목에 액세스할 수도 있습니다.

*구성 스냅샷*은 계정에 있는 지원되는 리소스에 대한 구성 항목의 모음입니다. 이 구성 스냅샷은 기록 중인 리소스와 그 구성의 전체 사진입니다. 구성 스냅샷은 구성의 유효성을 검사할 때 유용한 도구일 수 있습니다. 예를 들어, 잘못 구성되었거나 없어야 하는 리소스의 구성 스냅샷을 정기적으로 검토하고자 할 수 있습니다. 구성 스냅샷은 여러 형식으로 제공됩니다. 구성 스냅샷이 지정한 Amazon Simple Storage Service(S3) 버킷으로 전달되도록 할 수 있습니다. 또한 AWS Config 콘솔에서 특정 시점을 선택하고 리소스 간의 관계를 사용하여 구성 항목의 스냅샷을 탐색할 수 있습니다.

*구성 스트림*은 기록 중인 리소스에 대한 모든 구성 항목의 자동 업데이트 목록 AWS Config 입니다. 리소스가 생성, 수정 또는 삭제될 때마다 AWS Config 는 구성 항목을 만들고 구성 스트림에 추가합니다. 구성 스트림은 선택한 Amazon Simple Notification Service(SNS) 주제를 사용하여 작동합니다. 구성 스트림은 잠재적인 문제를 발견하거나, 특정 리소스가 변경될 경우 알림을 생성하거나, 리소스 구성을 반영해야 하는 외부 시스템을 업데이트할 수 있도록 구성 변경 사항이 발생할 때 이를 관찰하는 데 유용합니다 AWS .

# 구성 항목의 구성 요소
<a name="config-item-table"></a>

*구성 항목*은 계정에 있는 지원되는 AWS 리소스의 다양한 속성에 대한 특정 시점 보기를 나타냅니다. 구성 항목의 구성 요소에는 메타데이터, 속성, 관계, 현재 구성, 관련 이벤트가 있습니다. AWS Config는 기록 중인 리소스 유형의 변경을 발견할 때마다 구성 항목을 만듭니다. 예를 들어, AWS Config가 Amazon S3 버킷을 기록 중인 경우 AWS Config는 버킷이 생성, 업데이트 또는 삭제될 때마다 구성 항목을 만듭니다. AWS Config가 설정한 기록 빈도로 구성 항목을 생성하도록 선택할 수도 있습니다.

구성 항목은 다음 구성 요소로 구성됩니다.


****  

| 구성 요소 | 설명 | 포함 | 
| --- | --- | --- | 
| 메타데이터 | 이 구성 항목에 대한 정보 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/config/latest/developerguide/config-item-table.html) | 
| 속성 | Resource attributes | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/config/latest/developerguide/config-item-table.html) | 
| 관계 | 해당 리소스와 계정에 연결된 다른 리소스와의 관계 | 관계에 대한 설명(예: Amazon EBS 볼륨 vol-1234567은 Amazon EC2 인스턴스 i-a1b2c3d4에 연결됨) | 
| 현재 구성 | 리소스의 Describe API 또는 List API로의 호출을 통해 반환되는 정보 | 예를 들어, DescribeVolumes API는 해당 볼륨에 대한 다음 정보를 반환합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/config/latest/developerguide/config-item-table.html) | 

**Notes**

1. 구성 항목 관계에는 네트워크 흐름 또는 데이터 흐름 종속성은 포함되지 않습니다. 구성 항목은 애플리케이션 아키텍처를 나타내도록 사용자 지정할 수 없습니다.

1. 버전 1.3부터, relatedEvents 필드는 비어 있습니다. **AWS CloudTrail API 참조의 [LookupEvents API](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html)에 액세스하여 리소스에 대한 이벤트를 검색할 수 있습니다.

1. 버전 1.3부터, configurationItemMD5Hash 필드는 비어 있습니다. configurationStateId 필드를 사용하여 구성 항목이 최신 상태인지 확인할 수 있습니다.

1. 리소스 유형이 태그 지정을 지원하지 않거나 API 설명 응답에 태그 정보를 포함하지 않는 경우 AWS Config는 해당 리소스 유형의 구성 항목(CI)에서 태그 데이터를 캡처하지 않습니다. AWS Config는 여전히 이러한 리소스를 기록합니다. 그러나 태그 데이터에 의존하는 기능은 작동하지 않습니다. 이는 태그 데이터에 의존하는 태그 기반 필터링, 그룹화 또는 규정 준수 평가에 영향을 미칩니다.

# 전송 채널 보기
<a name="dc-view"></a>

전송 채널AWS CLI에 대한 세부 정보를 보려면를 사용해야 합니다.

다음 코드 예시는 `DescribeDeliveryChannels`의 사용 방법을 보여 줍니다.

------
#### [ CLI ]

**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) 섹션을 참조하세요.

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**예제 1: 이 예제는 리전의 전송 채널을 검색하고 세부 정보를 표시합니다.**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**출력:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V4)*의 [DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v4/reference) 섹션을 참조하세요.

**Tools for PowerShell V5**  
**예제 1: 이 예제는 리전의 전송 채널을 검색하고 세부 정보를 표시합니다.**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**출력:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v5/reference) 섹션을 참조하세요.

------

# 전송 채널 업데이트
<a name="update-dc-console"></a>

전송 채널을 업데이트할 때 다음 옵션을 설정할 수 있습니다.
+ 가 구성 스냅샷과 구성 기록 파일을 AWS Config 전송하는 Amazon S3 버킷입니다.
+ 가 Amazon S3 버킷에 구성 스냅샷을 AWS Config 전송하는 빈도입니다.
+ 가 구성 변경에 대한 알림을 AWS Config 보내는 Amazon SNS 주제입니다.

## 전송 채널을 업데이트(콘솔)
<a name="update-dc-console-collapsible"></a>

 AWS Config 콘솔을 사용하여 전송 채널에 대한 Amazon S3 버킷 및 Amazon SNS 주제를 설정할 수 있습니다. 이러한 설정을 관리하는 단계는 [콘솔을 사용하여 AWS Config 설정](gs-console.md) 섹션을 참조하세요.

이 콘솔은 전송 채널 이름을 바꾸거나, 구성 스냅샷의 빈도를 설정하거나, 전송 채널을 삭제하기 위한 옵션을 제공하지 않습니다. 이러한 작업을 수행하려면 AWS CLI, AWS Config API 또는 SDKs 중 AWS 하나를 사용해야 합니다.

## 전송 채널(AWS SDKs)을 업데이트하려면
<a name="update-dc-cli-collapsible"></a>

다음 코드 예시는 `PutDeliveryChannel`의 사용 방법을 보여 줍니다.

------
#### [ CLI ]

**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 구성은 `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` - Config가 구성 스냅샷을 전송하는 빈도와 주기적 AWS 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) 섹션을 참조하세요.

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**예제 1: 이 예제는 기존 전송 채널의 deliveryFrequency 속성을 변경합니다.**  

```
Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName amzn-s3-demo-bucket -DeliveryChannel_S3KeyPrefix my
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V4)*의 [PutDeliveryChannel](https://docs.aws.amazon.com/powershell/v4/reference)을 참조하세요.

**Tools for PowerShell V5**  
**예제 1: 이 예제는 기존 전송 채널의 deliveryFrequency 속성을 변경합니다.**  

```
Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName amzn-s3-demo-bucket -DeliveryChannel_S3KeyPrefix my
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [PutDeliveryChannel](https://docs.aws.amazon.com/powershell/v5/reference) 섹션을 참조하세요.

------

(선택 사항) [https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channels.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channels.html) 명령을 사용하여 전송 채널 설정이 업데이트되었는지 확인할 수 있습니다.

```
$ aws configservice describe-delivery-channels
{
    "DeliveryChannels": [
        {
            "configSnapshotDeliveryProperties": {
                "deliveryFrequency": "Twelve_Hours"
            },
            "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic",
            "name": "default",
            "s3BucketName": "config-bucket-123456789012"
        }
    ]
}
```

다음 코드 예시는 `DescribeDeliveryChannels`의 사용 방법을 보여 줍니다.

------
#### [ CLI ]

**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) 섹션을 참조하세요.

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**예제 1: 이 예제는 리전의 전송 채널을 검색하고 세부 정보를 표시합니다.**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**출력:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V4)*의 [DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v4/reference)을 참조하세요.

**Tools for PowerShell V5**  
**예제 1: 이 예제는 리전의 전송 채널을 검색하고 세부 정보를 표시합니다.**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**출력:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v5/reference) 섹션을 참조하세요.

------

# 전송 채널의 이름 바꾸기
<a name="update-dc-rename"></a>

전송 채널 이름을 변경하려면 이를 삭제한 후 원하는 이름의 새 전송 채널을 만들어야 합니다. 전송 채널을 삭제하기 전에 구성 레코더를 일시적으로 중지해야 합니다. AWS Config 콘솔은 전송 채널을 삭제하는 옵션을 제공하지 않습니다. AWS CLI, AWS Config API 또는 AWS SDKs 중 하나를 사용해야 합니다.

**를 사용하여 전송 채널 이름 바꾸기 AWS CLI**

1. [https://docs.aws.amazon.com/cli/latest/reference/configservice/stop-configuration-recorder.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/stop-configuration-recorder.html) 명령을 사용하여 구성 레코더를 중지합니다.

   ```
   $ aws configservice stop-configuration-recorder --configuration-recorder-name configRecorderName
   ```

1. 다음 [https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channels.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channels.html) 명령을 사용하고, 전송 채널의 속성을 적어둡니다.

   ```
   $ aws configservice describe-delivery-channels
   {
       "DeliveryChannels": [
           {
               "configSnapshotDeliveryProperties": {
                   "deliveryFrequency": "Twelve_Hours"
               },
               "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic",
               "name": "default",
               "s3BucketName": "config-bucket-123456789012"
           }
       ]
   }
   ```

1. [https://docs.aws.amazon.com/cli/latest/reference/configservice/delete-delivery-channel.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/delete-delivery-channel.html) 명령을 사용하여 전송 채널을 삭제합니다.

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

1. [https://docs.aws.amazon.com/cli/latest/reference/configservice/put-delivery-channel.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/put-delivery-channel.html) 명령을 사용하여 원하는 이름의 전송 채널을 만듭니다.

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

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

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

1. `start-configuration-recorder` 명령을 사용하여 기록을 재개합니다.

   ```
   $ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName
   ```

# 구성 스냅샷을 Amazon S3 버킷에 전송
<a name="deliver-snapshot-cli"></a>

*구성 스냅샷*은 계정에 있는 지원되는 리소스에 대한 구성 항목의 모음입니다. 이 구성 스냅샷은 기록 중인 리소스와 그 구성의 전체 사진입니다. 구성 스냅샷은 구성의 유효성을 검사할 때 유용한 도구일 수 있습니다. 예를 들어, 잘못 구성되었거나 없어야 하는 리소스의 구성 스냅샷을 정기적으로 검토하고자 할 수 있습니다. 구성 스냅샷은 여러 형식으로 제공됩니다. 구성 스냅샷이 지정한 Amazon Simple Storage Service(S3) 버킷으로 전달되도록 할 수 있습니다. 또한 AWS Config 콘솔에서 특정 시점을 선택하고 리소스 간의 관계를 사용하여 구성 항목의 스냅샷을 탐색할 수 있습니다.

## 구성 스냅샷 전송
<a name="deliver-snapshot-cli-procedure"></a>

AWS Config 는 [DeliverConfigSnapshot](https://docs.aws.amazon.com/config/latest/APIReference/API_DeliverConfigSnapshot.html) 작업을 호출하거나 명령을 실행할 때 구성 스냅샷을 AWS CLI `deliver-config-snapshot` 생성합니다.는 활성화할 때 지정한 Amazon S3 버킷에 구성 스냅샷을 AWS Config 저장합니다 AWS Config.

전송 채널을 구성할 AWS Config 때에서 할당한 이름을 지정하여 [https://docs.aws.amazon.com/cli/latest/reference/configservice/deliver-config-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/deliver-config-snapshot.html) 명령을 입력합니다. 예를 들면 다음과 같습니다.

```
$ aws configservice deliver-config-snapshot --delivery-channel-name default
{
    "configSnapshotId": "94ccff53-83be-42d9-996f-b4624b3c1a55"
}
```

# 전송 상태 확인
<a name="verify-delivery-status"></a>

[https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channel-status.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/describe-delivery-channel-status.html) 명령을 입력하여 AWS Config 가 지정된 전송 채널로 구성을 전송하기 시작했는지 확인합니다.

```
aws configservice describe-delivery-channel-status
```

응답에는가 버킷과 주제에 구성을 전달하는 데 AWS Config 사용하는 세 가지 전송 형식의 상태가 모두 나열됩니다.

```
{
    "DeliveryChannelsStatus": [
        {
            "configStreamDeliveryInfo": {
                "lastStatusChangeTime": 1415138614.125,
                "lastStatus": "SUCCESS"
            },
            "configHistoryDeliveryInfo": {
                "lastSuccessfulTime": 1415148744.267,
                "lastStatus": "SUCCESS",
                "lastAttemptTime": 1415148744.267
            },
            "configSnapshotDeliveryInfo": {
                "lastSuccessfulTime": 1415333113.4159999,
                "lastStatus": "SUCCESS",
                "lastAttemptTime": 1415333113.4159999
            },
            "name": "default"
        }
    ]
}
```

`configSnapshotDeliveryInfo`에서 `lastSuccessfulTime` 필드를 봅니다. 그 시간이 구성 스냅샷의 전송을 마지막으로 요청한 시간과 일치해야 합니다.

**참고**  
AWS Config 는 UTC 형식(협정 세계시)을 사용하여 시간을 기록합니다.

# Amazon S3 버킷의 구성 스냅샷 확인
<a name="view-configuration-snapshot"></a>

*구성 스냅샷*은 계정에 있는 지원되는 리소스에 대한 구성 항목의 모음입니다. 이 구성 스냅샷은 기록 중인 리소스와 그 구성의 전체 사진입니다. 구성 스냅샷은 구성의 유효성을 검사할 때 유용한 도구일 수 있습니다. 예를 들어, 잘못 구성되었거나 없어야 하는 리소스의 구성 스냅샷을 정기적으로 검토하고자 할 수 있습니다. 구성 스냅샷은 여러 형식으로 제공됩니다. 구성 스냅샷이 지정한 Amazon Simple Storage Service(S3) 버킷으로 전달되도록 할 수 있습니다. 또한 AWS Config 콘솔에서 특정 시점을 선택하고 리소스 간의 관계를 사용하여 구성 항목의 스냅샷을 탐색할 수 있습니다.

## 구성 스냅샷 확인
<a name="view-configuration-snapshot-procedure"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) Amazon S3 콘솔을 엽니다.

1. Amazon S3 콘솔의 **모든 버킷** 목록에서 Amazon S3 버킷 이름을 클릭합니다.

1. 명령으로 반환된 ID와 동일한 스냅샷 ID를 가진 `ConfigSnapshot` 객체가 나타날 때까지 버킷의 중첩 폴더를 클릭해 내려갑니다. 객체를 다운로드하고 열어 구성 스냅샷을 봅니다. 또한 S3 버킷에는 라는 빈 파일이 포함되어 있습니다`ConfigWritabilityCheckFile`.는 서비스가 S3 버킷에 성공적으로 쓸 수 있는지 확인하기 위해이 파일을 AWS Config 생성합니다.

# 의 구성 스냅샷 예제 AWS Config
<a name="example-s3-snapshot"></a>

다음은 구성 스냅샷에가 AWS Config 포함된 정보의 예입니다. 스냅샷은의 현재 리전에서 기록 AWS Config 중인 리소스의 구성을 설명하고 이러한 리소스 간의 관계를 AWS 계정설명합니다.

**참고**  
구성 스냅샷에는 지원되지 않는 리소스 유형과 리소스 ID에 대한 참조가 포함될 수 있습니다.

```
{
    "fileVersion": "1.0",
    "requestId": "asudf8ow-4e34-4f32-afeb-0ace5bf3trye",
    "configurationItems": [
        {
            "configurationItemVersion": "1.0",
            "resourceId": "vol-ce676ccc",
            "arn": "arn:aws:us-west-2b:123456789012:volume/vol-ce676ccc",
            "accountId": "12345678910",
            "configurationItemCaptureTime": "2014-03-07T23:47:08.918Z",
            "configurationStateID": "3e660fdf-4e34-4f32-afeb-0ace5bf3d63a",
            "configurationItemStatus": "OK",
            "relatedEvents": [
                "06c12a39-eb35-11de-ae07-adb69edbb1e4",
                "c376e30d-71a2-4694-89b7-a5a04ad92281"
            ],
            "availibilityZone": "us-west-2b",
            "resourceType": "AWS::EC2::Volume",
            "resourceCreationTime": "2014-02-27T21:43:53.885Z",
            "tags": {},
            "relationships": [
                {
                    "resourceId": "i-344c463d",
                    "resourceType": "AWS::EC2::Instance",
                    "name": "Attached to Instance"
                }
            ],
            "configuration": {
                "volumeId": "vol-ce676ccc",
                "size": 1,
                "snapshotId": "",
                "availabilityZone": "us-west-2b",
                "state": "in-use",
                "createTime": "2014-02-27T21:43:53.0885+0000",
                "attachments": [
                    {
                        "volumeId": "vol-ce676ccc",
                        "instanceId": "i-344c463d",
                        "device": "/dev/sdf",
                        "state": "attached",
                        "attachTime": "2014-03-07T23:46:28.0000+0000",
                        "deleteOnTermination": false
                    }
                ],
                "tags": [
                    {
                        "tagName": "environment",
                        "tagValue": "PROD"
                    },
                    {
                        "tagName": "name",
                        "tagValue": "DataVolume1"
                    }
                ],
                "volumeType": "standard"
            }
        },
        {
            "configurationItemVersion": "1.0",
            "resourceId": "i-344c463d",
            "accountId": "12345678910",
            "arn": "arn:aws:ec2:us-west-2b:123456789012:instance/i-344c463d",
            "configurationItemCaptureTime": "2014-03-07T23:47:09.523Z",
            "configurationStateID": "cdb571fa-ce7a-4ec5-8914-0320466a355e",
            "configurationItemStatus": "OK",
            "relatedEvents": [
                "06c12a39-eb35-11de-ae07-adb69edbb1e4",
                "c376e30d-71a2-4694-89b7-a5a04ad92281"
            ],
            "availibilityZone": "us-west-2b",
            "resourceType": "AWS::EC2::Instance",
            "resourceCreationTime": "2014-02-26T22:56:35.000Z",
            "tags": {
                "Name": "integ-test-1",
                "examplename": "examplevalue"
            },
            "relationships": [
                {
                    "resourceId": "vol-ce676ccc",
                    "resourceType": "AWS::EC2::Volume",
                    "name": "Attached Volume"
                },
                {
                    "resourceId": "vol-ef0e06ed",
                    "resourceType": "AWS::EC2::Volume",
                    "name": "Attached Volume",
                    "direction": "OUT"
                },
                {
                    "resourceId": "subnet-47b4cf2c",
                    "resourceType": "AWS::EC2::SUBNET",
                    "name": "Is contained in Subnet",
                    "direction": "IN"
                }
            ],
            "configuration": {
                "instanceId": "i-344c463d",
                "imageId": "ami-ccf297fc",
                "state": {
                    "code": 16,
                    "name": "running"
                },
                "privateDnsName": "ip-172-31-21-63.us-west-2.compute.internal",
                "publicDnsName": "ec2-54-218-4-189.us-west-2.compute.amazonaws.com",
                "stateTransitionReason": "",
                "keyName": "configDemo",
                "amiLaunchIndex": 0,
                "productCodes": [],
                "instanceType": "t1.micro",
                "launchTime": "2014-02-26T22:56:35.0000+0000",
                "placement": {
                    "availabilityZone": "us-west-2b",
                    "groupName": "",
                    "tenancy": "default"
                },
                "kernelId": "aki-fc8f11cc",
                "monitoring": {
                    "state": "disabled"
                },
                "subnetId": "subnet-47b4cf2c",
                "vpcId": "vpc-41b4cf2a",
                "privateIpAddress": "172.31.21.63",
                "publicIpAddress": "54.218.4.189",
                "architecture": "x86_64",
                "rootDeviceType": "ebs",
                "rootDeviceName": "/dev/sda1",
                "blockDeviceMappings": [
                    {
                        "deviceName": "/dev/sda1",
                        "ebs": {
                            "volumeId": "vol-ef0e06ed",
                            "status": "attached",
                            "attachTime": "2014-02-26T22:56:38.0000+0000",
                            "deleteOnTermination": true
                        }
                    },
                    {
                        "deviceName": "/dev/sdf",
                        "ebs": {
                            "volumeId": "vol-ce676ccc",
                            "status": "attached",
                            "attachTime": "2014-03-07T23:46:28.0000+0000",
                            "deleteOnTermination": false
                        }
                    }
                ],
                "virtualizationType": "paravirtual",
                "clientToken": "aBCDe123456",
                "tags": [
                    {
                        "key": "Name",
                        "value": "integ-test-1"
                    },
                    {
                        "key": "examplekey",
                        "value": "examplevalue"
                    }
                ],
                "securityGroups": [
                    {
                        "groupName": "launch-wizard-2",
                        "groupId": "sg-892adfec"
                    }
                ],
                "sourceDestCheck": true,
                "hypervisor": "xen",
                "networkInterfaces": [
                    {
                        "networkInterfaceId": "eni-55c03d22",
                        "subnetId": "subnet-47b4cf2c",
                        "vpcId": "vpc-41b4cf2a",
                        "description": "",
                        "ownerId": "12345678910",
                        "status": "in-use",
                        "privateIpAddress": "172.31.21.63",
                        "privateDnsName": "ip-172-31-21-63.us-west-2.compute.internal",
                        "sourceDestCheck": true,
                        "groups": [
                            {
                                "groupName": "launch-wizard-2",
                                "groupId": "sg-892adfec"
                            }
                        ],
                        "attachment": {
                            "attachmentId": "eni-attach-bf90c489",
                            "deviceIndex": 0,
                            "status": "attached",
                            "attachTime": "2014-02-26T22:56:35.0000+0000",
                            "deleteOnTermination": true
                        },
                        "association": {
                            "publicIp": "54.218.4.189",
                            "publicDnsName": "ec2-54-218-4-189.us-west-2.compute.amazonaws.com",
                            "ipOwnerId": "amazon"
                        },
                        "privateIpAddresses": [
                            {
                                "privateIpAddress": "172.31.21.63",
                                "privateDnsName": "ip-172-31-21-63.us-west-2.compute.internal",
                                "primary": true,
                                "association": {
                                    "publicIp": "54.218.4.189",
                                    "publicDnsName": "ec2-54-218-4-189.us-west-2.compute.amazonaws.com",
                                    "ipOwnerId": "amazon"
                                }
                            }
                        ]
                    }
                ],
                "ebsOptimized": false
            }
        }
    ]
}
```

다음 단계는 구성 스냅샷이 전송 채널로 전송되었는지 확인하는 것입니다.

# 가 Amazon SNS 주제로 AWS Config 보내는 알림
<a name="notifications-for-AWS-Config"></a>

**참고**  
 AWS Config 가 Amazon SNS 주제에 알림을 보내려면 먼저 구성 레코더와 전송 채널을 설정해야 합니다. 자세한 내용은 [구성 레코더 관리](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html) 및 [전송 채널 관리](https://docs.aws.amazon.com/config/latest/developerguide/manage-delivery-channel.html)를 참조하세요.

구성 변경 및 알림을 Amazon SNS 주제로 스트리밍 AWS Config 하도록를 구성할 수 있습니다. 예를 들어, 리소스가 업데이트되면 변경 사항을 볼 수 있도록 이메일로 전송되는 알림을 받을 수 있습니다. 가 사용자 지정 또는 관리형 규칙을 리소스와 비교하여 AWS Config 평가할 때 알림을 받을 수도 있습니다. 자세한 내용은 [에서 로깅 및 모니터링을 AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/security-logging-and-monitoring.html) 참조하세요.

AWS Config 는 다음 이벤트에 대한 알림을 보냅니다.
+ 리소스의 구성 항목 변경
+ 리소스에 대한 구성 기록이 계정에 전달되었을 때
+ 기록된 리소스에 대한 구성 스냅샷이 시작되어 계정에 전달되었을 때
+ 리소스의 준수 상태와 규칙 준수 여부
+ 리소스와 대조하여 규칙에 대한 평가를 시작했을 때 
+ AWS Config 가 계정에 알림을 전송하지 못했습니다.

**Topics**
+ [구성 항목 변경 알림의 예시](example-sns-notification.md)
+ [

# 구성 기록 전달 알림 예
](example-configuration-history-notification.md)
+ [

# 구성 스냅샷 전달 시작 알림 예
](example-configuration-snapshot-notification-started.md)
+ [

# 구성 스냅샷 전달 알림 예
](example-configuration-snapshot-notification.md)
+ [

# 준수 변경 알림 예
](example-config-rule-compliance-notification.md)
+ [

# 규칙 평가 시작 알림 예
](config-rules-evaluation-started.md)
+ [

# 크기를 초과한 구성 항목 변경 알림 예
](oversized-notification-example.md)
+ [

# 전달 실패 알림 예
](notification-delivery-failed.md)

# 구성 항목 변경 알림의 예시
<a name="example-sns-notification"></a>

AWS Config 는 Amazon SNS를 사용하여 구독 엔드포인트에 알림을 전송합니다. 이러한 알림은 구성 스냅샷 및 구성 기록에 대한 전송 상태를 제공하고, 기록된 AWS 리소스의 구성이 변경될 때 AWS Config 가 생성하는 각 구성 항목을 제공합니다. AWS Config 또한는 리소스가 규칙을 준수하는지 여부를 보여주는 알림을 보냅니다. 이메일로 알림을 전송하도록 선택하면 사용자의 이메일 클라이언트 애플리케이션에서 이메일의 제목 줄 및 메시지 본문에 기초해 필터를 사용할 수 있습니다.

다음은 Amazon Elastic Block Store 볼륨 `vol-ce676ccc`와 ID가 `i-344c463d`인 인스턴스가 연결되었음을 AWS Config 가 감지했을 때 생성되는 Amazon SNS 알림의 페이로드 예시입니다. 알림에는 해당 리소스의 구성 항목 변경이 포함됩니다.

```
{
    "Type": "Notification",
    "MessageId": "8b945cb0-db34-5b72-b032-1724878af488",
    "TopicArn": "arn:aws:sns:us-west-2:123456789012:example",
    "Message": {
        "MessageVersion": "1.0",
        "NotificationCreateTime": "2014-03-18T10:11:00Z",
        "messageType": "ConfigurationItemChangeNotification",
        "configurationItem": [
            {
                "configurationItemVersion": "1.0",
                "configurationItemCaptureTime": "2014-03-07T23:47:08.918Z",
                "arn": "arn:aws:us-west-2b:123456789012:volume/vol-ce676ccc",
                "resourceId": "vol-ce676ccc",
                "awsAccountId": "123456789012",
                "configurationStateID": "3e660fdf-4e34-4f32-afeb-0ace5bf3d63a",
                "configurationItemStatus": "OK",
                "relatedEvents": [],
                "availabilityZone": "us-west-2b",
                "resourceType": "AWS::EC2::VOLUME",
                "resourceCreationTime": "2014-02-27T21:43:53.885Z",
                "tags": {},
                "relationships": [
                    {
                        "resourceId": "i-344c463d",
                        "resourceType": "AWS::EC2::INSTANCE",
                        "name": "Attached to Instance"
                    }
                ],
                "configuration": {
                    "volumeId": "vol-ce676ccc",
                    "size": 1,
                    "snapshotId": "",
                    "availabilityZone": "us-west-2b",
                    "state": "in-use",
                    "createTime": "2014-02-27T21:43:53.0885+0000",
                    "attachments": [
                        {
                            "volumeId": "vol-ce676ccc",
                            "instanceId": "i-344c463d",
                            "device": "/dev/sdf",
                            "state": "attached",
                            "attachTime": "2014-03-07T23:46:28.0000+0000",
                            "deleteOnTermination": false
                        }
                    ],
                    "tags": [],
                    "volumeType": "standard"
                }
            }
        ],
        "configurationItemDiff": {
            "changeType": "UPDATE",
            "changedProperties": {
                "Configuration.State": {
                    "previousValue": "available",
                    "updatedValue": "in-use",
                    "changeType": "UPDATE"
                },
                "Configuration.Attachments.0": {
                    "updatedValue": {
                        "VolumeId": "vol-ce676ccc",
                        "InstanceId": "i-344c463d",
                        "Device": "/dev/sdf",
                        "State": "attached",
                        "AttachTime": "FriMar0723: 46: 28UTC2014",
                        "DeleteOnTermination": "false"
                    },
                    "changeType": "CREATE"
                }
            }
        }
    },
    "Timestamp": "2014-03-07T23:47:10.001Z",
    "SignatureVersion": "1",
    "Signature": "LgfJNB5aOk/w3omqsYrv5cUFY8yvIJvO5ZZh46/KGPApk6HXRTBRlkhjacnxIXJEWsGI9mxvMmoWPLJGYEAR5FF/+/Ro9QTmiTNcEjQ5kB8wGsRWVrk/whAzT2lVtofc365En2T1Ncd9iSFFXfJchgBmI7EACZ28t+n2mWFgo57n6eGDvHTedslzC6KxkfWTfXsR6zHXzkB3XuZImktflg3iPKtvBb3Zc9iVbNsBEI4FITFWktSqqomYDjc5h0kgapIo4CtCHGKpALW9JDmP+qZhMzEbHWpzFlEzvFl55KaZXxDbznBD1ZkqPgno/WufuxszCiMrsmV8pUNUnkU1TA==",
    "SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-e372f8ca30337fdb084e8ac449342c77.pem",
    "UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:example:a6859fee-3638-407c-907e-879651c9d143"
}
```

## 관계를 보유한 리소스의 구성 항목
<a name="example-configuration-items-for-relationships"></a>

리소스가 다른 리소스에 관련되어 있으면 전자를 변경했을 때 구성 항목이 여러 개 발생할 수 있습니다. 다음 예제에서는가 관계가 있는 리소스에 대한 구성 항목을 AWS Config 생성하는 방법을 보여줍니다.

1. ID가 `i-007d374c8912e3e90`인 Amazon EC2 인스턴스가 있으며 이 인스턴스는 Amazon EC2 보안 그룹 와 연결되어 있습니다.

1. 사용자는 EC2 인스턴스를 업데이트해 보안 그룹을 다른 보안 그룹인 `sg-3f1fef43`으로 변경합니다.

1. EC2 인스턴스는 다른 리소스와 관련이 있으므로는 다음 예제와 같은 여러 구성 항목을 AWS Config 생성합니다.

이 알림에는 보안 그룹이 교체될 때 EC2 인스턴스에 적용된 구성 항목 변경 사항이 포함되어 있습니다.

```
{
    "Type": "Notification",
    "MessageId": "faeba85e-ef46-570a-b01c-f8b0faae8d5d",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] AWS::EC2::Instance i-007d374c8912e3e90 Updated in Account 123456789012",
    "Message": {
        "configurationItemDiff": {
            "changedProperties": {
                "Configuration.NetworkInterfaces.0": {
                    "previousValue": {
                        "networkInterfaceId": "eni-fde9493f",
                        "subnetId": "subnet-2372be7b",
                        "vpcId": "vpc-14400670",
                        "description": "",
                        "ownerId": "123456789012",
                        "status": "in-use",
                        "macAddress": "0e:36:a2:2d:c5:e0",
                        "privateIpAddress": "172.31.16.84",
                        "privateDnsName": "ip-172-31-16-84.ec2.internal",
                        "sourceDestCheck": true,
                        "groups": [{
                            "groupName": "example-security-group-1",
                            "groupId": "sg-c8b141b4"
                        }],
                        "attachment": {
                            "attachmentId": "eni-attach-85bd89d9",
                            "deviceIndex": 0,
                            "status": "attached",
                            "attachTime": "2017-01-09T19:36:02.000Z",
                            "deleteOnTermination": true
                        },
                        "association": {
                            "publicIp": "54.175.43.43",
                            "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                            "ipOwnerId": "amazon"
                        },
                        "privateIpAddresses": [{
                            "privateIpAddress": "172.31.16.84",
                            "privateDnsName": "ip-172-31-16-84.ec2.internal",
                            "primary": true,
                            "association": {
                                "publicIp": "54.175.43.43",
                                "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                                "ipOwnerId": "amazon"
                            }
                        }]
                    },
                    "updatedValue": null,
                    "changeType": "DELETE"
                },
                "Relationships.0": {
                    "previousValue": {
                        "resourceId": "sg-c8b141b4",
                        "resourceName": null,
                        "resourceType": "AWS::EC2::SecurityGroup",
                        "name": "Is associated with SecurityGroup"
                    },
                    "updatedValue": null,
                    "changeType": "DELETE"
                },
                "Configuration.NetworkInterfaces.1": {
                    "previousValue": null,
                    "updatedValue": {
                        "networkInterfaceId": "eni-fde9493f",
                        "subnetId": "subnet-2372be7b",
                        "vpcId": "vpc-14400670",
                        "description": "",
                        "ownerId": "123456789012",
                        "status": "in-use",
                        "macAddress": "0e:36:a2:2d:c5:e0",
                        "privateIpAddress": "172.31.16.84",
                        "privateDnsName": "ip-172-31-16-84.ec2.internal",
                        "sourceDestCheck": true,
                        "groups": [{
                            "groupName": "example-security-group-2",
                            "groupId": "sg-3f1fef43"
                        }],
                        "attachment": {
                            "attachmentId": "eni-attach-85bd89d9",
                            "deviceIndex": 0,
                            "status": "attached",
                            "attachTime": "2017-01-09T19:36:02.000Z",
                            "deleteOnTermination": true
                        },
                        "association": {
                            "publicIp": "54.175.43.43",
                            "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                            "ipOwnerId": "amazon"
                        },
                        "privateIpAddresses": [{
                            "privateIpAddress": "172.31.16.84",
                            "privateDnsName": "ip-172-31-16-84.ec2.internal",
                            "primary": true,
                            "association": {
                                "publicIp": "54.175.43.43",
                                "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                                "ipOwnerId": "amazon"
                            }
                        }]
                    },
                    "changeType": "CREATE"
                },
                "Relationships.1": {
                    "previousValue": null,
                    "updatedValue": {
                        "resourceId": "sg-3f1fef43",
                        "resourceName": null,
                        "resourceType": "AWS::EC2::SecurityGroup",
                        "name": "Is associated with SecurityGroup"
                    },
                    "changeType": "CREATE"
                },
                "Configuration.SecurityGroups.1": {
                    "previousValue": null,
                    "updatedValue": {
                        "groupName": "example-security-group-2",
                        "groupId": "sg-3f1fef43"
                    },
                    "changeType": "CREATE"
                },
                "Configuration.SecurityGroups.0": {
                    "previousValue": {
                        "groupName": "example-security-group-1",
                        "groupId": "sg-c8b141b4"
                    },
                    "updatedValue": null,
                    "changeType": "DELETE"
                }
            },
            "changeType": "UPDATE"
        },
        "configurationItem": {
            "relatedEvents": [],
            "relationships": [
                {
                    "resourceId": "eni-fde9493f",
                    "resourceName": null,
                    "resourceType": "AWS::EC2::NetworkInterface",
                    "name": "Contains NetworkInterface"
                },
                {
                    "resourceId": "sg-3f1fef43",
                    "resourceName": null,
                    "resourceType": "AWS::EC2::SecurityGroup",
                    "name": "Is associated with SecurityGroup"
                },
                {
                    "resourceId": "subnet-2372be7b",
                    "resourceName": null,
                    "resourceType": "AWS::EC2::Subnet",
                    "name": "Is contained in Subnet"
                },
                {
                    "resourceId": "vol-0a2d63a256bce35c5",
                    "resourceName": null,
                    "resourceType": "AWS::EC2::Volume",
                    "name": "Is attached to Volume"
                },
                {
                    "resourceId": "vpc-14400670",
                    "resourceName": null,
                    "resourceType": "AWS::EC2::VPC",
                    "name": "Is contained in Vpc"
                }
            ],
            "configuration": {
                "instanceId": "i-007d374c8912e3e90",
                "imageId": "ami-9be6f38c",
                "state": {
                    "code": 16,
                    "name": "running"
                },
                "privateDnsName": "ip-172-31-16-84.ec2.internal",
                "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                "stateTransitionReason": "",
                "keyName": "ec2-micro",
                "amiLaunchIndex": 0,
                "productCodes": [],
                "instanceType": "t2.micro",
                "launchTime": "2017-01-09T20:13:28.000Z",
                "placement": {
                    "availabilityZone": "us-east-2c",
                    "groupName": "",
                    "tenancy": "default",
                    "hostId": null,
                    "affinity": null
                },
                "kernelId": null,
                "ramdiskId": null,
                "platform": null,
                "monitoring": {"state": "disabled"},
                "subnetId": "subnet-2372be7b",
                "vpcId": "vpc-14400670",
                "privateIpAddress": "172.31.16.84",
                "publicIpAddress": "54.175.43.43",
                "stateReason": null,
                "architecture": "x86_64",
                "rootDeviceType": "ebs",
                "rootDeviceName": "/dev/xvda",
                "blockDeviceMappings": [{
                    "deviceName": "/dev/xvda",
                    "ebs": {
                        "volumeId": "vol-0a2d63a256bce35c5",
                        "status": "attached",
                        "attachTime": "2017-01-09T19:36:03.000Z",
                        "deleteOnTermination": true
                    }
                }],
                "virtualizationType": "hvm",
                "instanceLifecycle": null,
                "spotInstanceRequestId": null,
                "clientToken": "bIYqA1483990561516",
                "tags": [{
                    "key": "Name",
                    "value": "value"
                }],
                "securityGroups": [{
                    "groupName": "example-security-group-2",
                    "groupId": "sg-3f1fef43"
                }],
                "sourceDestCheck": true,
                "hypervisor": "xen",
                "networkInterfaces": [{
                    "networkInterfaceId": "eni-fde9493f",
                    "subnetId": "subnet-2372be7b",
                    "vpcId": "vpc-14400670",
                    "description": "",
                    "ownerId": "123456789012",
                    "status": "in-use",
                    "macAddress": "0e:36:a2:2d:c5:e0",
                    "privateIpAddress": "172.31.16.84",
                    "privateDnsName": "ip-172-31-16-84.ec2.internal",
                    "sourceDestCheck": true,
                    "groups": [{
                        "groupName": "example-security-group-2",
                        "groupId": "sg-3f1fef43"
                    }],
                    "attachment": {
                        "attachmentId": "eni-attach-85bd89d9",
                        "deviceIndex": 0,
                        "status": "attached",
                        "attachTime": "2017-01-09T19:36:02.000Z",
                        "deleteOnTermination": true
                    },
                    "association": {
                        "publicIp": "54.175.43.43",
                        "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                        "ipOwnerId": "amazon"
                    },
                    "privateIpAddresses": [{
                        "privateIpAddress": "172.31.16.84",
                        "privateDnsName": "ip-172-31-16-84.ec2.internal",
                        "primary": true,
                        "association": {
                            "publicIp": "54.175.43.43",
                            "publicDnsName": "ec2-54-175-43-43.compute-1.amazonaws.com",
                            "ipOwnerId": "amazon"
                        }
                    }]
                }],
                "iamInstanceProfile": null,
                "ebsOptimized": false,
                "sriovNetSupport": null,
                "enaSupport": true
            },
            "supplementaryConfiguration": {},
            "tags": {"Name": "value"},
            "configurationItemVersion": "1.2",
            "configurationItemCaptureTime": "2017-01-09T22:50:14.328Z",
            "configurationStateId": 1484002214328,
            "awsAccountId": "123456789012",
            "configurationItemStatus": "OK",
            "resourceType": "AWS::EC2::Instance",
            "resourceId": "i-007d374c8912e3e90",
            "resourceName": null,
            "ARN": "arn:aws:ec2:us-east-2:123456789012:instance/i-007d374c8912e3e90",
            "awsRegion": "us-east-2",
            "availabilityZone": "us-east-2c",
            "configurationStateMd5Hash": "8d0f41750f5965e0071ae9be063ba306",
            "resourceCreationTime": "2017-01-09T20:13:28.000Z"
        },
        "notificationCreationTime": "2017-01-09T22:50:15.928Z",
        "messageType": "ConfigurationItemChangeNotification",
        "recordVersion": "1.2"
    },
    "Timestamp": "2017-01-09T22:50:16.358Z",
    "SignatureVersion": "1",
    "Signature": "lpJTEYOSr8fUbiaaRNw1ECawJFVoD7I67mIeEkfAWJkqvvpak1ULHLlC+I0sS/01A4P1Yci8GSK/cOEC/O2XBntlw4CAtbMUgTQvb345Z2YZwcpK0kPNi6v6N51DuZ/6DZA8EC+gVTNTO09xtNIH8aMlvqyvUSXuh278xayExC5yTRXEg+ikdZRd4QzS7obSK1kgRZWI6ipxPNL6rd56/VvPxyhcbS7Vm40/2+e0nVb3bjNHBxjQTXSs1Xhuc9eP2gEsC4Sl32bGqdeDU1Y4dFGukuzPYoHuEtDPh+GkLUq3KeiDAQshxAZLmOIRcQ7iJ/bELDJTN9AcX6lqlDZ79w==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

이 알림에는 EC2 인스턴스와 연결된 EC2 보안 그룹 `sg-3f1fef43`의 구성 항목 변경 사항이 포함되어 있습니다.

```
{
    "Type": "Notification",
    "MessageId": "564d873e-711e-51a3-b48c-d7d064f65bf4",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] AWS::EC2::SecurityGroup sg-3f1fef43 Created in Account 123456789012",
    "Message": {
        "configurationItemDiff": {
            "changedProperties": {},
            "changeType": "CREATE"
        },
        "configurationItem": {
            "relatedEvents": [],
            "relationships": [{
                "resourceId": "vpc-14400670",
                "resourceName": null,
                "resourceType": "AWS::EC2::VPC",
                "name": "Is contained in Vpc"
            }],
            "configuration": {
                "ownerId": "123456789012",
                "groupName": "example-security-group-2",
                "groupId": "sg-3f1fef43",
                "description": "This is an example security group.",
                "ipPermissions": [],
                "ipPermissionsEgress": [{
                    "ipProtocol": "-1",
                    "fromPort": null,
                    "toPort": null,
                    "userIdGroupPairs": [],
                    "ipRanges": ["0.0.0.0/0"],
                    "prefixListIds": []
                }],
                "vpcId": "vpc-14400670",
                "tags": []
            },
            "supplementaryConfiguration": {},
            "tags": {},
            "configurationItemVersion": "1.2",
            "configurationItemCaptureTime": "2017-01-09T22:50:15.156Z",
            "configurationStateId": 1484002215156,
            "awsAccountId": "123456789012",
            "configurationItemStatus": "ResourceDiscovered",
            "resourceType": "AWS::EC2::SecurityGroup",
            "resourceId": "sg-3f1fef43",
            "resourceName": null,
            "ARN": "arn:aws:ec2:us-east-2:123456789012:security-group/sg-3f1fef43",
            "awsRegion": "us-east-2",
            "availabilityZone": "Not Applicable",
            "configurationStateMd5Hash": "7399608745296f67f7fe1c9ca56d5205",
            "resourceCreationTime": null
        },
        "notificationCreationTime": "2017-01-09T22:50:16.021Z",
        "messageType": "ConfigurationItemChangeNotification",
        "recordVersion": "1.2"
    },
    "Timestamp": "2017-01-09T22:50:16.413Z",
    "SignatureVersion": "1",
    "Signature": "GocX31Uu/zNFo85hZqzsNy30skwmLnjPjj+UjaJzkih+dCP6gXYGQ0bK7uMzaLL2C/ibYOOsT7I/XY4NW6Amc5T46ydyHDjFRtQi8UfUQTqLXYRTnpOO/hyK9lMFfhUNs4NwQpmx3n3mYEMpLuMs8DCgeBmB3AQ+hXPhNuNuR3mJVgo25S8AqphN9O0okZ2MKNUQy8iJm/CVAx70TdnYsfUMZ24n88bUzAfiHGzc8QTthMdrFVUwXxa1h/7Zl8+A7BwoGmjo7W8CfLDVwaIQv1Uplgk3qd95Z0AXOzXVxNBQEi4k8axcknwjzpyO1g3rKzByiQttLUQwkgF33op9wg==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

## Amazon SNS `ConfigurationItemChangeNotification` 알림의 `configurationItemDiff` 필드 이해
<a name="example-configuration-items-for-configurationItemDiff"></a>

AWS Config 는 리소스의 구성이 변경될 때마다 구성 항목을 생성합니다(create/update/delete). 에서 기록할 AWS Config 수 있는 지원되는 리소스 유형 목록은 [에 대해 지원되는 리소스 유형 AWS Config](resource-config-reference.md). AWS Config uses Amazon SNS를 참조하세요. Amazon SNS 알림 페이로드에는 특정 AWS 지역의 리소스 변경을 추적하는 데 도움이 되는 필드가 포함됩니다.

`ConfigurationItemChangeNotification` 알림을 받는 이유를 이해하려면 `configurationItemDiff` 세부 정보를 검토하세요. 필드는 변경 유형에 따라 다르며 UPDATE-UPDATE, UPDATE-CREATE, DELETE-DELETE 등 다양한 조합을 구성할 수 있습니다. 다음은 몇 가지 일반적인 조합에 대한 설명입니다.

### UPDATE-CREATE 및 UPDATE-UPDATE
<a name="w2aac12c27c15c11b7"></a>

다음 예제는 리소스 직접 관계 및 리소스 구성의 변경 사항을 포함합니다. `configurationItemDiff` 세부 정보에는 다음 정보가 표시됩니다.

**수행된 작업**: 계정에 있는 관리형 정책이 AWS Identity and Access Management (IAM) 역할에 연결되었습니다.

**수행된 기본 작업**: UPDATE(계정 내 `AWS::IAM::Policy` 리소스 유형의 연결 수 업데이트)입니다.

**변경 유형 조합**:

1. 리소스 직접 관계 변경 UPDATE-CREATE입니다. IAM 정책과 IAM 역할 간에 새로운 연결 또는 연관이 생성되었습니다.

1. 리소스 구성 변경 UPDATE-UPDATE입니다. 정책이 IAM 역할에 연결될 때 IAM 정책 연결 수가 2에서 3으로 증가했습니다.

UPDATE-CREATE 및 UPDATE-UPDATE `configurationItemDiff` 알림 예제

```
{
    "configurationItemDiff": {
        "changedProperties": {
            "Relationships.0": {
                "previousValue": null,
                "updatedValue": {
                    "resourceId": "AROA6D3M4S53*********",
                    "resourceName": "Test1",
                    "resourceType": "AWS::IAM::Role",
                    "name": "Is attached to Role"
                },
                "changeType": "CREATE"                 >>>>>>>>>>>>>>>>>>>> 1
            },
            "Configuration.AttachmentCount": {
                "previousValue": 2,
                "updatedValue": 3,
                "changeType": "UPDATE"                 >>>>>>>>>>>>>>>>>>>> 2
            }
        },
        "changeType": "UPDATE"
    }
}
```

### UPDATE-DELETE
<a name="w2aac12c27c15c11b9"></a>

다음 예제는 리소스 직접 관계 및 리소스 구성의 변경 사항을 포함합니다. `configurationItemDiff` 세부 정보에는 다음 정보가 표시됩니다.

**수행된 작업**: 계정에 있는 관리형 정책이 IAM 사용자와 분리되었습니다.

**수행된 기본 작업**: UPDATE(`AWS::IAM::User` 리소스 유형에 연결된 권한 정책 업데이트)입니다.

**변경 유형 조합**: 리소스 직접 관계 변경 UPDATE-DELETE입니다. 계정의 IAM 사용자와 IAM 정책 간의 연결이 삭제되었습니다.

### DELETE-DELETE
<a name="w2aac12c27c15c11c21"></a>

다음 예제는 리소스 직접 관계 및 리소스 구성의 변경 사항을 포함합니다. `configurationItemDiff` 세부 정보에는 다음 정보가 표시됩니다.

**수행된 작업**: 계정에 있는 IAM 역할이 삭제되었습니다.

**수행된 기본 작업**: DELETE(`AWS::IAM::Role` 리소스 유형의 리소스가 삭제됨)입니다.

**변경 유형 조합**: 리소스 직접 관계 변경 및 리소스 구성 변경 DELETE-DELETE입니다. IAM 역할을 삭제하여 IAM 정책과 IAM 역할 간 연결도 삭제되었습니다.

# 구성 기록 전달 알림 예
<a name="example-configuration-history-notification"></a>

구성 기록은 임의의 기간 동안 특정 리소스 유형에 대한 구성 항목의 모음입니다. 다음은 CloudTrail 추적 리소스의 구성 기록이 계정에 전달될 때가 AWS Config 보내는 알림의 예입니다.

```
{
    "Type": "Notification",
    "MessageId": "ce49bf2c-d03a-51b0-8b6a-ef480a8b39fe",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] Configuration History Delivery Completed for Account 123456789012",
    "Message": {
        "s3ObjectKey": "AWSLogs/123456789012/Config/us-east-2/2016/9/27/ConfigHistory/123456789012_Config_us-east-2_ConfigHistory_AWS::CloudTrail::Trail_20160927T195818Z_20160927T195818Z_1.json.gz",
        "s3Bucket": "config-bucket-123456789012-ohio",
        "notificationCreationTime": "2016-09-27T20:37:05.217Z",
        "messageType": "ConfigurationHistoryDeliveryCompleted",
        "recordVersion": "1.1"
    },
    "Timestamp": "2016-09-27T20:37:05.315Z",
    "SignatureVersion": "1",
    "Signature": "OuIcS5RAKXTR6chQEJp3if4KJQVlBz2kmXh7QE1/RJQiCPsCNfG0J0rUZ1rqfKMqpps/Ka+zF0kg4dUCWV9PF0dliuwnjfbtYmDZpP4EBOoGmxcTliUn1AIe/yeGFDuc6P3EotP3zt02rhmxjezjf3c11urstFZ8rTLVXp0z0xeyk4da0UetLsWZxUFEG0Z5uhk09mBo5dg/4mryIOovidhrbCBgX5marot8TjzNPS9UrKhi2YGUoSQGr4E85EzWqqXdn33GO8dy0DqDfdWBaEr3IWVGtHy3w7oJDMIqW7ENkfML0bJMQjin4P5tYeilNF5XQzhtCkFvFx7JHR97vw==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

# 구성 스냅샷 전달 시작 알림 예
<a name="example-configuration-snapshot-notification-started"></a>

다음은가 계정의 구성 스냅샷을 전송하기 AWS Config 시작할 때가 AWS Config 보내는 알림의 예입니다.

```
{
    "Type": "Notification",
    "MessageId": "a32d0487-94b1-53f6-b4e6-5407c9c00be6",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] Configuration Snapshot Delivery Started for Account 123456789012",
    "Message": {
        "configSnapshotId": "108e0794-84a7-4cca-a179-76a199ddd11a",
        "notificationCreationTime": "2016-10-18T17:26:09.572Z",
        "messageType": "ConfigurationSnapshotDeliveryStarted",
        "recordVersion": "1.1"
    },
    "Timestamp": "2016-10-18T17:26:09.840Z",
    "SignatureVersion": "1",
    "Signature": "BBA0DeKsfteTpYyZH5HPANpOLmW/jumOMBsghRq/kimY9tjNlkF/V3BpLG1HVmDQdQzBh6oKE0h0rxcazbyGf5KF5W5r1zKKlEnS9xugFzALPUx//olSJ4neWalLBKNIq1xvAQgu9qHfDR7dS2aCwe4scQfqOjn1Ev7PlZqxmT+ux3SR/C54cbfcduDpDsPwdo868+TpZvMtaU30ySnX04fmOgxoiA8AJO/EnjduQ08/zd4SYXhm+H9wavcwXB9XECelHhRW70Y+wHQixfx40S1SaSRzvnJE+m9mHphFQs64YraRDRv6tMaenTk6CVPO+81ceAXIg2E1m7hZ7lz4PA==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

# 구성 스냅샷 전달 알림 예
<a name="example-configuration-snapshot-notification"></a>

구성 스냅샷은 계정의 모든 기록된 리소스와 그 구성에 대한 구성 항목의 모음입니다. 다음은 계정에 구성 스냅샷이 전달될 때가 AWS Config 보내는 알림의 예입니다.

```
{
    "Type": "Notification",
    "MessageId": "9fc82f4b-397e-5b69-8f55-7f2f86527100",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] Configuration Snapshot Delivery Completed for Account 123456789012",
    "Message": {
        "configSnapshotId": "16da64e4-cb65-4846-b061-e6c3ba43cb96",
        "s3ObjectKey": "AWSLogs/123456789012/Config/us-east-2/2016/9/27/ConfigSnapshot/123456789012_Config_us-east-2_ConfigSnapshot_20160927T183939Z_16da64e4-cb65-4846-b061-e6c3ba43cb96.json.gz",
        "s3Bucket": "config-bucket-123456789012-ohio",
        "notificationCreationTime": "2016-09-27T18:39:39.853Z",
        "messageType": "ConfigurationSnapshotDeliveryCompleted",
        "recordVersion": "1.1"
    },
    "Timestamp": "2016-09-27T18:39:40.062Z",
    "SignatureVersion": "1",
    "Signature": "PMkWfUuj/fKIEXA7s2wTDLbZoF/MDsUkPspYghOpwu9n6m+C+zrm0cEZXPxxJPvhnWozG7SVqkHYf9QgI/diW2twP/HPDn5GQs2rNDc+YlaByEXnKVtHV1Gd4r1kN57E/oOW5NVLNczk5ymxAW+WGdptZJkCgyVuhJ28s08m3Z3Kqz96PPSnXzYZoCfCn/yP6CqXoN7olr4YCbYxYwn8zOUYcPmc45yYNSUTKZi+RJQRnDJkL2qb+s4h9w2fjbBBj8xe830VbFJqbHp7UkSfpc64Y+tRvmMLY5CI1cYrnuPRhTLdUk+R0sshg5G+JMtSLVG/TvWbjz44CKXJprjIQg==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

# 준수 변경 알림 예
<a name="example-config-rule-compliance-notification"></a>

가 사용자 지정 또는 관리형 규칙을 기준으로 리소스를 AWS Config 평가할 때 리소스가 규칙을 준수하는지 여부를 보여주는 알림을 AWS Config 보냅니다.

다음은 CloudTrail 추적 리소스가 `cloudtrail-enabled `관리형 규칙을 준수한 경우의 알림 예입니다.

```
{
    "Type": "Notification",
    "MessageId": "11fd05dd-47e1-5523-bc01-55b988bb9478",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] AWS::::Account 123456789012 is COMPLIANT with cloudtrail-enabled in Accoun...",
    "Message": {
        "awsAccountId": "123456789012",
        "configRuleName": "cloudtrail-enabled",
        "configRuleARN": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-9rpvxc",
        "resourceType": "AWS::::Account",
        "resourceId": "123456789012",
        "awsRegion": "us-east-2",
        "newEvaluationResult": {
            "evaluationResultIdentifier": {
                "evaluationResultQualifier": {
                    "configRuleName": "cloudtrail-enabled",
                    "resourceType": "AWS::::Account",
                    "resourceId": "123456789012"
                },
                "orderingTimestamp": "2016-09-27T19:48:40.619Z"
            },
            "complianceType": "COMPLIANT",
            "resultRecordedTime": "2016-09-27T19:48:41.405Z",
            "configRuleInvokedTime": "2016-09-27T19:48:40.914Z",
            "annotation": null,
            "resultToken": null
        },
        "oldEvaluationResult": {
            "evaluationResultIdentifier": {
                "evaluationResultQualifier": {
                    "configRuleName": "cloudtrail-enabled",
                    "resourceType": "AWS::::Account",
                    "resourceId": "123456789012"
                },
                "orderingTimestamp": "2016-09-27T16:30:49.531Z"
            },
            "complianceType": "NON_COMPLIANT",
            "resultRecordedTime": "2016-09-27T16:30:50.717Z",
            "configRuleInvokedTime": "2016-09-27T16:30:50.105Z",
            "annotation": null,
            "resultToken": null
        },
        "notificationCreationTime": "2016-09-27T19:48:42.620Z",
        "messageType": "ComplianceChangeNotification",
        "recordVersion": "1.0"
    },
    "Timestamp": "2016-09-27T19:48:42.749Z",
    "SignatureVersion": "1",
    "Signature": "XZ9FfLb2ywkW9yj0yBkNtIP5q7Cry6JtCEyUiHmG9gpOZi3seQ41udhtAqCZoiNiizAEi+6gcttHCRV1hNemzp/YmBmTfO6azYXt0FJDaEvd86k68VCS9aqRlBBjYlNo7ILi4Pqd5rE4BX2YBQSzcQyERGkUfTZ2BIFyAmb1Q/y4/6ez8rDyi545FDSlgcGEb4LKLNR6eDi4FbKtMGZHA7Nz8obqs1dHbgWYnp3c80mVLl7ohP4hilcxdywAgXrbsN32ekYr15gdHozx8YzyjfRSo3SjH0c5PGSXEAGNuC3mZrKJip+BIZ21ZtkcUtY5B3ImgRlUO7Yhn3L3c6rZxQ==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

**예: Config 구성 항목 변경 \$1 Amazon EventBridge**

```
{
  "version": "0",
  "id": "00bdf13e-1111-b2f5-cef0-e9cbbe7cd533",
  "detail-type": "Config Configuration Item Change",
  "source": "aws.config",
  "account": "123456789012",
  "time": "2022-03-16T01:10:51Z",
  "region": "us-east-1",
  "resources": ["arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-01f0d526165b57f95"],
  "detail": {
    "recordVersion": "1.3",
    "messageType": "ConfigurationItemChangeNotification",
    "configurationItemDiff": {
      "changedProperties": {
        "Configuration.FileSystemTags.0": {
          "updatedValue": {
            "Key": "test",
            "Value": "me"
          },
          "changeType": "CREATE"
        },
        "Tags.2": {
          "updatedValue": "me",
          "changeType": "CREATE"
        }
      },
      "changeType": "UPDATE"
    },
    "notificationCreationTime": "2022-03-16T01:10:51.976Z",
    "configurationItem": {
      "relatedEvents": [],
      "relationships": [],
      "configuration": {
        "FileSystemId": "fs-01f0d526165b57f95",
        "Arn": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-01f0d526165b57f95",
        "Encrypted": true,
        "FileSystemTags": [{
          "Key": "Name",
          "Value": "myname"
        }, {
          "Key": "test",
          "Value": "me"
        }],
        "PerformanceMode": "generalPurpose",
        "ThroughputMode": "bursting",
        "LifecyclePolicies": [{
          "TransitionToIA": "AFTER_30_DAYS"
        }, {
          "TransitionToPrimaryStorageClass": "AFTER_1_ACCESS"
        }],
        "BackupPolicy": {
          "Status": "ENABLED"
        },
        "FileSystemPolicy": {},
        "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/0e6c91d5-e23b-4ed3-bd36-1561fbbc0a2d"
      },
      "supplementaryConfiguration": {},
      "tags": {
        "aws:elasticfilesystem:default-backup": "enabled",
        "test": "me",
        "Name": "cloudcontroltest1"
      },
      "configurationItemVersion": "1.3",
      "configurationItemCaptureTime": "2022-03-16T01:10:50.837Z",
      "configurationStateId": 1647393050837,
      "awsAccountId": "123456789012",
      "configurationItemStatus": "OK",
      "resourceType": "AWS::EFS::FileSystem",
      "resourceId": "fs-01f0d526165b57f95",
      "resourceName": "fs-01f0d526165b57f95",
      "ARN": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-01f0d526165b57f95",
      "awsRegion": "us-east-1",
      "availabilityZone": "Regional",
      "configurationStateMd5Hash": ""
    }
  }
}
```

# 규칙 평가 시작 알림 예
<a name="config-rules-evaluation-started"></a>

AWS Config 는 리소스에 대해 사용자 지정 또는 관리형 규칙을 평가하기 시작하면 알림을 보냅니다. 다음은가 `iam-password-policy` 관리형 규칙을 평가하기 AWS Config 시작할 때의 알림 예제입니다.

```
{
    "Type": "Notification",
    "MessageId": "358c8e65-e27a-594e-82d0-de1fe77393d7",
    "TopicArn": "arn:aws:sns:us-east-2:123456789012:config-topic-ohio",
    "Subject": "[AWS Config:us-east-2] Config Rules Evaluation Started for Account 123456789012",
    "Message": {
        "awsAccountId": "123456789012",
        "awsRegion": "us-east-2",
        "configRuleNames": ["iam-password-policy"],
        "notificationCreationTime": "2016-10-13T21:55:21.339Z",
        "messageType": "ConfigRulesEvaluationStarted",
        "recordVersion": "1.0"
    },
    "Timestamp": "2016-10-13T21:55:21.575Z",
    "SignatureVersion": "1",
    "Signature": "DE431D+24zzFRboyPY2bPTsznJWe8L6TjDC+ItYlLFkE9jACSBl3sQ1uSjYzEhEbN7Cs+wBoHnJ/DxOSpyCxt4giqgKd+H2I636BvrQwHDhJwJm7qI6P8IozEliRvRWbM38zDTvHqkmmXQbdDHRsK/MssMeVTBKuW0x8ivMrj+KpwuF57tE62eXeFhjBeJ0DKQV+aC+i3onsuT7HQvXQDBPdOM+cSuLrJaMQJ6TcMU5G76qg/gl494ilb4Vj4udboGWpHSgUvI3guFsc1SsTrlWXQKXabWtsCQPfdOhkKgmViCfMZrLRp8Pjnu+uspYQELkEfwBchDVVzd15iMrAzQ==",
    "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:config-topic-ohio:956fe658-0ce3-4fb3-b409-a45f22a3c3d4"
}
```

# 크기를 초과한 구성 항목 변경 알림 예
<a name="oversized-notification-example"></a>

가 리소스에 대한 구성 변경을 AWS Config 감지하면 구성 항목(CI) 알림을 보냅니다. 알림이 Amazon Simple Notification Service(SNS)에서 허용한 최대 크기를 초과하는 경우, 이 알림에는 해당 구성 항목에 대한 간략한 요약이 들어 있습니다.

`s3BucketLocation` 필드에 지정한 Amazon S3 버킷 위치에서 완료 알림을 볼 수 있습니다.

다음 알림 예제에서는 Amazon EC2 인스턴스의 CI를 보여 줍니다. 이 알림에는 변경 요약과 Amazon S3 버킷에서의 알림 위치가 들어 있습니다.

```
View the Timeline for this Resource in the Console:
    https://console.aws.amazon.com/config/home?region=us-west-2#/timeline/AWS::EC2::Instance/resourceId_14b76876-7969-4097-ab8e-a31942b02e80?time=2016-10-06T16:46:16.261Z
    
    The full configuration item change notification for this resource exceeded the maximum size allowed by Amazon Simple Notification Service (SNS). A summary of the configuration item is provided here. You can view the complete notification in the specified Amazon S3 bucket location.
    
    New State Record Summary:
    ----------------------------
    {
      "configurationItemSummary": {
        "changeType": "UPDATE",
        "configurationItemVersion": "1.2",
        "configurationItemCaptureTime": "2016-10-06T16:46:16.261Z",
        "configurationStateId": 0,
        "awsAccountId": "123456789012",
        "configurationItemStatus": "OK",
        "resourceType": "AWS::EC2::Instance",
        "resourceId": "resourceId_14b76876-7969-4097-ab8e-a31942b02e80",
        "resourceName": null,
        "ARN": "arn:aws:ec2:us-west-2:123456789012:instance/resourceId_14b76876-7969-4097-ab8e-a31942b02e80",
        "awsRegion": "us-west-2",
        "availabilityZone": null,
        "configurationStateMd5Hash": "8f1ee69b287895a0f8bc5753eca68e96",
        "resourceCreationTime": "2016-10-06T16:46:10.489Z"
      },
      "s3DeliverySummary": {
        "s3BucketLocation": "amzn-s3-demo-bucket/AWSLogs/123456789012/Config/us-west-2/2016/10/6/OversizedChangeNotification/AWS::EC2::Instance/resourceId_14b76876-7969-4097-ab8e-a31942b02e80/123456789012_Config_us-west-2_ChangeNotification_AWS::EC2::Instance_resourceId_14b76876-7969-4097-ab8e-a31942b02e80_20161006T164616Z_0.json.gz",
        "errorCode": null,
        "errorMessage": null
      },
      "notificationCreationTime": "2016-10-06T16:46:16.261Z",
      "messageType": "OversizedConfigurationItemChangeNotification",
      "recordVersion": "1.0"
    }
```

## 과대 구성 항목에 액세스하는 방법
<a name="oversized-notification-example-access"></a>

구성 항목이 과대하면 요약만 Amazon SNS로 전송됩니다. 전체 구성 항목(CI)은 Amazon S3에 저장됩니다.

다음 코드 예제에서는 전체 CI에 액세스하는 방법을 보여줍니다.

```
import boto3
import json

def handle_oversized_configuration_item(event):
    """
    Example of handling an oversized configuration item notification
    
    When a configuration item is oversized:
    1. AWS Config sends a summary notification through SNS
    2. The complete configuration item is stored in S3
    3. Use get_resource_config_history API to retrieve the complete configuration
    """
    
    # Extract information from the summary notification
    if event['messageType'] == 'OversizedConfigurationItemChangeNotification':
        summary = event['configurationItemSummary']
        resource_type = summary['resourceType']
        resource_id = summary['resourceId']
        
        # Initialize AWS Config client
        config_client = boto3.client('config')
        
        # Retrieve the complete configuration item
        response = config_client.get_resource_config_history(
            resourceType=resource_type,
            resourceId=resource_id
        )
        
        if response['configurationItems']:
            config_item = response['configurationItems'][0]
            
            # For EC2 instances, the configuration contains instance details
            configuration = json.loads(config_item['configuration'])
            print(f"Instance Configuration: {configuration}")
            
            # Handle supplementary configuration if present
            if 'supplementaryConfiguration' in config_item:
                for key, value in config_item['supplementaryConfiguration'].items():
                    if isinstance(value, str):
                        config_item['supplementaryConfiguration'][key] = json.loads(value)
                print(f"Supplementary Configuration: {config_item['supplementaryConfiguration']}")
            
            return config_item
            
        # If needed, you can also access the complete notification from S3
        s3_location = event['s3DeliverySummary']['s3BucketLocation']
        print(f"Complete notification available in S3: {s3_location}")
    
    return None
```

## 작동 방식
<a name="handle-oversized-config-workflow"></a>

1. 함수는 AWS Config 알림이 포함된 이벤트 파라미터를 수락합니다.

1. 메시지 유형이 과대 구성 알림인지 확인합니다.

1. 함수는 요약에서 리소스 유형과 ID를 추출합니다.

1.  AWS Config 클라이언트를 사용하여 전체 구성 기록을 검색합니다.

1. 함수는 기본 구성과 보조 구성을 모두 처리합니다.

1. 필요한 경우 제공된 S3 위치에서 전체 알림에 액세스할 수 있습니다.

# 전달 실패 알림 예
<a name="notification-delivery-failed"></a>

AWS Config 가 Amazon S3 버킷에 구성 스냅샷 또는 크기 초과 구성 항목 변경 알림을 전송할 AWS Config 수 없는 경우는 전송 실패 알림을 보냅니다. 유효한 Amazon S3 버킷을 지정했는지 확인합니다.

```
View the Timeline for this Resource in the Console:
    https://console.aws.amazon.com/config/home?region=us-west-2#/timeline/AWS::EC2::Instance/test_resourceId_014b953d-75e3-40ce-96b9-c7240b975457?time=2016-10-06T16:46:13.749Z
    
     The full configuration item change notification for this resource exceeded the maximum size allowed by Amazon Simple Notification Service (SNS). A summary of the configuration item is provided here. You can view the complete notification in the specified Amazon S3 bucket location.
    
    New State Record Summary:
    ----------------------------
    {
      "configurationItemSummary": {
        "changeType": "UPDATE",
        "configurationItemVersion": "1.2",
        "configurationItemCaptureTime": "2016-10-06T16:46:13.749Z",
        "configurationStateId": 0,
        "awsAccountId": "123456789012",
        "configurationItemStatus": "OK",
        "resourceType": "AWS::EC2::Instance",
        "resourceId": "test_resourceId_014b953d-75e3-40ce-96b9-c7240b975457",
        "resourceName": null,
        "ARN": "arn:aws:ec2:us-west-2:123456789012:instance/test_resourceId_014b953d-75e3-40ce-96b9-c7240b975457",
        "awsRegion": "us-west-2",
        "availabilityZone": null,
        "configurationStateMd5Hash": "6de64b95eacd30e7b63d4bba7cd80814",
        "resourceCreationTime": "2016-10-06T16:46:10.489Z"
      },
      "s3DeliverySummary": {
        "s3BucketLocation": null,
        "errorCode": "NoSuchBucket",
        "errorMessage": "Failed to deliver notification to bucket: bucket-example for account 123456789012 in region us-west-2."
      },
      "notificationCreationTime": "2016-10-06T16:46:13.749Z",
      "messageType": "OversizedConfigurationItemChangeDeliveryFailed",
      "recordVersion": "1.0"
    }
```