본문 바로가기

Cloud/AWS

AWS CloudFormation으로 기존 리소스에 대한 IaC 생성하기

AWS CloudFormation(이하 CF)은 코드형 인프라로 클라우드 프로비저닝을 가속화 할 수 있도록 하는 서비스 입니다.

인프라를 전 세계로 쉽게 확장하고 계정 및 리전의 리소스를 쉽게 관리할 수 있습니다.

 

CF를 사용하면 인프라를 코드 형태인 IaC로 처리하여 AWS 및 서드 파티 리소스를 모델링 하고 프로비저닝 할 수 있습니다.

 

이제 CF의 IaC 생성기를 사용하면 아직 CF에서 관리하지 않는 계정에 프로비저닝 된 리소스를 포함한 템플릿을 생성할 수 있습니다. 이를 활용하여 기존 리소스를  CF로 가져오거나 새 계정, 새 리전에 배포할 수 있습니다.

 

사용 방법은 아래와 같습니다.

 

1. 계정 스캔

AWS 콘솔에서 CF 콘솔을 열고, IaC 생성기 선택 => 스캔 패널에서 새 스캔 시작을 선택하면 해당 계정에 프로비저닝 된 리소스와 리소스의 관계를 스캔합니다.

이때, 리소스의 양이 많으면 그 만큼 시간이 오래 걸립니다.

2. 템플릿 생성

패널에서 템플릿 생성을 선택 후 새 템플릿의 이름을 입력합니다.

삭제, 업데이트 교체 등 정책을 구성할 수 있습니다.

3. 스캔된 리소스 중 추가할 항목 선택

스캔한 리서스를 템플릿에 추가 합니다.

4. 템플릿 편집

선택한 리소스를 포함하여 템플릿을 편집 합니다.

템플릿 편집 예시 사진

5. 템플릿 생성

편집한 템플릿을 검토 후 새 템플릿을 생성합니다.

템플릿 생성 예시 사진

 

AWS CLI를 이용해서도 템플릿을 생성 할 수 있습니다.

CLI를 활용한 템플릿 생성

 

Generating templates for existing resources - AWS CloudFormation

The input list of resources can't exceed a length of 100. To list related resources for more than 100 resources, run the operation in batches of 100 and consolidate the results.

docs.aws.amazon.com

 

참고 : AWS 기술 블로그