실전! 테라폼 정복기 2편 - vpc, subnet 설정과 인프라 구축
·
AWS/테라폼(Terraform)
지금부터 실제 사이드 프로젝트에 적용시킨 테라폼 코드를 알아보자 📌 서론 테라폼을 실전에 적용하면서 많은 것을 배웠지만 주로 한국보다는 외국 블로그나 커뮤니티에 필요했던 자료가 존재했던 것 같다. 나와 같은 주니어들이 테라폼을 사용하고 싶을 때 이 글을 보고 따라 할 수 있었으면 좋겠다는 마음에 이 글을 추가적으로 작성한다. 지금부터 알아볼 테라폼 코드는 아래의 MSA 프로젝트에서 사용된 인프라를 기반으로 진행된다. Spring Boot MSA 환경에서 트랜잭션을 관리하며 스프링 이벤트/SNS/SQS를 사용하여 DB 정합성 보장하기1 나는 MSA 프로젝트에서 DB 정합성 보장을 위해 Spring Event를 다음과 같이 사용했다. 잠시 이전 글의 서론을 다시 가져왔다. 한번 읽어보자 내가 구성한 MSA ..
실전! 테라폼 정복기 1편 - 테라폼(Terraform) 모듈화
·
AWS/테라폼(Terraform)
이번 포스트에서는 테라폼의 가장 중요한 설계방법인 모듈화를 알아보자 📌 서론 내가 처음 테라폼 코드를 작성할 때는 module의 존재는 알았지만 도대체 이게 어떻게 사용되는 건지 모르겠어서 module을 사용하지 않고 하나의 tf 파일에 모든 리소스에 대한 코드를 전부 다 적었었다. 이렇게 하나의 tf 파일에 모든 리소스가 모이다 보니 리소스 수정을 하고싶을때 코드를 읽고 찾는 것이 너무 힘들었다. 그래서 조금이라도 가독성을 좋게 만들기 위해 여러 검색을 하던 도중 외국계 기술 블로거의 글을 보던 도중 테라폼 코드를 읽기 좋게 작성하려면 모듈화를 사용하라고 적혀있었고 이에 바로 모듈화를 적용시켜 보았다. 1. 테라폼의 모듈화란 무엇인가? 1-1. 테라폼의 모듈화란? 테라폼 모듈화(Modularizatio..
테라폼(Terraform) 사용 가이드 7: AutoScailingGroup과 LoadBalancer을 생성하고 연결하기
·
AWS/테라폼(Terraform)
이번 포스트에서는 테라폼으로 AutoScailing을 적용시켜 보자 📌 서론 Auto Scailing Group을 테라폼으로 사용하려면 어떻게 해야 할까? 이번 포스트를 통해 테라폼으로 ASG를 생성하고 로드 밸런서까지 연결시켜 보자 1. Auto Scailing Group이란? AWS Auto Scaling Group의 개념 AWS Auto Scaling Group (ASG)은 AWS 클라우드 환경에서 중요한 역할을 하는 서비스다. ASG를 이용하면 동일한 설정을 가진 EC2 인스턴스들을 그룹으로 묶어, 이들의 숫자를 자동으로 조절할 수 있다. 이는 애플리케이션의 부하에 따라 필요한 컴퓨팅 리소스를 유연하게 관리하는 데 도움을 준다. ASG의 작동 원리 ASG는 미리 정의된 조건에 따라 EC2 인스턴스..
테라폼(Terraform) 사용 가이드 5: variable/output(입출력 변수) 사용하기
·
AWS/테라폼(Terraform)
테라폼의 변수(variable)와 출력(output)을 사용하여 유연하게 인프라를 관리해 보자 📌 서론 저번 포스트에서 EC2 삭제까지 마무리했다. 이번 포스트에서는 아직 설명하지 않은 테라폼 파일 모듈화를 하기 위해서는 꼭 알아야 하는 variable과 output에 대해서 알아보자 이 포스트는 이전 포스트에서 EC2를 생성했던 코드(main.tf)를 그대로 사용하기에 하단의 포스트를 읽어보고 오는 것을 추천한다. 테라폼(Terraform) 사용 가이드 3: EC2 생성하기 MacOS에서 테라폼을 사용하여 EC2 인스턴스를 생성해 보자 📌 Terraform 사용을 위한 전제조건 1. Terraform CLI (1.2.0 이상)가 설치되어 있어야 한다. 2. AWS CLI가 설치되어 있어야 한다. 3. ..
테라폼(Terraform) 사용 가이드 4: 생성된 AWS EC2 인스턴스 파괴하기
·
AWS/테라폼(Terraform)
테라폼을 사용하여 생성한 EC2 인스턴스를 파괴하는 방법을 알아보자 📌 서론 이번 포스트에서는 terraform으로 생성했던 EC2 인스턴스를 제거해볼 예정이다. 이를 위해서는 테라폼을 통해 만든 EC2가 필요하다. 만약 생성하지 않았다면 이전 포스트를 통해 생성하고 오도록 하자. 테라폼(Terraform) 사용 가이드 3: EC2 생성하기 MacOS에서 테라폼을 사용하여 EC2 인스턴스를 생성해 보자 📌 Terraform 사용을 위한 전제조건 1. Terraform CLI (1.2.0 이상)가 설치되어 있어야 한다. 2. AWS CLI가 설치되어 있어야 한다. 3. AWS 계정 및 자격 curiousjinan.tistory.com 1. 테라폼 파괴 명령어 입력 (destroy) 테라폼의 파괴 명령어 입..
테라폼(Terraform) 사용 가이드 2:MacOS에 테라폼 설치하기
·
AWS/테라폼(Terraform)
이번 포스트에서는 MacOs에 테라폼을 설치해 보자 1. 테라폼 설치: URL 직접 다운로드 직접 다운로드하기 첫 번째 방법은 URL로 직접 다운로드하는 건데, 최신 버전이나 이전 버전 모두 다운로드할 수 있다. 예를 들어, curl 명령어 또는 다른로드 버튼을 통해 .zip 파일을 다운로드 받고, 압축을 풀어서 terraform 바이너리 파일을 /usr/local/bin에 옮기면 된다. Install | Terraform | HashiCorp Developer Explore Terraform product documentation, tutorials, and examples. developer.hashicorp.com 2. 테라폼 설치: Homebrew 이용 Homebrew 페이지 접속 맥 OS용 무료..
테라폼(Terraform) 사용 가이드 1: 테라폼이란?
·
AWS/테라폼(Terraform)
이번 포스트에서는 테라폼이 무엇인지 알아보자 📌 서론 MSA 프로젝트를 설계하면서 AWS 내부에 많은 서버와 DB를 띄우고 나니 매달 나오는 비용이 상당했다. 그래서 우리 팀은 필요할 때만 EC2를 생성해서 ECS클러스터와 RDS를 가동하면 돈을 아낄 수 있을 것이라고 생각했고 여러 가지 tool을 알아보던 도중 terraform을 찾아냈고 이를 적용시켰다. 그 내용을 공유하기 전에 테라폼이 무엇인지에 대해 먼저 알아보자 1. 테라폼이란 무엇인가? 테라폼이란? 테라폼(Terraform)은 HashiCorp가 개발한 오픈 소스 'Infrastructure as Code' 도구로, 클라우드 및 온프레미스 리소스의 구축, 변경, 버전 관리를 코드로 효과적으로 관리할 수 있게 한다. 테라폼은 HCL(Hashi..