terraform
4 posts
03. Terraform - AWS VPC, Subnet 생성

Terraform 앞으로 우리가 Terraform으로 만들 인프라 아키텍처를 참고해서 코드로 구현하는 걸 목표!!! 또 한, Terraform AWS Resource Document를 활용하여 resource에 포함된 옵션들을 살펴보자! (앞으로 이 Document랑 친해져야합니다..) https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources 3-0. 디렉토리 생성 디렉토리 밑에 디렉토리를 만들 후 파일을 만듭니다! 3-1. Provider.tf 설정 리소스를 생성하기 위해서는 IAM Key가 필요하다. Terraform에서는 Key를 파일에 하는 방법도 있다. 위에서 만든 디렉토리 아래 파일을 만들어서 Key를 넣어주자 3-2. VPC 생성 VPC에 생성에 필요한 소스는 아래 Terraform document 에서 볼 수 있다. https://registry.terraform.io/p…

02. Terraform - 개발환경 구축하기

구성 전에.. Terraform를 사용하기전에 개발환경부터 구축해야한다. 보통 로컬PC에 구성해서 사용하지만, 본인은 를 활용해서 개발서버(?)를 구성했다. , 의 유출 방지 및 코드 저장용으로 사용하고 있다! Cloud9도 EC2이기 때문에 Role부여해서 key를 하드코딩하지 않고 사용 할 수 있다! 앞으로는 기준으로 작성하려고 한다! AWS Cloud9란? AWS 서비스로 제공되는 Web IDE이다. 기본적으로 AWS CLI, Python, Node.js 등의 개발언어가 기본제공(?)된다. AWS Cloud9 소개 : https://aws.amazon.com/ko/cloud9/ 2-0. AWS Cloud9 구축 2-1. AWS Cloud9 구축하기 AWS Console에 Login 후에 검색하고 서비스에 들어간다. 서비스에 접근하면 오른쪽 클릭하자 환경의 이름과 설명을 넣어주는데 내가 원하는대로 넣어준 후 다음으로 넘어가게 된다면 가 나오는데 아래와 같이 셋팅하…

01. Terraform - 동작 과정

Terraform 동작하는 과정 Terraform은 사용자가 작성한 코드를 각 CSP(Cloud Solution Provide)들의 API가 읽을 수 있도록 변환하고 코드에 이상이 없는지 계획를 실행하고 실제 사용자 계정에 인프라를 적용을 한다. 여기서 중요한 점은 API에 접근 할 수 있는지가 중요하다. 간혹 Terraform개발 서버(?)를 Cloud Private 환경에 구성했을 경우 Init과정이 되지 않는다. (Plan과 Apply는 된다) - Flow 코드를 작성**(Write)하고 terraform이 디렉토리를 보고 초기화(Init)하고 계획을 실행(Plan)하고 인프라 적용(Apply)**한다. 1-1. Write(작성) 실제 프로비저닝 하기 위해서는 코드 작성이 필요하고 Terraform의 특징으로는 Yaml과 같이 와 형태라서 작성하기 편하다. 아래 코드만 봐도 와 형태로 이루어져 있어서 한눈에 알아볼수 있다. (사실 module, variable, lo…

00. 테라폼(Terraform)이 뭔데?

테라폼이 먼데이 테라폼을 만났을때 내가 AWS SA 포지션으로 입사한지 얼마 안되었을때 Terraform를 알게 되었다. 코드로 인프라를 관리한다고 하더라.. 근데 본인은 코드(Code)와 친한 편이 아니라 간편하게 UI에서 “클릭”으로 만드는게 더 쉬웠고, 사실 AWS UI,CLI 등 일단 있는거 부터 잘 다뤄야 코드로 표현해서 구축 하는게 맞다고 봤다.. (사실 어려워서 배우기 힘들었던건 비밀..) 정의 테라폼이란 IaC(Infrastructure as Code)로 코드로 인프라를 관리하고 프로비저닝한다고 한다. AWS뿐만이 아니라 GCP,Azure,Kubenetes 등 여러 인프라를 코드로 구축 할 수 있다. 우리가 EC2를 만들기 위해 VPC, Subnet, IGW, NAT Gateway, Security Groups 등등 클릭하면서 설정해야하는 방면 Terraform에서는 간단한 코드로 배포 할 수 있다. 예제코드 (VPC 생성) Terraform Code로 배포 “만”…