본문 바로가기

Terraform/AWS and 테라폼: Infrastructure as20

[AWS and 테라폼: Infrastructure as Code] GITHUB로 협업하기 Terraform with Github IaC는 Infrastructure as Code 코드로써의 인프라를 이야기한다. Terraform 은 IaC 도구이며, 즉 테라폼은 코드를 수행한다. 그렇기 때문에 반드시 코드로써의 관리가 필요하며, 팀원간의 코드리뷰가 필요하다. 코드 리뷰란 팀원들끼리 서로의 코드를 점검하고, 서로의 코드를 배우는 것이다. 올바른 DevOps 문화를 만들기 위해서, 코드 리뷰를 하는 습관과 문화 그 자체로 운영하는 것은 정말 중요하다. 코드 리뷰 예제다. 보통 Pull Request 를 이용하여 팀원들끼리 리뷰를 진행한다. 코드 리뷰를 통해 변경사항을 정확히 파악해야 한다. 코드의 변경사항을 파악하고 추적하는건 정말 중요하다. 어느 시간대에 무슨 변경이 이루어졌는지를 알아야 한다.. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] FUNCTIONS 활용하기 Terraform fuction 사용하기 Terraform 을 프로그래밍 언어라 볼 수 는 없지만, 그래도 언어적 특성과 장점을 가지고 있다. 그렇기 때문에 프로그래밍처럼 기본 내장된 다양한 fuction 사용할 수 있다. 사용자는 이 함수를 이용하여 리소스를 보다 효율적으로 생산할 수 있고, 간략하게 코드를 만들 수 있다. 현재는 built-in 함수만 지원하고 있다. Functions Numeric functions String functions Collection functions Encoding functions Filesystem functions Date and Time functions Hash and Crypto functions IP Network functions Type Convers.. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] VARIABLES 활용하기 Terraform variables 사용하기 Terraform 은 HCL Syntax를 가진 언어다. 언어적 특성을 가지고 있기 때문에 당연히 변수를 정의하고 주입해서 사용할 수 있다. Variable Types string number bool Complex variable types list() set() map() object({ = , … }) tuple([, …]) 변수를 정의하기 variables.tf 변수의 정의는 .tf 파일 어느 곳에서나 정의는 가능하다. 보통 variables.tf 파일을 만들어 해당 파일에 정의한다. variable "image_id" { type = string } variable "availability_zone_names" { type = list(string) .. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] Backend 활용하기 Terraform state Terraform state는 terraform apply를 하는 경우 리소스가 생성이 되고 난 후에 terraform .tfstate라는 파일이 생성된다. 즉, 내가 실행한 “apply의 결과”를 저장해 놓은 “상태” 현재 인프라의 상태를 의마하는 것은 아니다. state는 원격 저장소인 backend에도 저장할 수 있다. Terraform Backend 란? Terraform Backend 는 Terraform의 state file을 어디에 저장을 하고, 가져올지에 대한 설정. 기본적으로는 로컬 스토리지에 저장을 하지만, 설정에 따라서 s3, consul, etcd 등 다양한 “Backend type“을 사용할 수 있다. consul은 Hashicorp의 솔루션 Terra.. 2024. 1. 21.