본문 바로가기

IaC/Terraform

(18)
[Terraform]조건문(Conditional)을 사용하여 resource 작성하는 방법 조건부 표현식(Conditional Expression)의 이해 조건부 표현식은 "조건 ? 참일 경우의 값 : 거짓일 경우의 값"의 형태로 사용됩니다. 이는 프로그래밍 언어에서 자주 볼 수 있는 삼항 연산자와 동일한 형태입니다. 이런 식으로 Terraform에서는 변수나 리소스의 값을 동적으로 결정할 수 있습니다. 왜 조건부 표현식이 필요한가? 인프라의 설정이나 배포 과정에서 모든 상황에 동일한 설정을 사용하는 것은 비효율적입니다. 예를 들면, 개발 환경과 실제 환경에서는 다른 설정이 필요할 수 있습니다. 이런 다양한 상황에 대응하기 위해 동적으로 리소스나 출력 값을 결정하는 것이 필요하고, 이때 조건부 표현식이 유용하게 사용됩니다. var 옵션으로 변수 재정의 tf apply -var="변수명=값" 형..
[Terraform]count와 for_each를 사용하여 반복되는 resource 작성하는 방법 count와 for_each와 같은 Terraform의 반복 구문을 사용하면 코드의 반복을 줄이고, 관리를 용이하게 할 수 있습니다. 단순 반복하여 작성한 Terraform resource code # provider provider "aws" { region = "ap-northeast-2" } # resource resource "aws_iam_user" "user_1" { name = "user-1" } resource "aws_iam_user" "user_2" { name = "user-2" } resource "aws_iam_user" "user_3" { name = "user-3" } # output output "user_arns" { value = [ aws_iam_user.user_1.a..
[Terraform]테라폼 Output Values 사용법 Terraform에는 명명된 값을 요청하거나 게시하기 위한 몇 가지 종류의 블록이 포함되어 있습니다. Input Variables 는 Terraform 모듈의 매개변수 역할을 하므로 사용자는 소스를 편집하지 않고도 동작을 커스터마이징할 수 있습니다. Output Values 은 Terraform 모듈의 반환(return) 값과 같습니다. Local Values 은 표현식에 간단한 이름을 지정할 수 있는 편리한 기능입니다. 2023.02.07 - [IaC/Terraform] - [Terraform]테라폼 Input Variables 사용법 2023.02.09 - [IaC/Terraform] - [Terraform]테라폼 Local Values 사용법 Output Values doc Link Output V..
[Terraform]테라폼 Local Values 사용법 Terraform에는 명명된 값을 요청하거나 게시하기 위한 몇 가지 종류의 블록이 포함되어 있습니다. Input Variables 는 Terraform 모듈의 매개변수 역할을 하므로 사용자는 소스를 편집하지 않고도 동작을 커스터마이징할 수 있습니다. Output Values 은 Terraform 모듈의 반환(return) 값과 같습니다. Local Values 은 표현식에 간단한 이름을 지정할 수 있는 편리한 기능입니다. 테라폼의 Local Values(지역 변수)란? 테라폼에서는 값(value)을 다루기 위한 다양한 방법이 있습니다. 여기서는 그 중 'Local Values'라는 것에 대해 알아보겠습니다. Local Values란, 테라폼 코드 내에서 반복하여 사용되는 값을 간편하게 표현하기 위해 만든..
[Terraform]테라폼 Input Variables 사용법 Terraform에는 명명된 값을 요청하거나 게시하기 위한 몇 가지 종류의 블록이 포함되어 있습니다. Input Variables 는 Terraform 모듈의 매개변수 역할을 하므로 사용자는 소스를 편집하지 않고도 동작을 커스터마이징할 수 있습니다. Output Values 은 Terraform 모듈의 반환(return) 값과 같습니다. Local Values 은 표현식에 간단한 이름을 지정할 수 있는 편리한 기능입니다. 2023.02.07 - [IaC/Terraform] - [Terraform]테라폼 Input Variables 사용법 2023.08.14 - [IaC/Terraform] - [Terraform]테라폼 Output Values 사용법 2023.02.09 - [IaC/Terraform] -..
[Terraform]AWS Provider로 Ubuntu AWS EC2 Instance 만들기 개요 Terraform은 각 provider가 제공하는 많은 리소스와 상호작용할 수 있다. Terraform Registry에서 원하는 provider를 찾은 뒤 사용 가능한 리소스를 정의하고 해당 리소스를 관리할 수 있다. 여기서는 aws provider의 resource(aws_instanace)와 data source(aws_ami)를 이용하여 최신버전의 ec2 instanace를 기동시킨다. Resource: aws_instance ubuntu instance 만들기 terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 4.0" } } } # Configure the AWS Provider provider "..
[Terraform]테라폼 workspace 이해하기 Terraform Workspace란 무엇인가요? Terraform Workspace는 Terraform으로 인프라를 코드로 관리할 때 중요한 부분입니다. 이를 이해하기 위해서는 먼저 '상태'의 개념을 알아야 합니다. 상태 (State)란 무엇인가요? 테라폼을 사용하여 인프라를 변경하거나 관리할 때, 그 변경사항을 기록하는 파일입니다. .terraform.tfstate라는 파일에 이 정보가 저장되며, 이 파일을 통해 테라폼은 어떤 변경이 필요한지를 알 수 있습니다. 그리고 이 상태 파일을 기준으로 여러 프로젝트를 관리하는 것이 '워크스페이스'입니다. 그럼 테라폼 워크스페이스란? 워크스페이스는 **상태 관리의 '단위'**라고 볼 수 있습니다. 한 프로젝트 내에서 여러 개의 .tf 파일을 가진 디렉토리가 여..
[Terraform]테라폼 기본 사용법 with aws provider 원하는 provider 선택 Terraform provider doc https://registry.terraform.io/browse/providers 테라폼 AWS Provider 사용하기 AWS provider doc https://registry.terraform.io/providers/hashicorp/aws/latest/docs terraform { required_providers { aws = { source = "hashicorp/aws" version = "4.48.0" } } } provider "aws" { # Configuration options } aws provider는 region에 연결된다. aws sts get-caller-identity 위 명령어로 현재 설정된 aws..