리소스 가져오기를 사용하여 AWS 리소스를 CloudFormation 스택으로 가져오기
리소스 가져오기 특성을 사용하면 기존 AWS 리소스를 신규 또는 기존 CloudFormation 스택으로 가져올 수 있습니다. 이 기능을 사용하면 CloudFormation 외부에서 생성된 리소스를 삭제하고 다시 생성할 필요 없이 CloudFormation을 사용하여 관리할 수 있으므로 매우 유용합니다.
CloudFormation에서는 기존 리소스를 스택으로 가져오는 두 가지 옵션을 제공합니다.
리소스 가져오기 특성은 CloudFormation에서 관리하도록 기존 리소스를 가져오는 외에 다음과 같은 시나리오에서 유용할 수 있습니다.
-
스택 간 리소스 이동 – 필요한 대로 인프라를 재구성할 수 있도록 하나의 스택에서 다른 스택으로 리소스를 가져올 수 있습니다.
-
기존 스택 중첩 – 재사용 가능한 모듈식 인프라를 설계할 수 있도록 기존 스택을 다른 스택 내에 중첩되는 스택으로 가져올 수 있습니다.
CloudFormation에서는 다양한 리소스의 가져오기를 지원합니다. 자세한 내용은 리소스 유형 지원 단원을 참조하십시오.
개요
가져오기 작업 중에 기존 리소스를 스택으로 가져오거나 기존 리소스에서 새 스택을 생성하는 변경 세트를 생성합니다. 가져오기 작업 동안 다음을 제공합니다.
-
원본 스택 리소스와 가져오기 중인 리소스를 모두 포함하여 전체 스택을 설명하는 템플릿. 가져올 각 리소스에는 DeletionPolicy 속성이 있어야 합니다.
-
CloudFormation이 템플릿의 논리적 ID를 기존 리소스와 매핑하는 데 사용할 수 있도록 가져오는 리소스의 식별자.
참고
CloudFormation에서는 리소스 가져오기를 사용하여 한 수준의 중첩만 지원합니다. 즉, 스택을 하위 스택으로 가져오거나 하위 요소가 있는 스택을 가져올 수 없습니다.
리소스 식별자
가져오는 각 리소스를 식별하기 위해 두 개의 값을 제공합니다.
-
식별자 속성. 각 리소스 유형을 식별하는 데 사용할 수 있는 리소스 속성입니다. 예를 들어,
AWS::S3::Bucket
리소스는BucketName
를 사용해 식별할 수 있습니다.가져오는 리소스를 식별하는 데 사용하는 리소스 속성은 리소스 유형에 따라 다릅니다. CloudFormation 콘솔에서 리소스 속성을 찾을 수 있습니다. 가져올 리소스가 포함된 템플릿을 만든 후에는 가져오기 프로세스를 시작하고, 여기에서 가져오려는 리소스의 식별자 속성을 찾을 수 있습니다. 일부 리소스 유형의 경우 여러 가지 방법으로 식별할 수 있으며, 드롭다운 목록에서 사용할 속성을 선택할 수 있습니다.
아니면 get-template-summary CLI 명령을 호출하고 스택 템플릿의 S3 URL을
--template-url
옵션 값으로 지정하여 가져오려는 리소스의 식별자 속성을 가져올 수 있습니다. -
식별자 값. 리소스의 실제 속성값입니다. 예를 들어
BucketName
속성의 실제 값은MyS3Bucket
일 수 있습니다.서비스 콘솔에서 리소스의 식별자 속성값을 가져올 수 있습니다.
리소스 가져오기 확인
가져오기 작업 중에 CloudFormation은 다음과 같은 유효성 검사를 수행합니다.
-
가져오기를 수행할 자원이 존재합니다.
-
가져오기를 수행할 각 리소스의 속성 및 구성 값은 허용되는 속성, 필수 속성 및 지원되는 속성값을 정의하는 리소스 유형 스키마를 따릅니다.
-
필수 속성은 템플릿에서 지정됩니다. 각 리소스 유형에 대한 필수 속성은 AWS 리소스 및 속성 유형 참조에 나와 있습니다.
-
가져오기를 수행할 리소스는 동일한 리전의 다른 스택에 속하지 않습니다.
CloudFormation은 템플릿 구성이 리소스 속성의 실제 구성과 일치하는지 확인하지 않습니다.
중요
템플릿에 정의된 리소스 및 해당 속성이 예기치 않은 변경을 방지하기 위해 리소스 가져오기의 의도된 구성과 일치하는지 확인합니다.
리소스 가져오기 상태 코드
이 표에서는 리소스 가져오기 특성에서 사용되는 다양한 상태 유형에 대해 설명합니다.
가져오기 작업 상태 | 설명 |
---|---|
|
가져오기 작업이 진행 중입니다. |
|
를 스택의 모든 리소스에 대해 가져오기 작업이 완료되었습니다. |
|
가져오기 롤백 작업이 이전 템플릿 구성을 롤백하는 중입니다. |
|
가져오기 롤백 작업이 실패했습니다. |
|
가져오기는 이전 템플릿 구성으로 롤백됩니다. |
가져오기 작업 중 고려 사항
-
가져오기가 완료된 후 후속 스택 작업을 수행하기 전에 가져오기를 수행한 리소스에 대해 드리프트 감지를 실행하는 것이 좋습니다. 드리프트 감지는 템플릿 구성이 실제 구성과 일치하는지 확인합니다. 자세한 내용은 전체 CloudFormation 스택의 드리프트 감지 단원을 참조하십시오.
-
가져오기 작업에서는 새 리소스 생성, 리소스 삭제 또는 속성 구성 변경을 허용하지 않습니다.
-
가져오기를 수행할 각 리소스에서 가져오기 작업이 성공하려면
DeletionPolicy
속성이 있어야 합니다.DeletionPolicy
는 가능한 어떤 값으로든 설정할 수 있습니다. 가져오는 리소스에만DeletionPolicy
가 필요합니다. 이미 스택의 일부인 리소스에서는DeletionPolicy
가 필요하지 않습니다. -
동일한 리소스를 여러 스택으로 가져올 수 없습니다.
-
cloudformation:ImportResourceTypes
IAM 정책 조건을 사용하여 가져오기 작업 중에 사용자가 작업할 수 있는 리소스 유형을 제어할 수 있습니다. 자세한 내용은 CloudFormation 조건 단원을 참조하십시오. -
CloudFormation 스택 한도는 리소스를 가져올 때 적용됩니다. 제한에 대한 자세한 내용은 CloudFormation 할당량 이해 섹션을 참조하세요.
추가적인 리소스
리소스 가져오기로 스택 드리프트를 해결하는 방법은 가져오기 작업을 통한 드리프트 해결 섹션을 참조하세요.