프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

반응형

 

 

Cloud Formation

리전에 장애가 발생한다면, 서비스를 GUI 콘솔로 하나하나 다시 생성하는 것은 상당히 긴 시간이 걸린다. 

따라서 인프라 세팅을 IaC와 같은 템플릿 코드화 해서, 장애 발생 시 해당 코드를 그대로 실행할 수 있도록 세팅하도록 해야 한다.

보통 Terraform과 같은 서드 파티를 사용하지만, AWS에서 지원하는 Cloud Formation을 사용할 수도 있다.

 

 

 

이러한 IaC의 장점은 다음과 같다.

 

1. 형상 관리가 편리하다.

형상 관리로 이전 버전을 저장하고 수정한다.

변경 코드를 실행하면, 변경된 내용들만 그대로 적용된다.

 

2. 테스트 환경 세팅

테스트 환경을 프로덕션 환경과 똑같이 세팅하고, 테스팅 후 지우기에 편리하다.

 

3. 장애 대응에서 빛을 발한다.

위에서 언급한 것처럼, 리전이 다운되었을때 근처 리전에 바로 실행해서 동일한 서비스 세팅이 가능하다.

 

 

서비스를 바로 실행해 주는 Beanstalck도 cloud formation을 통해 생성된다고 한다.

 

 

 

구성 요소

 

Cloud Formation 템플릿

 Yaml이나 Json으로 작성된 코드

최근에는 Json보단 Yaml을 많이 사용한다.

코드는 당연히 분류를 진행해서 다른 코드가 import를 통해 쓸 수 있게 만들 수 있다.

 

Stack

코드에 의해 생성된 자원들의 그룹

 

 

 

 

 

 

CloudFormation Yaml 문법

 

VPC 생성

 

 

 

생성된 VPC

 

 

 

 

Internet Gateway 생성

 

 

 

인터넷 게이트웨이는 AWS 측에서 scalin out, 이중화로 고가용성을 제공한다. 또한 대역폭 문제도 발생하지 않는다.

따라서 유형이 별도로 존재하지 않으므로, 바로 생성해 준다.

 

생성된 IGW

 

 

 

Public subnet 생성 후 IGW 연결

 

 

 

 

 

결과 설정

 

 

 

 

 

 

 

CloudFormation 스택 생성

 

스택 생성에 템플릿 코드를 업로드해서 생성이 가능하다.

 

 

기본적인 VPC 네트워크를 세팅하는 yaml 코드를 업로드해보자.

 

 

IP가 하드코딩 되어있어서 파라미터를 입력하지 않는다.

입력을 받도록 만들면, 아래의 파라미터 창에서 입력을 해주어 세팅할 수 있다.

 

 

 

이렇게 생성하면 금방 모든 자원이 세팅된다.

 

 

 

 

 

리소스를 확인해 보면, 기본적인 VPC와 Public Subnet이 세팅된다.

 

 

 

 

 

 

 

업데이트 진행하기

 

업데이트로 subnet을 추가하는 문법을 추가하면, 수정된 리소스에 한에서만 생성/수정이 진행된다.

 

 

 

 

 

 

 

 

 

 

CloudFormation Desiner확인하기

우리가 생성한 리소스들이 어떻게 결합되고 있는지 GUI로 제공하기도 한다.

 

 

각각의 compoment의 정보도 확인된다.

 

 

 

 

 

 

아무래도 Yaml는 개발자 친숙하지 않기 때문에 프로그래밍 언어로도 IaC를 지원하는 CDK도 존재한다.

 

https://docs.aws.amazon.com/ko_kr/cdk/v2/guide/home.html

 

 

 

또는 이러한 yaml 생성을 도와주는 오픈소스인, AWS 솔루션 라이브러리도 제공이 된다.

https://aws.amazon.com/ko/solutions/?awsm.page-featured-solutions-homepage=3

 

AWS Solutions Library | Amazon Web Services | AWS

오늘날 조직은 비즈니스 과제를 신속하게 해결하기 위해 검증된 솔루션과 아키텍처 지침을 찾고 있습니다. 고객이 기성 배포 아키텍처 또는 사용자 지정 가능한 아키텍처 중 무엇을 선호하든,

aws.amazon.com

(하나를 확인해 보니 yaml이 만 줄 넘는다..)

 

 

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함