Terraform 9

[Terraform] Helm 관리

개요처음 Terraform을 공부할 때는 클라우드 인프라 배포 위주로 공부했는데, 최근에는 K8s Helm 배포도 지원하고 있다는 것을 알게 되었다. 배포 방법을 적어둔다. 프로바이더URL : https://registry.terraform.io/providers/hashicorp/helm/latest Terraform Registry registry.terraform.io문서 : https://registry.terraform.io/providers/hashicorp/helm/latest/docsHelm 프로바이더는 HashiCorp에 의해 제공되며, 테라폼을 통해 쿠버네티스 클러스터에 Helm 차트를 관리할 수 있도록 도와준다. 사용프로바이더 자체는 아래와 같이 기재하여 사용하면 된다. terra..

Terraform 2025.12.15

[Terraform] 사용 provider/모듈 버전 확인하기

개요테라폼을 많이 써보진 않았지만, provider나 module의 버전에 따라 제공되는 모듈이나 리소스 변경이 제법 있는 것 같다. 때문에 공식 문서를 참고하기 위해서는 현재 테라폼 코드에서 사용하고 있는 provider, 모듈의 버전이 정확히 어느 버전인지 알 필요가 있다.이번 글은 테라폼 코드에서 사용하고 있는 provider나 모듈의 버전을 확인하는 방법을 정리한다. provider 버전terraform version 명령어를 사용하면 설치된 테라폼 버전과 함께 provider 정보를 확인할 수 있다.terraform version또는 .terraform.lock.hcl 파일에서 확인할 수도 있다. modules 버전terraform init을 수행하면 .terraform 디렉터리 내 modu..

Terraform 2025.11.27

[Terraform] LocalStack 연동

개요Terraform 학습을 위한 테스트를 진행하고 싶은데, 보통 Terraform 튜토리얼은 AWS 등의 CSP를 활용하고 있어 테스트 발생했다. (프리티어를 사용하면 되지만, 프리티어 계정을 계속 만드는 것도 번거로운 상황이었다.) 때문에 AWS 에뮬레이션 서비스인 LocalStack과 Terraform을 연동해 학습 환경을 구성해보고자 한다. AWS provider2025.10.28-[LocalStack] AWS - 사용 설정에서 알아봤지만, AWS CLI 수행 요청을 LocalStack으로 보낼 때에는 AWS 엔드포인트를 변경했었다. Terraform에서도 비슷하게 AWS provider의 인증 정보와 엔드포인트를 변경함으로써 Terraform 적용 요청을 AWS가 아닌 Localstack으로 ..

Terraform 2025.11.13

[Terraform] 리소스 수정 및 삭제

개요2025.11.04-[Terraform] AWS EC2 생성에서 Terraform으로 Ec2 인스턴스를 생성해 봤는데, 이번 글에서는 생성한 인프라 리소스를 수정하고 삭제하는 과정을 다뤄보고자 한다. 리소스 수정리소스를 수정하면서 관리 편의성을 높이고자 EC2 인스턴스의 이름과 타입을 변수로 받는 variables.tf라는 파일을 작성했다.variable "instance_name" { description = "Value of the EC2 instance's Name tag." type = string default = "learn-terraform"}variable "instance_type" { description = "The EC2 instance's type...

Terraform 2025.11.12

[Terraform] AWS EC2 생성

개요2025.11.03-[Terraform] Modules까지 테라폼 구성 파일에 대한 요소를 살펴보았는데, 이번 글에서는 실제로 테라폼을 사용해 인프라를 생성하고 관리하고 삭제하는 일련의 과정을 살펴보고자 한다.인프라 생성은 실제 클라우드 환경이 아닌 AWS 에뮬레이션 환경인 LocalStack을 활용한다. 테라폼 작업 공간 및 파일 작성작업 공간 생성먼저 테라폼 작업 공간이 될 디렉터리를 하나 만들어준다.mkdir learn-terraform-get-started-awscd learn-terraform-get-started-aws 테라폼 구성 파일 작성작업 공간에 terraform 블록을 포함하는 terraform.tf를 작성한다. AWS EC2를 생성해 볼 예정이기 때문에 https://regi..

Terraform 2025.11.07

[Terraform] Modules

개요2025.10.31-[Terraform] 변수와 Output에서 Terraform 코드를 보다 동적으로 구성할 수 있게 하는 변수와 Output을 살펴보았다. 이번 글에서도 비슷한 목적을 위한 module 개념을 적어둔다. ModulesTerraform에서의 Modules란 재사용할 수 있는 구성 세트를 뜻하는데, 여러 리소스와 데이터 소스를 포함한 인프라 배포를 일관성 있게 관리할 수 있게 한다. 다른 프로그래밍과 마찬가지로 재사용성을 위한 개념이다. Provider와 동일하게 테라폼 레지스트리에서 제공하고 있으므로 제공되는 모듈을 사용할 수 있고, 자체적인 모듈을 생성해 공유할 수도 있다. 아래 예시는 두 개의 퍼블릭 서브넷과 두 개의 프라이빗 서브넷을 포함하는 VPC를 정의한다.module "..

Terraform 2025.11.06

[Terraform] 변수와 Output

개요2025.10.30-[Terraform] 구성 파일에서 Terraform의 주요 구성 파일과 요소를 살펴봤다. 이번 글에서는 Terraform 코드를 보다 동적으로 구성할 수 있게 하는 변수와 Output에 대해 적어둔다. 변수변수는 환경 변수, 명령줄 변수, 디스크 내 파일 등 다양한 방법으로 설정할 수 있는데, 선언은 아래와 같이 variable 블록을 사용하여 할 수 있다. 변수를 선언할 때 변수의 기본값을 설정할 수 있고, terraform를 적용할 때 변수가 지정되지 않으면 기본값을 사용한다.variable "instance_name" { description = "Value of the EC2 instance's Name tag." type = string default..

Terraform 2025.11.05

[Terraform] 구성 파일

개요2025.10.29-Terraform 이란? 에서 테라폼에 대해서 간단히 알아보고 설치까지 해보았다. 그리고 이후에는 실제로 테라폼을 작성하고 적용해 볼 단계이다. 이번 글에서는 테라폼 파일을 구성하는 요소에 대해 알아본다. terraform 블록Terraform 워크스페이스에는 워크스페이스를 구성하는 요소를 정의하는 terraform 블록이 필요하다. terraform 블록은 인프라를 프로비저닝 하는 데 사용할 테라폼 버전과 provider를 포함한다.terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.92" } } required_version = ">= 1.2"} ..

Terraform 2025.11.04

Terraform 이란?

개요최근 업무 환경의 인프라에 대해서 듣는 시간이 있었는데, 테라폼으로 인프라 환경을 관리하고 있었다. 앞으로 테라폼을 통해 인프라 관리할 일이 생길 예정으로 보여 학습을 해두려고 한다. Terraform클라우드 및 온프레미스 리소스를 안전하고 효율적으로 빌드, 변경, 버전 관리할 수 있는 코드 기반 인프라 도구클라우드 및 온프레미스 리소스를 사람이 읽을 수 있는 구성 파일로 정의하여 버전 관리, 재사용 및 공유할 수 있는 코드형 인프라 도구일관된 워크플로우를 사용해 인프라 수명 주기 전반에 걸쳐 인프라를 프로비저닝하고 관리할 수 있다. 동작 원리Terraform은 API를 통해 클라우드 플랫폼, 기타 서비스 리소스를 생성하고 관리한다. 워크플로우작성 : 클라우드 제공업체 및 서비스에 걸쳐 있는 리..

Terraform 2025.11.03
1