

# IaC 생성기를 사용하여 기존 리소스에서 템플릿 생성
<a name="generate-IaC"></a>

CloudFormation 인프라를 코드 생성기(IaC 생성기)로 사용하면 계정에 프로비저닝된 리소스 중에 CloudFormation에서 아직 관리하지 않는 AWS 리소스를 사용하여 템플릿을 생성할 수 있습니다.

IaC 생성기의 장점은 다음과 같습니다.
+ 전체 애플리케이션을 CloudFormation 관리에 포함하거나 AWS CDK 앱으로 마이그레이션합니다.
+ 리소스 속성을 속성별로 설명할 필요 없이 템플릿을 생성한 다음 이를 JSON 또는 YAML 구문으로 변환합니다.
+ 템플릿을 사용하여 새 계정 또는 리전에서 리소스를 복제합니다.

IaC 생성 프로세스는 다음 단계로 구성됩니다.

1. **리소스 스캔** - 첫 번째 단계는 리소스 스캔을 시작하는 것입니다. 이 스캔은 리전 전체에 적용되며 30일 후에 만료됩니다. 이 시간 동안 동일한 스캔에서 템플릿을 여러 개 생성할 수 있습니다.

1. **템플릿 생성** - 템플릿을 생성하려면 다음 두 가지 옵션이 있습니다.
   + 처음부터 새 템플릿을 생성하고 스캔한 리소스와 관련 리소스를 추가합니다.
   + 기존 CloudFormation 스택을 시작점으로 사용하고 템플릿에 스캔한 리소스와 관련 리소스를 추가합니다.

1. **리소스 가져오기** - 템플릿을 사용하여 리소스를 CloudFormation 스택으로 가져오거나 AWS CDK 앱으로 마이그레이션합니다.

IaC 생성기 특성은 모든 상업 리전에서 사용할 수 있으며 많은 일반적인 AWS 리소스 유형을 지원합니다. 지원되는 전체 리소스 목록은 [리소스 유형 지원](resource-import-supported-resources.md) 섹션을 참조하세요.

**Topics**
+ [고려 사항](#iac-generator-considerations)
+ [리소스 스캔에 필요한 IAM 권한](#iac-generator-permissions)
+ [템플릿 생성, 관리 및 삭제에 일반적으로 사용되는 명령](#iac-generator-commonly-used-commands)
+ [AWS CDK로 템플릿 마이그레이션](#iac-generator-cdk-migrate)
+ [CloudFormation IaC 생성기로 리소스 스캔 시작](iac-generator-start-resource-scan.md)
+ [CloudFormation 콘솔의 스캔 요약 보기](generate-IaC-view-scan-summary.md)
+ [IaC 생성기로 스캔한 리소스로 CloudFormation 템플릿 생성](iac-generator-create-template-from-scanned-resources.md)
+ [스캔한 리소스에서 CloudFormation 스택 생성](iac-generator-create-stack-from-scanned-resources.md)
+ [쓰기 전용 속성 해결](generate-IaC-write-only-properties.md)

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

읽기 액세스 권한이 있는 AWS 리소스에 대해 JSON 또는 YAML 템플릿을 생성할 수 있습니다. IaC 생성기 기능의 템플릿은 리소스 속성을 속성별로 설명할 필요 없이 클라우드 리소스를 안정적이고 빠르게 모델링합니다.

다음 표에는 IaC 생성 특성에 사용할 수 있는 할당량이 나와 있습니다.


| 이름 | 전체 스캔 | 부분 스캔 | 
| --- | --- | --- | 
| 스캔에서 처리할 수 있는 최대 리소스 수 | 100,000건 | 100,000건 | 
| 일일 스캔 횟수(리소스가 10,000개 미만인 스캔의 경우) | 10 | 10 | 
| 일일 스캔 횟수(리소스가 10,000개를 초과하는 스캔의 경우) | 1 | 1 | 
| 계정당 생성되는 템플릿의 동시 개수 | 5 | 5 | 
| 한 번의 템플릿 생성을 위해 모델링된 동시 리소스 수 | 5 | 5 | 
| 하나의 템플릿에서 모델링할 수 있는 총 리소스 수 | 500 | 500 | 
| 계정당 생성되는 최대 템플릿 수 | 1,000 | 1,000 | 

**중요**  
IaC 생성기는 리전의 Cloud Control API에서 지원하는 AWS 리소스만 지원합니다. 자세한 내용은 [리소스 유형 지원](resource-import-supported-resources.md) 섹션을 참조하세요.

## 리소스 스캔에 필요한 IAM 권한
<a name="iac-generator-permissions"></a>

IaC 생성기로 리소스를 스캔하려면 IAM 위탁자(사용자, 역할 또는 그룹)에 다음이 있어야 합니다.
+ CloudFormation 스캔 권한
+ 대상 AWS 서비스에 대한 읽기 권한

스캔 범위는 읽기 액세스 권한이 있는 리소스로 제한됩니다. 권한이 누락되어도 스캔에 실패하지 않지만 해당 리소스는 제외됩니다.

스캔 및 템플릿 관리 권한을 부여하는 IAM 정책의 예는 [모든 IaC 생성기 작업 허용](security_iam_id-based-policy-examples.md#iam-policy-example-for-iac-generator) 섹션을 참조하세요.

## 템플릿 생성, 관리 및 삭제에 일반적으로 사용되는 명령
<a name="iac-generator-commonly-used-commands"></a>

IaC 생성기 작업에 일반적으로 사용되는 명령은 다음과 같습니다.
+ [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html) - AWS 리전의 계정에서 리소스 스캔을 시작합니다.
+ [describe-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-resource-scan.html) - 리소스 스캔의 진행 상황을 모니터링합니다.
+ [list-resource-scans](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scans.html)에 AWS 리전의 리소스 스캔이 나열됩니다.
+ [list-resource-scan-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-resources.html) - 리소스 스캔 중 찾은 리소스를 나열합니다.
+  [list-resource-scan-related-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-related-resources.html) - 스캔한 리소스와 관련된 리소스를 나열합니다.
+ [create-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-generated-template.html) - 스캔한 리소스 세트에서 CloudFormation 템플릿을 생성합니다.
+ [update-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-generated-template.html) - 생성된 템플릿을 업데이트합니다.
+ [describe-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-generated-template.html) - 생성된 템플릿에 대한 정보를 반환합니다.
+ [list-generated-templates](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-generated-templates.html) - 계정과 현재 리전에서 생성된 모든 템플릿을 나열합니다.
+ [delete-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-generated-template.html) - 생성된 템플릿을 삭제합니다.

## AWS CDK로 템플릿 마이그레이션
<a name="iac-generator-cdk-migrate"></a>

AWS Cloud Development Kit (AWS CDK)는 널리 사용되는 프로그래밍 언어를 사용하여 CloudFormation 리소스를 개발, 관리, 배포하는 데 사용할 수 있는 오픈 소스 소프트웨어 개발 프레임워크입니다.

AWS CDK CLI는 IaC 생성기와의 통합 기능을 제공합니다. AWS CDK CLI `cdk migrate` 명령을 사용하여 CloudFormation 템플릿을 변환하고 리소스를 포함하는 새 CDK 앱을 생성합니다. 그런 다음 AWS CDK를 사용하여 리소스를 관리하고 CloudFormation에 배포할 수 있습니다.

자세한 내용은 **AWS Cloud Development Kit (AWS CDK) 개발자 안내서의 [AWS CDK로 마이그레이션](https://docs.aws.amazon.com/cdk/v2/guide/migrate.html)을 참조하세요.