DevOps/Terraform

·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 내장 함수에 대해서 포스팅을 올립니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다.설명테라폼(Terraform)은 인프라를 코드로 관리할 수 있게 해주는 도구로, 다양한 내장 함수를 제공하여 코드에서 값의 유형을 조작하고 조합할 수 있습니다. 테라폼의 함수들은 프로그래밍 언어적 특성을 가지고 있어, 숫자, 문자열, 컬렉션, 파일 시스템 등 다양한 유형의 작업을 지원합니다. 내장 함수 외에는 사용자가 직접 정의한 함수를 지원하지 않으며, 테라폼 코드에서는 변수, 리소스 속성, 데이터 소스 속성, 출력 값 등을 효과적으로 다룰 수 있습니다. 이를 통해 코드를 동적으로 작성하고 관리할 수 있습니..
·DevOps/Terraform
안녕하세요,오늘은 조건식을 활용하여 태깅을 적용해 보도록 하겠습니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다 코드다음 코드를 보겠습니다.variable, locals, resource 블록과 output을 다음과 같이 설정했습니다.variable "environment" { description = "Environment name (DEV, UIT, PROD)" type = string default = "DEV"}locals { region = var.environment == "DEV" ? "ap-northeast-2" : ""}resource "aws_instance" "example" ..
·DevOps/Terraform
안녕하세요,오늘은 for_each, for, dynamic 등 반복문에 대해서 살펴보도록 하겠습니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다. 1. for_each의 주요 특징반복 키(key)와 값(value)에 대한 접근:for_each를 사용하면 주어진 맵(map)의 각 항목 또는 집합(set)의 각 요소에 대해 반복할 수 있습니다.각 반복 요소는 each.key와 each.value로 접근할 수 있습니다.each.key: 맵의 키(key) 또는 집합(set)의 멤버에 해당합니다.each.value: 맵의 값(value)에 해당하며, 집합(set)을 사용할 경우 each.key와 동일합니다.타입 제한:for_each..
·DevOps/Terraform
안녕하세요, 오늘은 테라폼 cidrsubnet, cidrsubnets에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다. CIDR 표기법에 대한 설명 및 새로운 네트워크 프리픽스 비트 추가 방법이 글에서는 RFC 4632 섹션 3.1에서 정의한 CIDR (Classless Inter-Domain Routing) 표기법을 사용하여 네트워크 주소 범위를 어떻게 분할하는지 설명합니다. CIDR 표기법CIDR 표기법은 IP 주소를 더 효율적으로 할당하고 라우팅 할 수 있도록 하는 방법입니다. CIDR 주소는 'IP 주소/프리픽스 길이' 형식으로 작성되며, 여기서 프리픽스 길이는 서브넷 마스크를 나..
·DevOps/Terraform
안녕하세요, 오늘은 테라폼 count에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다. Terraform에서 list 형태의 값 목록이나 Key-Value 형태의 문자열 집합을 사용하면, 동일한 내용을 반복적으로 구성하지 않고도 효율적으로 관리할 수 있습니다.count를 사용한 리소스 생성count를 사용하여 여러 리소스를 생성할 때는 .[] 형태로 해당 리소스를 참조합니다.모듈의 경우 module.[] 형태로 참조합니다.단, 모듈 내에서는 count 적용이 불가능한 선언이 있을 수 있으므로 주의해야 합니다.예를 들어, provider 블록 선언부가 포함된 경우에는 count를 적용할 수..
·DevOps/Terraform
안녕하세요, 오늘은 테라폼 로컬값에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다. Terraform 코드에서 사용자가 지정한 값이나 속성 값을 가공해 참조할 수 있는 로컬 변수(Local Value)는 외부 입력 없이 코드 내에서만 가공되고 동작하는 값입니다. 로컬 변수는 입력 변수와 달리 선언된 모듈 내에서만 접근 가능하며, 실행 시에 입력받을 수 없습니다.이를 통해 사용자에게 값이나 표현식을 반복적으로 사용할 수 있는 편의를 제공합니다. 그러나 빈번하게 여러 곳에서 사용되는 경우 실제 값에 대한 추적이 어려워져 유지 관리 측면에서 부담이 발생할 수 있으므로 주의해야 합니다.로컬 변수..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 입력변수에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다.  Terraform에서 입력 변수 (Input Variables) 사용하기 Terraform을 사용하여 인프라를 구성할 때, 입력 변수(Input Variables)를 활용하면 코드의 변경 없이 여러 환경에서 다양한 인프라를 손쉽게 생성할 수 있습니다. 입력 변수는 인프라를 구성하는 데 필요한 속성 값을 정의하고, 이를 통해 재사용 가능한 구성 파일을 작성하는 데 목적이 있습니다.입력 변수는 인프라 구성의 유연성과 재사용성을 높여주며, 코드의 유지보수성을 향상합니다.  예를 들어, 동일한 Terr..
·DevOps/Terraform
안녕하세요, 오늘은 테라폼에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다. 이번 포스팅에서는 vpc를 설정 / 배포하는데, 리소스 블록에 대해서 좀 더 알아보도록 하겠습니다. 사용될 코드는 다음과 같습니다. 리소스 블록은 resource "aws_vpc" "jflip" { cidr_block = "10.10.0.0/16" enable_dns_support = true enable_dns_hostnames = true tags = { Name = "t101-study" }} 이렇게 작성되었는데, aws_vpc는 리소스 유형입니다. jflip이라 선언한 것은 리..
Jflip
'DevOps/Terraform' 카테고리의 글 목록