Among Us - Yellow Crewmate 25. [AWS] 서버 구성을 자동화 해주는CloudFormation

AWS/AWS Service

25. [AWS] 서버 구성을 자동화 해주는CloudFormation

감쟈! 2021. 2. 13. 17:36

CloudFormation

cloudFormation은 미리 만든 템플릿을 이용하여 AWS 리소스 생성과 배포를 자동화 해준다.

 

템플릿 파일은 JSON 형식의 텍스트 파일이다. 이 템플릿을 사용하면 복잡하고 반복적인 작업을 자동화 할 수 있다.

 

예를 들어, 1000개의 EC2 인스턴스를 생성해야 한다면, AMI 이미지를 통해 할 수 있다.

하지만, ELB, EBS, S3 등과 함께 생성해야 할 경우에는 AMI 이미지로는 불가능하다. 이럴때 CloudFormation 템플릿을 통해 미리 구성한대로 자동 생성할 수 있다.

 

 

이렇게 CloudFormation 템플릿을 바탕으로 VPC,EC2 인스턴스 등을 구축하여 생성한 것을 CloudForamtion Stack이라고 한다.

 

 

다음은 CloudFormation 템플릿의 가장 기본적인 구조이다.

 

- Description : 템플릿의 설명

- Parameters: 템플릿으로 스택을 생성할 때 입력할 매개변수 목록

- Resource : AWS 리소스 종류와 옵션, AWS 리소스 간의 관계를 정의

- Outputs : 스택을 생성한 뒤 출력하는 값

- AWSTemplateFormatVersion : 템플릿의 버전


1. CloudFormation으로 EC2 인스턴스 생성하기

AWS에서 기본적으로 제공하는 템플릿으로 EC2 인스턴스를 생성해보자.

(아직 직접 스크립트 짜는건 너무 어렵다...... 더 열심히 공부해서 나중에는 직접 짜보도록 하자..!!!!)

 

 

아래 링크에서 AWS가 기본적으로 제공해주는 템플릿에 대해서 확인할 수 있다.

docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html

 

Services - AWS CloudFormation

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

 

 

 

1. CloudFormation 에서 'Create Stack'을 클릭해 스택을 생성해주자.

CloudFormation 스택 생성

 

 

 

2. AWS에서 기본으로 제공하는 템플릿 URL을 입력해주었다.

이 템플릿은 EC2 인스턴스를 생성하고 보안그룹에 ssh 권한을 주는 템플릿이다.

 

 

 

3. CloudFormation 스택 파라미터 설정해주자.

스택 파라미터 설정

 

 

4. EC2 인스턴스와 보안그룹이 생성되었다.

CloudFormation 스택 생성

 

 

 

 

5. EC2 인스턴스 항목으로 가보면 CloudFormation 스택에 나와있는 ID와 동일한 인스턴스가 생성된 것을 확인할 수 있고, 보안그룹 SSH 22번 포트가 허용되어 있다.

 

 

 

 

 

 

CloudFormation이 무엇인지, 기본 템플릿을 통해 EC2 인스턴스 생성하는 과정에 대해서 알아보았다.

 

CloudFormation 더 열심히 공부해서 AWS에서 제공되는 템플릿이 아니라 직접 스크립트 작성할 수 있도록 노력해야겠다.