반응형

CloudFormation

 

CloudFormation은 기본적으로 API 래퍼입니다. AWS 관리 콘에서 EC2 인스턴스를 생성하면 EC2 서비스에 대한 API 호출이 시작됩니다. 마법사를 통해 입력하는 정보는 파라미터로 전달됩니다.

 

CloudFormation은 이러한 API를 사용합니다. AWS 관리 콘솔에서와 같이, CloudFormation 템플릿에서 정의하는 리소스가 AWS 서비스로 전송되는 API 호출로 변환됩니다. CloudFormation은 종속성과 관계를 관리합니다.

 

원하는 코드 편집기를 사용하여 CloudFormation 템플릿을 작성한 후 GitHub 또는 CodeCommit 같은 버전 관리 시스템에 체크인합니다. 그리고 배포 전에 파일을 검토합니다.

 

CloudFormation은 모든 AWS 리전에서 사용 가능하며, 사용하는 리소스에 대해서만 요금을 지불합니다.

 

CloudFormation 템플릿과 관련하여 추가로 확인해야 하는 사항은 다음과 같습니다.

  • Git, Subversion(SVN) 등 선택한 버전 제어 시스템을 사용하여 CloudFormation 템플릿을 관리할 수 있습니다.
  • JSON 템플릿 파일에서 전체 애플리케이션 스택(애플리케이션에 필요한 모든 리소스)을 정의합니다.
  • 템플릿에 대한 런타임 파라미터를 정의합니다(EC2 인스턴스 크기, EC2 키 페어 등).
  • CloudFormation 관리 범위 외부에서 AWS 리소스를 생성한 경우 리소스 가져오기를 사용하여 해당 기존 리소스를 CloudFormation 관리 범위 내로 가져올 수 있습니다.

YAML 형식 CloudFormation 템플릿은 기존 JSON 서식 템플릿과 같은 구조를 따르며 동일 기능을 모두 지원합니다.

 

스택

스택의 모든 리소스는 해당 스택의 CloudFormation 템플릿을 통해 정의됩니다. 스택을 생성, 업데이트 또는 삭제하여 리소스 모음을 관리할 수 있습니다. 예를 들어 웹 서버, DB, 네트워킹 규칙 등 웹 애플리케이션을 실행하는 데 필요한 모든 리소스를 포함할 수 있습니다. 더 이상 웹 애플리케이션이 필요하지 않은 경우 스택을 삭제할 수 있습니다. 그러면 관린 리소스가 모두 삭제됩니다.

 

CloudFormation은 스택 리소스를 하나의 단위로 취급합니다. 스택이 생성 또는 삭제되려면 모든 리소스가 성공적으로 생성 삭제 되어야 합니다. 리소스를 생성할 수 없는 경우 CloudFormation은 모든 리소스가 생성될 때까지 스택을 롤백합니다. 리소스를 삭제할 수 없는 경우 CloudFormation은 전체 스택이 성공적으로 삭제될 수 있을 때까지 나머지 리소슨느 유지됩니다.

 

스택 설정이나 스택의 리소스를 변경해야 하는 경우 스택을 삭제하고 새로 생성하는 대신 스택을 업데이트합니다. 실행 중인 스택을 변경하려면 수정된 템플릿이나 새 입력 파라미터 값 중 하나 또는 두 가지를 모두 제공하여 변경 내용을 제출합니다. 그러면 CloudFormation은 스택을 제출한 변경 사항과 비교하여 변경 세트를 생성합니다.

 

사용 설명서

 

여러 템플릿 사용

계층형 아키텍처에서는 스택이 여러 수평 계층으로 구성됩니다. 각 계층은 중첩 구축됩니다. 각 계층은 바로 하위 계층에 대한 종속성을 가집니다. 각 계층에 하나 이상의 스택을 포함할 수 있지만, 각 계층 내의 스택은 수명 주기 및 소유권이 유사한 AWS 리소스를 포함해야 합니다.

 

모범 사례

반응형