안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS CloudFormation에서 스택을 업데이트하는 직접 업데이트, 변경 세트 생성의 차이점에 대해서 정리해 봤습니다.
스택을 업데이트할 수 있는 방법
AWS CloudFormation에서는 스택을 업데이트할 수 있는 두 가지 방법을 제공합니다.
- 직접 업데이트
- 변경 세트 생성 및 실행
스택을 직접 업데이트하는 경우 AWS CloudFormation에서 즉시 해당 변경 사항을 배포합니다.
변경 세트를 사용하면 AWS CloudFormation에서 스택에 대해 변경한 사항을 미리 보고 이러한 변경 사항을 적용할지 여부를 결정할 수 있습니다.
직접 업데이트를 통한 스택 업데이트
테스트를 위해 다음 파라미터 값으로 VPC를 생성했습니다.
VPC를 제외하고 서브넷은 다음과 같이 CIDR를 수정하고 스택 업데이트를 진행해 보겠습니다.
- 10.0.13.0/24
- 10.0.14.0/24
- 10.0.23.0/24
- 10.0.24.0/24
업데이트할 스택을 선택하고「업데이트」를 클릭합니다.
스택 업데이트의 경우 아래 3가지를 이용해 업데이트를 할 수 있습니다.
- 현재 템플릿 사용
- 현재 템플릿 교체
- Designer에서 템플릿 편집
현재 템플릿 사용의 경우, 현재 템플릿에서 설정된 파라미터 값을 수정해서 바로 업데이트를 적용할 수 있습니다.
현재 템플릿 교체의 경우 CloudFormation 스택을 생성할 때와 동일하게, json, yml 파일을 업로드해서 스택을 업데이트할 수 있습니다.
Designer에서 템플릿 편집의 경우 AWS CloudFormation Designer를 사용하여 간단한 끌어서 놓기 인터페이스로 그래픽 방식으로 스택을 설계합니다.
스택을 생성하기 전, 변경 사항을 통해 어떤 작업이 업데이트 될 건지 확인할 수 있습니다.
곧 바로 업데이트가 진행되며, 이벤트를 통해 업데이트의 성공 유무를 확인할 수 있습니다.
변경 세트 생성을 통한 업데이트
업데이트할 스택을 선택하고「스택 작업」→「현재 스택에 대한 변경 세트 만들기」를 클릭합니다.
템플릿 준비에 대해서는 직접 업데이트와 동일합니다.
스택 세부 정보 지정에서는 변경 세트의 이름과 설명을 입력합니다.
직접 업데이트에서는 변경 세트 미리보기를 통해 어떤 리소스가 업데이트 될 건지 확인할 수 있었지만, 변경 세트 생성의 경우「전송」버튼을 클릭한 다음 실시간으로 업데이트 진행 상황을 확인할 수 있습니다.
※ 실제 업데이트가 진행 되는 것이 아닌, 변경 세트를 통해 실행 중인 리소스에 미치는 영향을 파악할 수 있도록 합니다.
실시간으로 변경 세트 업데이트 진행 상황을 확인할 수 있습니다.
생성한 변경 세트에 문제가 없다는 위와 같은 메시지가 표시됩니다.
이어서 현재 리소스에 적용하고자 할 경우「변경 세트 실행」을 클릭합니다.
마지막으로「모든 스택 리소스 롤백」을 선택하고 변경 세트 실행을 클릭하면 수정한 파라미터 값으로 리소스가 수정되는 것을 확인할 수 있습니다.
직접 업데이트의 경우 변경 사항을 통해 어떤 작업이 업데이트 될 건지 확인하, 곧 바로 스택 업데이트가 진행되는 반면, 변경 세트를 생성할 경우, 변경 세트를 통해 실행 중인 리소스에 미치는 영향을 파악하여 스택을 업데이트할지 말지 결정할 수 있습니다.
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !