Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

AWS CloudFormation 을 통한 RDS instance 생성 예시 본문

AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식

AWS CloudFormation 을 통한 RDS instance 생성 예시

`O` 2024. 5. 24. 15:36
728x90
반응형

해당 페이지에서는 AWS CloudForamtion 서비스를 통하여 RDS instance 를 생성하는 예시를 다룬다.

 

이 페이지는 아래의 이전 게시글 및 관련 유튜브 영상들과 관련되어 있다.

 

[1]

2024.05.23 - [AWS 및 클라우드 지식/DB 이외 AWS 서비스, 클라우드 지식] - AWS CloudFormation 서비스 개요 및 의의

 

[2] https://www.youtube.com/watch?v=J4krWr3CoUo

 

[3] https://www.youtube.com/watch?v=h73xPAwffec

 

 

AWS CloudFormation 를 통한 RDS 생성 과정 및 순서

 

[1] 에서 언급했던 것 처럼, 먼저 Cloudformation 에서 RDS Instance 를 생성하려면 사용자가 YAML 파일을 생성해야 한다.

사용자의 숙련도, 이를 사용하려는 조직의 기술 수준, 규정에 따라 YAML 파일의 복잡성이 달라질 수 있다. 이 페이지에서는 [2] 와 같이 기본적인 옵션 들로만 YAML 파일에 작성하여 RDS 를 생성하는 예시를 공유한다.

 

- 먼저 아래와 같이 YAML 파일을 작성한다. YAML 은 공백구분에 매우 민감하고, 공백구분이 명확하지 않을 시 CloudFormation 에서도 에러를 발생시키기에 이를 주의하도록 한다. 또한, AWS Document 또는 외부에 있는 template 사례를 그대로 복사 붙이기를 하여 사용 전, 직접 이를 작성하면서 YAML 에 먼저 적응 해 볼 것을 권장한다.

 

그리고, DBInstanceClass 등은 현재 지원이 되는 Instance Class 만 정상적으로 인식이 되므로 이를 작성하는 시점에 Instance Class 이외에 지원이 되는 서비스 세부 사항 등을 미리 인지하고 기입 및 이후 수정하도록 한다.

 

버전은 명시하지 않을 시, 현재 AWS 에서 설정된 권장버전으로 자동 선택되며 VPC 등도 default 등을 따른다.

 

출처 : 본인 테스트 화면

 

- YAML 파일이 작성 완료되면 CloudFormation 에서 우측 Create stack 을 누르거나 좌측 Stacks 옵션에서 Create 메뉴를 통해 stack 을 생성하도록 한다. 

 

출처 : 본인 테스트 화면

 

- Create stack 을 통해 다음 메뉴로 들어오면 template 을 생성 할지 또는 기존 template 을 가져올 지 선택 할 수 있다.

여기서는 template 을 직접 만들었기에 아래와 같은 설정으로 template 을 선택한다. (Choose file 로 저장한 YAML 파일을 그대로 가져온다.)

 

출처 : 본인 테스트 화면

 

- 그 후, YAML 파일에서 사용자가 입력하도록 설정된 항목들이 나오는 것을 볼 수 있다.

여기서 stack, DB명, admin 계정 P/W, admin 계정명을 설정한다. 이 때, admin 계정명은 MySQL 기준으로 RDS 생성때와 같이 mysql 로 설정할 수 없음에 주의하자. (이 단계에서 설정이 가능해도 이후 단계에서 instance 생성 시 에러가 발생한다.) 설정이 완료되면 Next 를 클릭한다.

 

출처 : 본인 테스트 화면

 

- 그 다음 단계에서는 이 stack 을 작동 시, 에러가 발생하면 어떻게 CloudWatch 등으로 알림을 줄지, 그리고 Rollback 은 어떻게 진행 할지 등을 설정 할 수 있다. 이 예시는 instance 기본 생성 예시를 다루기에 추가 옵션을 설정하지 않고 다음 단계로 넘어간다. (화면 우측 하단 Next 클릭)

 

출처 : 본인 테스트 화면

 

- 그 다음은 사용자가 설정한 세팅을 종합적으로 최종확인 할 수 있다. 이상 유무를 확인 후 Next 를 클릭한다.

 

출처 : 본인 테스트 화면

 

- 그러면 아래화면과 같이 In Progress 로 정상적으로 instance 가 생성되기 시작한다.

 

출처 : 본인 테스트 화면

 

- 만일 YAML 파일에서 설정이 잘못되었거나 위의 stack parameter 에서 설정된 값이 잘못 인식될 , 아래와 같은 error 화면이 나온다. , 우측 Status reason 에서 무엇이 잘못되었는지 파악하자.

(필자는 , AllocatedStorage 잘못 입력해서 오류가 발생했다.)

 

출처 : 본인 테스트 화면

 

- Instance 생성이 완료되면 아래와 같이 Complete 상태로 전환되며, 이 때, RDS console 에서 새로 생성 된 instance 를 확인한다.

출처 : 본인 테스트 화면
출처 : 본인 테스트 화면

 

- 처음 YAML 을 생성 때, 해당 instance 는 public 으로 접속을 허용했기에 바로 아래와 같이 접속 테스트도 해 볼 수 있다.

 

출처 : 본인 테스트 화면

 

이와 같이 CloudFormation 으로 특정 옵션만 사용자가 입력하도록 하여 instance 를 생성할 수 있다. 여기에 실무 수준으로 나아가서 더 자세한 옵션과 다른 서비스들을 융합하려면 [3] 을 참조하여 AWS 에서 제공하는 기본 template 을 받은 후 이를 기반으로 적용을 해 나가면 된다. 실제로 [3] 은 RDS console 에서 DB instance 를 생성시 사용자가 설정 해 줘야 하는 옵션들이 무엇이고 이 사항들이 CloudFormation 에서 어떤 문법으로 적용되는지를 보여주면서 우리가 어떻게 template 을 참조하여 만들어야 하는지를 설명 해 준다.

반응형
Comments