Terraform 기초: 리소스 생명 주기 및 데이터 소스 관리하기
·
탐구 생활/Terraform
1. 리소스 생명 주기 (Lifecycle Rules)Terraform은 리소스를 업데이트할 때 기존 리소스를 삭제(destroy)하고 새로운 리소스를 생성(create)하는 immutable 인프라 접근 방식을 따릅니다. 그러나 모든 경우에 이러한 동작이 적합하지 않을 수 있습니다. 이를 제어하려면 lifecycle rules를 활용할 수 있습니다.1.1 create_before_destroy기존 리소스를 삭제하기 전에 새로운 리소스를 먼저 생성한다. 어떤 리소스는 다운 타임을 최소화하기 위해 이러한 조치가 필요할 것이다.resource "aws_instance" "example" { ami = "ami-123456" instance_type = "t2.micro" lifecyc..
Terraform 기초: commands
·
탐구 생활/Terraform
Terraform는 인프라를 코드로 관리하기 위한 강력한 도구이다. Terraform을 효과적으로 사용하려면 다양한 명령어를 이해하고 활용하는 것이 중요하므로 Terraform에서 자주 사용되는 명령어들과 그 활용 사례에 대해 살펴보자.주요 Terraform 명령어1. terraform initterraform init은 Terraform 프로젝트를 초기화하는 데 사용된다. 이 명령은 구성 디렉토리를 준비하고 필요한 provider 플러그인을 다운로드한다. Terraform 작업의 첫 단계로 항상 실행해야 한다.2. terraform validateterraform validate는 Terraform 구성 파일의 구문 오류를 확인한다. 이 명령은 코드를 실행하기 전에 구성 파일이 올바른지 검증하는 데 유..
Terraform 기초: State
·
탐구 생활/Terraform
Terraform를 사용할 때 중요한 개념 중 하나는 State 이다. 이번 글에서는 Terraform의 State의 역할과 중요성, 그리고 실무에서의 활용 방안에 대해 살펴보겠다.Terraform State란 무엇인가?Terraform의 State 파일은 리소스 구성과 실제 인프라 간의 매핑 정보를 저장하는 역할을 한다. 이는 Terraform이 실행 계획을 생성하고, 구성 파일과 실제 인프라 간의 불일치(Drift)를 식별하는 데 사용된다. 쉽게 말해, Terraform State 파일은 실제 세상에 존재하는 모든 리소스의 청사진(blueprint)이라고 볼 수 있다.이러한 State 는 terraform apply 가 되는순간 terraform.tfstate 파일에 json 형태로 저장이 된다.Te..
Terraform 기초: 리소스 만들어보기
·
기초 지식/Terraform
Terraform 실습Terraform 스크립트는 init -> plan -> apply 명령어 순으로 적용하여 리소스를 프로비저닝 할 수 있다.이 순서에 따라서 local device에 txt 파일을 만들어본 후 txt 파일을 업데이트 해보겠다.1. 스크립트 작성Terraform 스크립트는 이전 Terraform:HCL 기본기 에서 살펴본것과 같이 Block 단위로 Resource 와 Argument 를 명시해주면 된다.  나는 terraform-tutorial 이라는 디렉터리를 만들고 그 공간에서 실습을 진행했다.2 terraform initscript 를 적절히 작성한 후 terraform init 을 실행하면 작업공간(terraform-tutorial) 에 .terraform 디렉터리와 .terr..
Terraform 기초: HCL 기본기
·
탐구 생활/Terraform
아무리 HCL 이 쉬운 DSL 이라곤 하지만 정확히 쓰고 읽기 위해서는 최소한의 공부가 필요하다. 우선 Terraform 을 설치하는게 우선이다.1. Terraform 설치 (업그레이드)가장 좋은 방법은 공식 사이트의 설치 가이드를 보고 설치하는 것이다.나는 mac 을 이용하고 brew 를 통해 설치, 삭제, 업그레이드를 관리하는 것이 용이하므로 brew 로 설치했었다. 그 결과 버전 1.8.2 가 설치되어 있는 것을 확인할 수 있었다.$> brew list terraform# /opt/homebrew/Cellar/terraform/1.8.2/bin/terraform$> terraform version# Terraform v1.8.2# on darwin_arm64 24년 11월 17일 기준 terrafo..
Terraform 소개
·
탐구 생활/Terraform
1. Terraform1.1 Terraform 이란?Terraform은 HashiCorp에서 개발한 무료 오픈소스 IAC 도구이다. IAC 개요 및 주요 도구에서 다룬 것과 같이 주로 인프라 프로비저닝에 사용되는 툴로써, 설치 파일은 단일 바이너리로 구성돼 있어서 빠르게 설정할 수 있다.Terraform의 가장 큰 장점 중 하나는 여러 플랫폼(프라이빗 클라우드와 퍼블릭 클라우드)을 아우르는 인프라 배포가 가능하다는 거이다. 예를 들어, 온프레미스 vSphere 클러스터부터 AWS, GCP, Azure 같은 클라우드 솔루션까지 지원한다.1.2 Terraform 과 HashiCorpHashiCorp 는 클라우드 인프라를 효율적으로 관리하고 자동화하기 위한 다양한 도구를 개발하는 회사이다. HashiCorp의..