

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

# 기존 AWS Config 리소스가 있는 계정 등록
<a name="existing-config-resources"></a>

이 주제에서는 기존 AWS Config 리소스가 있는 계정을 등록하는 방법에 대한 단계별 접근 방식을 제공합니다. 기존 리소스를 확인하는 방법의 예는 [AWS Config 리소스에 계정 등록](enroll-account.md#example-config-cli-commands) 섹션을 참조하세요.

**AWS Config 리소스의 예**

다음은 계정에 이미 있을 수 있는 몇 가지 유형의 AWS Config 리소스입니다. AWS Control Tower에 계정을 등록하려면 이러한 리소스를 수정해야 할 수 있습니다.
+ AWS Config 레코더
+ AWS Config 전송 채널
+ AWS Config 집계 권한 부여

**제한 사항**
+  랜딩 존에 구성된 관리 계정 또는 서비스 통합 계정(들)에는 기존 AWS Config 리소스에 계정 등록이 지원되지 않습니다.
+  계정은를 활성화하는 OU 등록 또는 재등록 워크플로를 사용해야만 등록할 수 있습니다`AWSControlTowerBaseline`. 를 활성화하거나 재설정하여 계정을 등록할 수 없습니다`ConfigBaseline`.
+  기존 AWS Config 리소스가 있는 계정은에서 지원되지 않습니다[자동 등록을 사용하여 계정 이동 및 등록](account-auto-enrollment.md).
+ 리소스가 수정되고 계정에 드리프트를 생성하는 경우 AWS Control Tower는 리소스를 업데이트하지 않습니다.
+ AWS Config AWS Control Tower에서 관리하지 않는 리전의 리소스는 변경되지 않습니다.

**가정**
+ AWS Control Tower 랜딩 존을 배포했습니다.
+ 계정이 AWS Control Tower에 아직 등록되지 않았습니다.
+ 계정에 AWS Control Tower에서 관리하는 리전 중 하나 이상에 기존 AWS Config 리소스가 하나 이상 있습니다.
+ 계정이 거버넌스 드리프트에 있지 않습니다.

**참고**  
허용 목록에 계정을 추가하지 않고 기존 Config 리소스가 있는 계정을 등록하려고 하면 등록이 실패합니다. 이후 동일한 계정을 허용 목록에 추가하려고 하면 AWS Control Tower에서 계정이 올바르게 프로비저닝되었는지 확인할 수 없습니다. 허용 목록을 요청한 다음 등록하려면 먼저 AWS Control Tower에서 계정 프로비저닝을 취소해야 합니다. 계정을 다른 AWS Control Tower OU로 옮기기만 하면 거버넌스 드리프트가 발생하므로, 계정이 허용 목록에 추가되지 않습니다.

 기존 AWS Config 리소스에 계정을 등록하는 자동화된 접근 방식을 설명하는 블로그는 [AWS Control Tower에 기존 AWS Config 리소스가 있는 계정 등록 자동화를](https://aws.amazon.com//blogs/mt/automate-enrollment-of-accounts-with-existing-aws-config-resources-into-aws-control-tower/) 참조하세요.

**이 프로세스에는 5가지 주요 단계가 있습니다.**

1. AWS Control Tower 허용 목록에 계정(들)을 추가합니다.

1. 계정에서 새 IAM 역할을 만듭니다.

1. 기존 AWS Config 리소스를 수정합니다.

1. 리소스가 없는 AWS 리전에서 AWS Config 리소스를 생성합니다.

1. 계정을 AWS Control Tower에 등록합니다.

**계속하기 전에 이 프로세스에서 어떤 점을 기대할 수 있는지 살펴보세요.**
+ AWS Control Tower는이 계정에 AWS Config 리소스를 생성하지 않습니다.
+ 등록 후 AWS Control Tower 제어는 새 IAM 역할을 포함하여 생성한 AWS Config 리소스를 자동으로 보호합니다.
+ 등록 후 AWS Config 리소스가 변경된 경우 계정을 다시 등록하려면 먼저 AWS Control Tower 설정에 맞게 해당 리소스를 업데이트해야 합니다.

## 1단계: 지원 센터에 문의하여 허용 목록에 계정(들) 추가
<a name="existing-config-step-1"></a>

**티켓 제목 줄에 다음 문구를 포함합니다.**

*AWS Control Tower에 기존 AWS Config 리소스가 있는 계정 등록*

**티켓 본문에 다음 세부 정보를 포함합니다.**
+ 관리 계정 번호
+  기존 AWS Config 리소스가 있는 멤버 계정의 계정 번호입니다. 등록하려는 모든 계정에 대한 지원 사례를 생성할 수 있습니다.
+ AWS Control Tower 설정을 위해 선택한 홈 리전

**참고**  
허용 목록에 계정을 추가하는 데 필요한 시간은 영업일 기준 2일입니다.

## 2단계: 멤버 계정에서 새 IAM 역할 생성
<a name="existing-config-step-2"></a>

1. 멤버 계정의 CloudFormation 콘솔을 엽니다.

1. 다음 템플릿을 사용하여 새 스택을 만듭니다.

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
       
   Resources:
     CustomerCreatedConfigRecorderRole:
       Type: AWS::IAM::Role
       Properties:
         RoleName: aws-controltower-ConfigRecorderRole-customer-created
         AssumeRolePolicyDocument:
           Version: 2012-10-17		 	 	 
           Statement:
             - Effect: Allow
               Principal:
                 Service:
                   - config.amazonaws.com
               Action:
                 - sts:AssumeRole
         Path: /
         ManagedPolicyArns:
           - arn:aws:iam::aws:policy/service-role/AWS_ConfigRole
           - arn:aws:iam::aws:policy/ReadOnlyAccess
   ```

1. 스택의 이름을 **CustomerCreatedConfigRecorderRoleForControlTower**로 입력합니다.

1. 스택을 생성합니다.

**참고**  
직접 만든 모든 SCP는 `aws-controltower-ConfigRecorderRole*` 역할을 제외해야 합니다. AWS Config 규칙이 평가를 수행하는 기능을 제한하는 권한을 수정하지 마십시오.  
Config를 직접 호출하는 `aws-controltower-ConfigRecorderRole*`을 차단하는 SCP가 있는 경우 `AccessDeniedException`을 받지 않도록 다음 지침을 따르세요.

## 3단계: 기존 리소스가 있는 AWS 리전 식별
<a name="existing-config-step-3"></a>

계정의 각 관리형 리전(AWS Control Tower 관리형)에 대해 이전에 표시된 기존 AWS Config 리소스 예제 유형 중 하나 이상이 있는 리전을 식별하고 기록해 둡니다.

## 4단계: AWS Config 리소스가 없는 AWS 리전 식별
<a name="existing-config-step-4"></a>

계정의 각 관리형 리전(AWS Control Tower 관리형)에 대해 이전에 표시된 예제 유형의 AWS Config 리소스가 없는 리전을 식별하고 기록해 둡니다.

## 5단계: 각 AWS 리전의 기존 리소스 수정
<a name="existing-config-step-5"></a>

이 단계에서는 AWS Control Tower 설정에 대한 다음 정보가 필요합니다.
+  `AUDIT_ACCOUNT` - AWS Config 서비스 통합 계정(이전에는 Audit 계정이라고 함) ID 
+  `CONFIG_BUCKET` - AWS Config가 구성 스냅샷 및 구성 기록 파일을 제공하는 AWS S3 버킷입니다. 다음 단계로 진행하기 전에 AWS S3 버킷을 찾아 확인합니다.
  + 랜딩 존 버전 3.3 이하의 경우 AWS S3 버킷의 이름은 로깅 계정에 `aws-controltower-logs-LOGGING_ACCOUNT-HOME_REGION`있는 입니다.
  + 랜딩 존 버전 4.0 이상의 경우 AWS S3 버킷의 이름은 이며`aws-controltower-config-logs-AUDIT_ACCOUNT-<REGION_STRING>-<SUFFIX_STRING>`, AWS Config 서비스 통합 계정(이전에는 Audit 계정이라고 함)에 있습니다.
+ `IAM_ROLE_ARN` - 2단계에서 생성된 IAM 역할 ARN
+ `ORGANIZATION_ID` - 관리 계정의 조직 ID
+ `MEMBER_ACCOUNT_NUMBER` - 수정 중인 멤버 계정
+ `HOME_REGION` - AWS Control Tower 설정을 위한 홈 리전

 다음 섹션 5a\$15c에 제공된 지침에 따라 각 기존 리소스를 수정합니다.

## 5a단계. AWS Config recorder 리소스
<a name="modify-config-recorder-resources-step-5a"></a>

 AWS 리전당 하나의 AWS Config 레코더만 존재할 수 있습니다. 있는 경우 그림과 같이 설정을 수정합니다. `GLOBAL_RESOURCE_RECORDING` 항목을 홈 리전에서 **true**로 교체합니다. AWS Config 레코더가 있는 다른 리전의 경우 항목을 **false**로 바꿉니다.
+ **이름:** 변경 금지
+ **RoleARN:**` IAM_ROLE_ARN`
  + **RecordingGroup:**
  + **AllSupported:** true
  + **IncludeGlobalResourceTypes:** `GLOBAL_RESOURCE_RECORDING`
  + **ResourceTypes:** 비어 있음

이 수정은 다음 명령을 사용하여 AWS CLI를 통해 수행할 수 있습니다. 문자열을 기존 AWS Config 레코더 이름으로 바꿉`RECORDER_NAME`니다.

```
aws configservice put-configuration-recorder --configuration-recorder  name=RECORDER_NAME,roleARN=arn:aws:iam::MEMBER_ACCOUNT_NUMBER:role/aws-controltower-ConfigRecorderRole-customer-created --recording-group allSupported=true,includeGlobalResourceTypes=GLOBAL_RESOURCE_RECORDING --region CURRENT_REGION
```

## 5b단계. AWS Config 전송 채널 리소스 수정
<a name="modify-config-delivery-channel-step-5b"></a>

리전당 하나의 AWS Config 전송 채널만 존재할 수 있습니다. 다른 설정이 있는 경우 그림과 같이 설정을 수정합니다.
+ **이름:** 변경 금지
+ **ConfigSnapshotDeliveryProperties:** TwentyFour\$1Hours
+  **S3BucketName:***CONFIG\$1BUCKET* 
+ **S3KeyPrefix: ***ORGANIZATION\$1ID*
+ **SnsTopicARN: **감사 계정의 SNS 주제 ARN으로, 형식은 다음과 같습니다.

  `arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications`

이 수정은 다음 명령을 사용하여 AWS CLI를 통해 수행할 수 있습니다. 문자열을 기존 AWS Config 레코더 이름으로 바꿉`DELIVERY_CHANNEL_NAME`니다.

```
aws configservice put-delivery-channel --delivery-channel name=DELIVERY_CHANNEL_NAME,s3BucketName=CONFIG_BUCKET,s3KeyPrefix="ORGANIZATION_ID",configSnapshotDeliveryProperties={deliveryFrequency=TwentyFour_Hours},snsTopicARN=arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications --region CURRENT_REGION
```

## 5c단계. AWS Config 집계 권한 부여 리소스 수정
<a name="modify-config-aggregator-auth-step-5c"></a>

**참고**  
랜딩 존 버전 4.0 이상에는이 단계가 필요하지 않습니다.

리전당 여러 집계 권한 부여가 존재할 수 있습니다. AWS Control Tower에는 감사 계정을 권한 있는 계정으로 지정하고 AWS Control Tower의 홈 리전을 권한 있는 리전으로 사용하는 집계 권한 부여가 필요합니다. 없는 경우 다음 설정으로 새 설정을 만듭니다.
+ **AuthorizedAccountId: **감사 계정 ID
+ **AuthorizedAwsRegion:** AWS Control Tower 설정을 위한 홈 리전

이 수정은 다음 명령을 사용하여 AWS CLI를 통해 수행할 수 있습니다.

 `aws configservice put-aggregation-authorization --authorized-account-id AUDIT_ACCOUNT_ID --authorized-aws-region HOME_REGION --region CURRENT_REGION` 

## 6단계: AWS Control Tower에서 관리하는 리전에서 존재하지 않는 리소스 생성
<a name="existing-config-step-6"></a>

다음 예제와 `GLOBAL_RESOURCE_RECORDING`같이 홈 리전에서 **IncludeGlobalResourcesTypes** 파라미터의 값이가 되도록 CloudFormation 템플릿을 수정합니다. 또한, 이 섹션에 지정된 대로 템플릿의 필수 필드를 업데이트합니다.

`GLOBAL_RESOURCE_RECORDING` 항목을 홈 리전에서 **true**로 교체합니다. AWS Config 레코더가 없는 다른 리전의 경우 항목을 **false**로 바꿉니다.

1. 관리 계정의 CloudFormation 콘솔로 이동합니다.

1. **CustomerCreatedConfigResourcesForControlTower**라는 이름으로 새 StackSets를 만듭니다.

1. 다음 템플릿을 복사하고 업데이트합니다.
**참고**  
템플릿의 `CustomerCreatedAggregationAuthorization` 리소스는 랜딩 존 버전 4.0 이상에는 필요하지 않습니다.

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
   Resources:
     CustomerCreatedConfigRecorder:
       Type: AWS::Config::ConfigurationRecorder
       Properties:
         Name: aws-controltower-BaselineConfigRecorder-customer-created
         RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-controltower-ConfigRecorderRole-customer-created
         RecordingGroup:
           AllSupported: true
           IncludeGlobalResourceTypes: GLOBAL_RESOURCE_RECORDING
           ResourceTypes: []
     CustomerCreatedConfigDeliveryChannel:
       Type: AWS::Config::DeliveryChannel
       Properties:
         Name: aws-controltower-BaselineConfigDeliveryChannel-customer-created
         ConfigSnapshotDeliveryProperties:
           DeliveryFrequency: TwentyFour_Hours
         S3BucketName: CONFIG_BUCKET
         S3KeyPrefix: ORGANIZATION_ID
         SnsTopicARN: !Sub arn:aws:sns:${AWS::Region}:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications
     CustomerCreatedAggregationAuthorization:
       Type: "AWS::Config::AggregationAuthorization"
       Properties:
         AuthorizedAccountId: AUDIT_ACCOUNT
         AuthorizedAwsRegion: HOME_REGION
   ```

**필수 필드로 템플릿을 업데이트합니다.**

   1. **S3BucketName** 필드에서 *CONFIG\$1BUCKET*

   1. **S3KeyPrefix** 필드에서 *ORGANIZATION\$1ID*를 바꿉니다.

   1. **SnsTopicARN** 필드에서 *AUDIT\$1ACCOUNT*를 바꿉니다.

   1. **AuthorizedAccountId** 필드에서 *AUDIT\$1ACCOUNT*를 바꿉니다.

   1. **AuthorizedAwsRegion** 필드에서 *HOME\$1REGION*을 바꿉니다.

1.  CloudFormation 콘솔에서 배포하는 동안 멤버 계정 번호를 추가합니다.

1. 4단계에서 식별된 AWS 리전을 추가합니다.

1. 스택 세트를 배포합니다.

## 7단계: AWS Control Tower에 OU 등록
<a name="existing-config-step-7"></a>

AWS Control Tower 대시보드에서 OU를 등록합니다.

**참고**  
이 작업에서는 **계정 등록** 워크플로가 성공하지 않습니다. **OU 등록** 또는 **OU 재등록**을 선택해야 합니다.