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