

# 수동으로 CloudFormation 스택에 AWS 리소스 가져오기
<a name="import-resources-manually"></a>

리소스 가져오기를 사용하면 기존 AWS 리소스를 신규 또는 기존 CloudFormation 스택에 가져올 수 있습니다. 가져오기 작업 중에 기존 리소스를 스택으로 가져오거나 기존 리소스에서 새 스택을 생성하는 변경 세트를 생성합니다. 가져오기 작업 동안 다음을 제공합니다.
+ 원본 스택 리소스와 가져오기 중인 리소스를 모두 포함하여 전체 스택을 설명하는 템플릿. 가져올 각 리소스에는 [DeletionPolicy 속성](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html)이 있어야 합니다.
+ CloudFormation이 템플릿의 논리적 ID를 기존 리소스와 매핑하는 데 사용할 수 있도록 가져오는 리소스의 식별자.

**참고**  
CloudFormation에서는 리소스 가져오기를 사용하여 한 수준의 중첩만 지원합니다. 즉, 스택을 하위 스택으로 가져오거나 하위 요소가 있는 스택을 가져올 수 없습니다.

**Topics**
+ [리소스 식별자](#resource-import-identifiers-unique-ids)
+ [검증](#resource-import-validation)
+ [상태 코드](#resource-import-status-codes)
+ [고려 사항](#resource-import-considerations)
+ [추가 리소스](#resource-import-additional-resources)
+ [기존 리소스에서 스택 생성](resource-import-new-stack.md)
+ [기존 리소스를 스택으로 가져오기](resource-import-existing-stack.md)
+ [스택 간 리소스 이동](refactor-stacks.md)
+ [기존 스택 중첩](resource-import-nested-stacks.md)

## 리소스 식별자
<a name="resource-import-identifiers-unique-ids"></a>

가져오는 각 리소스를 식별하기 위해 두 개의 값을 제공합니다.
+ 식별자 속성. 각 리소스 유형을 식별하는 데 사용할 수 있는 리소스 속성입니다. 예를 들어, `AWS::S3::Bucket` 리소스는 `BucketName`를 사용해 식별할 수 있습니다.

  가져오는 리소스를 식별하는 데 사용하는 리소스 속성은 리소스 유형에 따라 다릅니다. CloudFormation 콘솔에서 리소스 속성을 찾을 수 있습니다. 가져올 리소스가 포함된 템플릿을 만든 후에는 가져오기 프로세스를 시작하고, 여기에서 가져오려는 리소스의 식별자 속성을 찾을 수 있습니다. 일부 리소스 유형의 경우 여러 가지 방법으로 식별할 수 있으며, 드롭다운 목록에서 사용할 속성을 선택할 수 있습니다.

  아니면 [get-template-summary](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/get-template-summary.html) CLI 명령을 호출하고 스택 템플릿의 S3 URL을 `--template-url` 옵션 값으로 지정하여 가져오려는 리소스의 식별자 속성을 가져올 수 있습니다.
+ 식별자 값. 리소스의 실제 속성값입니다. 예를 들어 `BucketName` 속성의 실제 값은 `MyS3Bucket`일 수 있습니다.

  서비스 콘솔에서 리소스의 식별자 속성값을 가져올 수 있습니다.

## 리소스 가져오기 확인
<a name="resource-import-validation"></a>

가져오기 작업 중에 CloudFormation은 다음과 같은 유효성 검사를 수행합니다.
+ 가져오기를 수행할 자원이 존재합니다.
+ 가져오기를 수행할 각 리소스의 속성 및 구성 값은 허용되는 속성, 필수 속성 및 지원되는 속성값을 정의하는 리소스 유형 스키마를 따릅니다.
+ 필수 속성은 템플릿에서 지정됩니다. 각 리소스 유형에 대한 필수 속성은 [AWS 리소스 및 속성 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-template-resource-type-ref.html)에 설명되어 있습니다.
+ 가져오기를 수행할 리소스는 동일한 리전의 다른 스택에 속하지 않습니다.

CloudFormation은 템플릿 구성이 리소스 속성의 실제 구성과 일치하는지 확인하지 않습니다.

**중요**  
템플릿에 정의된 리소스 및 해당 속성이 예기치 않은 변경을 방지하기 위해 리소스 가져오기의 의도된 구성과 일치하는지 확인합니다.

## 리소스 가져오기 상태 코드
<a name="resource-import-status-codes"></a>

이 표에서는 리소스 가져오기 특성에서 사용되는 다양한 상태 유형에 대해 설명합니다.


| 가져오기 작업 상태 | 설명 | 
| --- | --- | 
| `IMPORT_IN_PROGRESS` | 가져오기 작업이 진행 중입니다. | 
| `IMPORT_COMPLETE` | 를 스택의 모든 리소스에 대해 가져오기 작업이 완료되었습니다. | 
| `IMPORT_ROLLBACK_IN_PROGRESS` | 가져오기 롤백 작업이 이전 템플릿 구성을 롤백하는 중입니다. | 
| `IMPORT_ROLLBACK_FAILED` | 가져오기 롤백 작업이 실패했습니다. | 
| `IMPORT_ROLLBACK_COMPLETE` | 가져오기는 이전 템플릿 구성으로 롤백됩니다. | 

## 가져오기 작업 중 고려 사항
<a name="resource-import-considerations"></a>
+ 가져오기가 완료된 후 후속 스택 작업을 수행하기 전에 가져오기를 수행한 리소스에 대해 드리프트 감지를 실행하는 것이 좋습니다. 드리프트 감지는 템플릿 구성이 실제 구성과 일치하는지 확인합니다. 자세한 내용은 [전체 CloudFormation 스택의 드리프트 감지](detect-drift-stack.md) 섹션을 참조하세요.
+ 가져오기 작업에서는 새 리소스 생성, 리소스 삭제 또는 속성 구성 변경을 허용하지 않습니다.
+ 가져오기를 수행할 각 리소스에서 가져오기 작업이 성공하려면 `DeletionPolicy` 속성이 있어야 합니다. `DeletionPolicy`는 가능한 어떤 값으로든 설정할 수 있습니다. 가져오는 리소스에만 `DeletionPolicy`가 필요합니다. 이미 스택의 일부인 리소스에서는 `DeletionPolicy`가 필요하지 않습니다.
+ 동일한 리소스를 여러 스택으로 가져올 수 없습니다.
+ `cloudformation:ImportResourceTypes` IAM 정책 조건을 사용하여 가져오기 작업 중에 사용자가 작업할 수 있는 리소스 유형을 제어할 수 있습니다. 자세한 내용은 [CloudFormation에 대한 정책 조건 키](control-access-with-iam.md#using-iam-conditions) 섹션을 참조하세요.
+ CloudFormation 스택 한도는 리소스를 가져올 때 적용됩니다. 제한에 대한 자세한 내용은 [CloudFormation 할당량 이해](cloudformation-limits.md) 섹션을 참조하세요.

## 추가적인 리소스
<a name="resource-import-additional-resources"></a>

리소스 가져오기로 스택 드리프트를 해결하는 방법은 [가져오기 작업을 통한 드리프트 해결](resource-import-resolve-drift.md) 섹션을 참조하세요.