테라폼을 이용해서 AWS 클라우드 아키텍처 설계하기 - 1

xgro·2022년 6월 28일
0

Terraform

목록 보기
2/10

📌 개요

테라폼을 이용해서 AWS 클라우드 아키텍처를 구현한다.

👉 목표

✅ STEP 1: 자습서: DB 인스턴스에 사용할 Amazon VPC 생성

  1. VPC 및 서브넷 생성
    • 프라이빗 서브넷과 퍼블릭 서브넷이 각각 두개, 총 네개가 있어야 합니다.
  2. VPC 보안 그룹 생성
    • 퍼블릭 웹 서버가 사용할 VPC 보안 그룹을 만들어야 합니다.
    • 프라이빗 DB 웹 서버가 사용할 VPC 보안 그룹을 만들어야 합니다.
  3. DB 서브넷 그룹 생성
    • RDS 인스턴스가 사용할 VPC 서브넷 그룹을 만들어야 합니다.

✅ STEP 2: EC2 인스턴스 생성

만들어야 하는 사양은 다음과 같습니다.

  • AMI: Ubuntu Server 18
  • 인스턴스 타입: t2.micro
  • 사용자 데이터
    #!/bin/bash
    echo "Hello, World" > index.html
    nohup busybox httpd -f -p ${var.server_port} &
  • 키 페어: 수동으로 만들고 EC2에 할당합니다.

✅ STEP 3: 자습서: DB 인스턴스 생성

  • 자습서에 표시된 사양대로 RDS 인스턴스를 생성합니다.

✅ STEP 4: 애플리케이션 로드 밸런서 및 Auto Scaling Group 적용

  • Auto Scaling Group은 최소 2개, 최대 10개로 설정합니다.

👉 순서

아래와 같은 순서로 하나씩 구축해본다.

  • Provider Version
  • VPC
  • Subnet
  • Internet Gateway
  • Route table
  • Security groups
  • EC2
  • RDS
  • Application loadbalancer
  • AutoScaling group

👉 디렉토리 구조

테라폼은 실행시 현재 디렉토리에 있는 모든 tf파일을 참조한다.
중복되는 내용이 없을 경우 리소스 별로 분리하면 관리의 편의성을 증대할 수 있다.

├ alb.tf
├ asg.tf
├ ec2.tf
├ igw.tf
├ rds.tf
├ route.tf
├ sg.tf
├ subnet.tf
├ version.tf
└ vpc.tf

profile
안녕하세요! DevOps 엔지니어 이재찬입니다. 블로그에 대한 피드백은 언제나 환영합니다! 기술, 개발, 운영에 관한 다양한 주제로 함께 나누며, 더 나은 협업과 효율적인 개발 환경을 만드는 과정에 대해 인사이트를 나누고 싶습니다. 함께 여행하는 기분으로, 즐겁게 읽어주시면 감사하겠습니다! 🚀

0개의 댓글