Develop/AWS

[AWS] 클라우드 구성 템플릿(CouldFormation Templates)

Gr00t 2021. 2. 13. 14:23
해당 포스팅은 A Cloud Guru 서비스에서 제공하는 예제를 포함하고 있습니다.

CloudFormation이란?

리소스 관리 시간을 줄일 수 있도록 AWS 리소스를 모델링하고 설정해서 자동으로 생성해주는 서비스

스택 작업

AWS CloudFormation은 스택을 통해 리소스를 관리한다.

스택이란

AWS 리소스를 관리할 수 있는 하나의 단위로 AWS 리소스 모음을 지칭한다. AWS 리소스를 스택에 쌓아둔 것이라고 생각하면 이해가 편할 것이다.

스택 특징

  • 스택은 리소스의 모음이라 스택이 삭제되면 리소스가 전부 삭제된다.
  • 스택을 구성하는 모든 리소스는 AWS CloudFormation Template으로 정의한다.
  • 스택을 생성, 업데이트, 삭제하면 해당하는 리소스들도 전부 생성, 업데이트, 삭제된다.
출처 : A Cloud Guru


CloudFormation을 활용해 EC2인스턴스 생성해보기

EC2 서비스로 이동

인스턴스를 생성하기 위해 보통 EC2를 사용하지만 이번엔 cloudformation을 사용할 계획이므로 키페어를 생성하기위해 잠시 EC2서비스로 이동한다.

키페어 생성

먼저 SSH 접속을 위해 키페어 탭에서 키페어를 생성해주도록 한다.

키 페어의 이름을 주고 접속할 방식에 맞는 파일 형식을 골라준다.

'키 페어 생성'을 누르면 파일을 다운로드하고 생성된 키 페어를 볼 수 있다.

CloudFormation 서비스로 이동

이제 cloudformation를 사용하기 위해서 서비스 검색을 통해 CloudFormation 서비스로 이동한다.

스택 생성 - 템플릿 선택

CloudFormation은 스택을 사용해 리소스를 관리한다. 스택은 템플릿을 기반으로 생성된다.

먼저 스택 생성 탭으로 들어가서 스택 생성을 위한 템플릿을 생성하도록 한다.

Designer에서 템플릿 생성을 클릭한다.

템플릿 생성

Designer 창으로 들어오면 아래와 같이 리소스를 선택해서 시각적으로 볼 수 있는 칸이 있고 아래쪽은 구성요소를 채울 수 있는 칸이 있다. 여기서는 샘플 템플릿을 사용할 것이므로 템플릿칸을 선택하고 템플릿을 바꿔준다.

이전 데이터는 삭제하고 샘플 템플릿의 내용을 복사해 템플릿을 채워주면 아래와 같이 시각화된 템플릿을 볼 수 있다. (안뜨면 오른쪽위에 refresh 버튼을 누르면 된다)

* AWS에서 제공하는 샘플 템플릿은 아래 링크에서 더 많이 확인할 수 있다.

샘플 템플릿
AWS CloudFormation 샘플 템플릿은 다양한 용도의 템플릿을 생성할 수 있는 방법을 보여줍니다. 예를 들어, 한 샘플 템플릿은 의 로드 밸런싱 Auto Scaling WordPress 블로그를 설명합니다. 이러한 샘플 템플릿은 고유의 템플릿을 생성하기 위한 시작 지점으로 사용하고 프로덕션 레벨 환경을 시작하는 데 사용하지 않는 것이 좋습니다.
https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html

템플릿을 완성하고 나서는 왼쪽 위에 있는 체크박스를 클릭해 템플릿이 유효한지 확인해야한다.

템플릿이 아래와 같이 유효하다고 확인이 되면 템플릿을 사용할 수 있다.

이제 체크박스 옆에 있는 클라우드 업로드 모양을 클릭해 템플릿이 적용되도록 한다.

스택 생성 - 템플릿 적용

이제 Desinger를 통해 만든 템플릿을 적용해서 스택을 생성해본다.

다음을 클릭해 넘어간다.

2단계에서는

  • 스택 이름
  • 인스턴스 유형
  • 키 페어
  • SSH 접속 IP

를 설정해주고 다음을 클릭한다.

3단계도 다음을 눌러 넘어가고 4단계에서 설정한 내용들이 잘 들어갔는지 확인한 후 다음을 눌러 넘어간다.

실행 결과 확인

스택을 생성하면 자동으로 AWS 리소스를 생성하고 실행한다.

VPC를 확인하면 아래와 같이 서브넷, 게이트웨이 등 다양한 리소스가 생성돼 인스턴스가 실행중인 것을 볼 수 있다.

실행중인 인스턴스에 mobaxterm으로 제일 처음에 만든 키 페어로 접속해보면 정상적으로 잘 접속됨을 볼 수 있다.

스택 삭제

스택은 리소스의 모음이라 스택을 삭제하면 리소스가 전부 삭제된다고 언급했었다. 실제로 그렇게 동작하는지 스택을 삭제해서 알아보도록 한다.

스택 삭제를 눌러생성한 스택을 삭제해본다.

인스턴스도 상태도 종료됨으로 바뀌는 것을 보아 스택과 리소스의 동작 관계를 확인할 수 있다.