Ssoon

최고의(?) 클라우드 인프라 다이어그램 Brainboard 본문

Terraform 101 Study

최고의(?) 클라우드 인프라 다이어그램 Brainboard

구구달스 2022. 10. 25. 00:11

다이어그램을 통해 인프라를 관리 및 프로비저닝

Terraform as Diagram

  • 클라우드 시각화 및 배포 솔루션
  • Terraform 파일 또는 저장소에서 원하는 형식으로 클라우드 아키텍처 다이어그램을 자동으로 생성해줍니다.

다음을 지원하고 있다고 합니다.

  • 모든 Terraform 파일에서 가져오기
  • 모든 공개 및 비공개 리포지토리에서 가져오기
  • Azure에서 가져오기
  • AWS에서 가져오기 — 이 기능은 엔터프라이즈 플랜으로 제한됩니다.

다음의 웹사이트에 가입한 후 트라이얼 버전으로 21일 사용이 가능합니다.

https://www.brainboard.co/

 

Brainboard - Design, Deploy and Manage your Multi-Cloud

Brainboard is a cloud visualization and deployment solution that helps organizations manage and understand their cloud environment. Start free for 21 days.

www.brainboard.co

간단하게 사용해 본 결과 모든 테라폼의 코드들을 완벽하게 자동생성 해 주는 것은 아니지만 대부분의 중요 리소스들을 다룰수 있으며 먼저 다이어그램을 통해 인프라를 생성하고 테라폼 코드를 자동 생성해 주기 때문에 테라폼 스터디에 아주 좋은 솔루션이라고 생각됩니다. 아무래도 딱딱한 텍스트 보다는 이미지와 같이 하면 이해도 빨리 되지 않을까 합니다.

(# 제 인터넷 문제인지는 몰라도 다이어그램 생성할 때 버벅임이 발생하네요 ㅎ) 

 

Brainboard 로 아래와 같은 간단한 aws network 를 구성해 보겠습니다.

  • 아래 의 다이어그램을 생성하면서 자동으로 테라폼 코드가 생성되는 것을 확인할 수 있습니다.

0. 먼저 provider 의 credential 을 설정합니다.

생성된 Credential 을 확인할 수 있습니다.

1. Region 을 만들어 보겠습니다.

  • 화면의 왼쪽 Areas > Region 을 선택하고 드래그 하면 왼쪽화면에 점선의 Region 표시가 나타나면서
  • 오른쪽에 설정화면이 나타납니다.
  • Resourece name 은 region
  • Region 은 Asia Pacific(Seoul) 을 선택하고
  • X 을 눌러 설정창을 닫아줍니다.

  • 오른쪽 화면 위에서 provide.tf 을 선택하면
  • 자동으로 생성된 테라폼 코드를 확인 할 수 있습니다.

2. VPC 를 만들어 보겠습니다.

  • 오른쪽 메뉴에서 Network > VPC > VPC 를 선택하여 VPC 설정을 완료합니다.
  • Resourece name 은 default_vpc
  • Advanced configuration 을 선택하여 
  • Cidr Block 을 variable 변수값으로 설정합니다.
  • Enable DNS Hostnames 와 Enable DNS Support를 활성화 합니다.

  • 자동생성된 테라폼 코드를 확인합니다.

3. 앞에서 VPC를 설정할 때 선언한 Cidr_block 의 변수를 설정합니다

화면 아래 왼쪽에 INPUT 을 클릭하면 Variables & locals 을 설정할 수 있는 창이 나타납니다.

창에서 앞서 만든 vpc_cidr_block 을 클릭하고 화면 오른쪽 창에서 type (string) 값과

value (10.0.0.0/16) 을 입력하고 UPDATE 를 클릭합니다.

variable.tf 와 terraform.tfvars 에서 설정 값을 확인할 수 있습니다.

4. Internet Gateway 를 생성합니다.

  • 자동생성된 테라폼 코드를 확인합니다.

5. Route Table 을 생성합니다.

  • Resource name 을 route_table
  • vpc.id 는 앞서 생성한 vpc id를 선택

    • Cidr Block 은 0.0.0.0/0 
    • Gateway_id 는 앞서 생성한 aws_internet_gateway 를 선택합니다.

 

 

6. AZ 와 SUBNET을 생성합니다.

  • az-a 를 생성합니다.

  • 동일하게 az-c 도 설정합니다.

 

  • public subnet 을 설정합니다.

  • 앞서 선언한 var.public_subnet_cidr variable 값을 설정합니다.
  • list(string) 
  • values 는 ["10.0.0.0/24","10.0.1.0/24"]

  • 자동생성된 테라폼 코드를 확인합니다.

  • variable.tf 와 terraform.tfvars 에서 설정 값을 확인할 수 있습니다.

7. Route Table 과 Subnet 을 연결합니다.

  • 자동생성된 테라폼 코드를 확인 할 수 있습니다.

8. EIP 와 NAT Gateway를 생성합니다.

  • EIP 를 생성합니다.

  • NAT Gateway 를 생성합니다.

  • 자동으로 생성된 테라폼 코드를 확인 할 수 있습니다.

9. Private Subnet 를 생성합니다.

  • 변수를 설정합니다.
  • list(string) 
  • values 는 ["10.0.2.0/24","10.0.3.0/24"]

  • 자동생성된 테라폼 코드를 확인 합니다.

 

10. 지금까지 작성한 테라폼 코드를 확인하고 PLAN 을 해봅니다.

 

Comments