IaaS/퍼블릭클라우드

(AWS) CloudFormation Rollback, Nested Stack

armyost 2022. 1. 20. 13:49
728x90

Rollback이란?

CF템플릿 실행중에 Fail발생시 진행되는 프로세스로 Rollback을 수행하게 되면 동일 템플릿 내 Resource는 모두 삭제된다.

 

Stack Creation Fails 옵션(CF API)

  • Default : 모든것이 삭제(Rollback)됨 로그는 확인가능
    OnFailure=ROLLBACK
  • TroubleShoot: Rollback을 비활성화 하고 수동적으로 TroubleShooting
    OnFailure=DO_NOTHING
  • Delete: Stack 전체 삭제. 어떤것도 유지하지 않음
    OnFailure=DELETE

Nested Stack 이란?

다른 Stack의 일부로 생성된 Stack입니다. AWS::CloudFormation::Stack리소스를 사용하여 다른 스택 내에 중첩 스택을 생성합니다. 인프라가 커지다보면 동일 구성요소를 선언하는 공통패턴이 나올 수 있음. 이러한 공통 구성 요소를 구분해 해당 구성요소를 위한 전용 템플릿을 생성할 수 있음. 예를들어 서비스 마다 필요한 로드벨런서가 그러함.

 

이러한 계층구조 스택을 통해 

 

사용법

Resources:
  myStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL:
        http://s3.amazonaws.com/cloudformation-template-us-east-1/LAMP_Single_instance.template
      Parameters:
        KeyName: !Ref SSHKey
        DBName: "mydb"
        DBPassword: "password"
        DBRootPassword: "password"
        InstanceType: t2.micro
        SSHLocation: "0.0.0.0"

 


Nested Stack은 [CloudFormation]-[Stack]에도  표시되며 해당 Stack을 선택하여 개요를 보면 Nested라는 라벨이 붙어있다.