CloudFormation 관리로 기존 리소스 가져오기 - AWS CloudFormation

CloudFormation 관리로 기존 리소스 가져오기

AWS CloudFormation에서는 템플릿에서 기존 AWS 리소스를 설명하여 해당 리소스를 새 스택이나 기존 스택으로 가져올 수 있는 기능을 제공합니다. 이 기능을 사용하면 CloudFormation 외부에서 생성된 리소스를 삭제하고 다시 생성할 필요 없이 CloudFormation을 사용하여 관리할 수 있으므로 매우 유용합니다.

CloudFormation에서는 다양한 리소스의 가져오기를 지원합니다. 자세한 내용은 리소스 유형 지원 단원을 참조하십시오.

참고

이렇게 하는 대신, 기존 리소스를 스캔하고 해당 리소스를 CloudFormation으로 가져오거나 새 계정에 해당 리소스를 복제하는 데 사용할 수 있는 템플릿을 자동으로 생성하려면 IaC 생성기를 사용하여 기존 리소스용 템플릿 생성 섹션을 참조하세요.

개요

가져오기 작업 중에 기존 리소스를 스택으로 가져오거나 기존 리소스에서 새 스택을 생성하는 변경 세트를 생성합니다. 가져오기 작업 동안 다음을 제공합니다.

  • 원본 스택 리소스와 가져오기 중인 리소스를 모두 포함하여 전체 스택을 설명하는 템플릿. 가져올 각 리소스에는 DeletionPolicy 속성이 있어야 합니다.

  • CloudFormation이 템플릿의 논리적 ID를 기존 리소스와 매핑하는 데 사용할 수 있도록 가져오는 리소스의 식별자.

참고

CloudFormation은 resource import를 사용하여 한 수준의 중첩만 지원합니다. 즉, 스택을 하위 스택으로 가져오거나 하위 요소가 있는 스택을 가져올 수 없습니다.

리소스 식별자

가져오는 각 리소스를 식별하기 위해 두 개의 값을 제공합니다.

  • 식별자 속성. 각 리소스 유형을 식별하는 데 사용할 수 있는 리소스 속성입니다. 예를 들어, AWS::S3::Bucket 리소스는 BucketName를 사용해 식별할 수 있습니다.

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

    아니면 get-template-summary CLI 명령을 호출하고 스택 템플릿의 S3 URL을 --template-url 옵션 값으로 지정하여 가져오려는 리소스의 식별자 속성을 가져올 수 있습니다.

  • 식별자 값. 리소스의 실제 속성값입니다. 예를 들어 BucketName 속성의 실제 값은 MyS3Bucket일 수 있습니다.

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

리소스 가져오기 확인

가져오기 작업 중에 CloudFormation은 다음과 같은 유효성 검사를 수행합니다.

  • 가져오기를 수행할 자원이 존재합니다.

  • 가져오기를 수행할 각 리소스의 속성 및 구성 값은 허용되는 속성, 필수 속성 및 지원되는 속성값을 정의하는 리소스 유형 스키마를 따릅니다.

  • 필수 속성은 템플릿에서 지정됩니다. 각 리소스 유형에 대한 필수 속성은 AWS 리소스 및 속성 유형 참조에 나와 있습니다.

  • 가져오기를 수행할 리소스는 동일한 리전의 다른 스택에 속하지 않습니다.

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

중요

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

리소스 가져오기 상태 코드

이 표에서는 resource import에서 사용되는 다양한 상태 유형에 대해 설명합니다.

가져오기 작업 상태 설명

IMPORT_IN_PROGRESS

가져오기 작업이 진행 중입니다.

IMPORT_COMPLETE

를 스택의 모든 리소스에 대해 가져오기 작업이 완료되었습니다.

IMPORT_ROLLBACK_IN_PROGRESS

가져오기 롤백 작업이 이전 템플릿 구성을 롤백하는 중입니다.

IMPORT_ROLLBACK_FAILED

가져오기 롤백 작업이 실패했습니다.

IMPORT_ROLLBACK_COMPLETE

가져오기는 이전 템플릿 구성으로 롤백됩니다.

가져오기 작업 중 고려 사항

  • 가져오기가 완료된 후 후속 스택 작업을 수행하기 전에 가져오기를 수행한 리소스에 대해 드리프트 감지를 실행하는 것이 좋습니다. 드리프트 감지는 템플릿 구성이 실제 구성과 일치하는지 확인합니다. 자세한 내용은 전체 CloudFormation 스택의 드리프트 감지 단원을 참조하십시오.

  • 가져오기 작업에서는 새 리소스 생성, 리소스 삭제 또는 속성 구성 변경을 허용하지 않습니다.

  • 가져오기를 수행할 각 리소스에서 가져오기 작업이 성공하려면 DeletionPolicy 속성이 있어야 합니다. DeletionPolicy는 가능한 어떤 값으로든 설정할 수 있습니다. 가져오는 리소스에만 DeletionPolicy가 필요합니다. 이미 스택의 일부인 리소스에서는 DeletionPolicy가 필요하지 않습니다.

  • 동일한 리소스를 여러 스택으로 가져올 수 없습니다.

  • cloudformation:ImportResourceTypes IAM 정책 조건을 사용하여 가져오기 작업 중에 사용자가 작업할 수 있는 리소스 유형을 제어할 수 있습니다. 자세한 내용은 AWS CloudFormation 조건 단원을 참조하십시오.

  • CloudFormation 스택 한도는 리소스를 가져올 때 적용됩니다. 제한에 대한 자세한 내용은 CloudFormation 할당량 이해 섹션을 참조하세요.

추가적인 리소스

특정 가져오기 시나리오 해결에 초점을 맞춘 추가 지침은 다음 주제를 참조하세요.