테라폼

·DevOps
오픈 소스 인프라 관리 툴 OpenTofu의 1.9.0-alpha1 프리릴리즈가 공개되었습니다. 이 버전은 여러 커뮤니티 기여를 반영한 다양한 개선 사항과 기능을 제공합니다. 특히 다중 리전 및 특정 리소스 관리의 유연성을 높여주는 새로운 기능들이 추가되었는데, 본 포스팅에서는 주요 기능과 주의사항을 상세히 살펴보도록 하겠습니다. Terraform과 마찬가지로 OpenTofu는 for_each를 통해 다중 리전 인프라 배포 시 코드 효율성을 크게 높이며, -exclude 옵션을 통해 특정 리소스를 제외한 계획 수립을 지원합니다. OpenTofu 1.9.0-alpha1의 주요 기능1. for_each 프로바이더 구성 블록OpenTofu는 프로바이더 블록에서도 for_each 구문을 활용해 여러 인스턴스를 ..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 모듈을 활용한 athena datacatalog 배포에 대해서 포스팅을 올립니다.CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 본 포스팅에서는 데이터 카탈로그를 만들기 위해서 공식문서의 모듈을 나눴습니다. 트리트리는 다음과 같습니다.main.tfathena_data_catalog/├── aws_athena_data_catalog.tf└── variables.tf 루트 모듈 정의 (main.tf)module "athena_data_catalog" { source = "./athena_data_catalog" name = "athena-data-catalog" description = "Example Athena data catalo..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 프로바이더와 리소스 배포에 대해서 포스팅을 올립니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다. 설명Terraform provider는 Terraform의 리소스 유형 정의를 구현하고 해당 리소스 유형에 대한 CRUD(Create, Read, Update, Delete) 작업을 구현하는 소프트웨어입니다. provider는 Terraform과 기본 인프라 간 가교 역할을 통해 Terraform이 리소스와 상호 작용할 수 있도록 하며, 프로바이더 없이는 어떠한 인프라나 서비스 역시 관리가 불가능합니다.  프로바이더에 대한 자세한 링크는 하기 링크를 참조하시기 바랍니다.https://regist..
·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를 적용할 수..
Jflip
'테라폼' 태그의 글 목록