Terraform4 Terraform에서 Dynamic Block 사용하기 Dynamic Block이란?테라폼에서 리소스와 같은 최상위 블록 내부에서 반복적인 nested block의 타입을 사용해야하는 경우가 있다. 반복되는 블록을 모두 작성해서 사용 할 수도 있지만, dynamic block을 사용해서 동적으로 생성하도록 구성 할 수 있다.기본 반복문과의 비교기본반복문for_each를 사용한 기본 반복문에서는 resource 블록 자체가 반복문의 대상이 된다.따라서 생성하려는 리소스가 반복문에 사용되는 변수의 리스트 원소 개수만큼 생성된다.resource "aws_subnet" "private_subnets" { for_each = var.private_subnets vpc_id = aws_vpc.vpc.id availability_zone = each.value.az.. 2024. 12. 22. 테라폼 상태파일 remote state 구성 테라폼 상태파일 이란? 테라폼을 사용해 인프라를 배포하면 별다른 설정 없이 테라폼 실행 위치에 *.tfstate 파일이 생성되는 것을 발견 할 수 있다. 이 파일에는 테라폼이 관리하는 모든 리소스의 상태, 구성 및 관계 등이 포함되어 현재 인프라의 현재 상태를 알 수 있도록 해준다. 테라폼은 이 상태파일을 사용하여 인프라를 관리하고 추적하며, 테라폼 명령을 실행 할 때마다 상태파일을 업데이트 하면서 변경사항을 식별하고 적용한다. Remote state 구성 왜 remote state를 구성하여 상태파일을 관리해야 할까? Local state를 사용하면 안되는 이유는 다음과 같다. 개발자들이 각자 로컬에서 테라폼 명령어를 실행하고 관리한다면, 각자 다른 상태파일을 갖게 되어 현재상태로 동기화 되지 않은 상.. 2024. 3. 10. Terraform - AWS EC2 Instance 생성 Work 디렉토리에 main.tf 생성learn-terraform-aws-instance └── main.tf 코드 작성terraform { required_version = ">= 1.3.7" required_providers { aws = { source = "hashicorp/aws" version = "~> 4.51.0" } } } provider "aws" { region = "us-east-1" } resource "aws_instance" "test-server" { ami = "ami-0dbc3d7bc646e8516" instance_type = "t2.micro" tags = { Name = "terraform-test-server" Owner = "jy" } } Terraform 구문 .. 2023. 12. 10. M1 Mac에 Terraform 설치 프로그램 설치 Option 1. Hombrew 사용 Homebrew 업데이트 brew update 패키지 설치 brew tap hashicorp/tap Terraform 설치 brew install hashicorp/tap/terraform Terraform 최신버전 업그레이드 brew update brew upgrade hashicorp/tap/terraform Option 2. 컴파일된 바이너리 다운로드 아래 링크에서 바이너리 파일 다운로드 Install | Terraform | HashiCorp Developer 경로확인 후 파일 이동 echo $PATH #다운로드 한 바이너리 파일 이동 #아래는 $PATH에 /usr/local/bin/ 가 포함되어 있다고 가정하고 진행됨 #permission de.. 2023. 12. 3. 이전 1 다음