테라폼

·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를 적용할 수..
·DevOps/Terraform
안녕하세요, 오늘은 테라폼 로컬값에 대해서 정리한 내용을 가지고 포스팅합니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다. Terraform 코드에서 사용자가 지정한 값이나 속성 값을 가공해 참조할 수 있는 로컬 변수(Local Value)는 외부 입력 없이 코드 내에서만 가공되고 동작하는 값입니다. 로컬 변수는 입력 변수와 달리 선언된 모듈 내에서만 접근 가능하며, 실행 시에 입력받을 수 없습니다.이를 통해 사용자에게 값이나 표현식을 반복적으로 사용할 수 있는 편의를 제공합니다. 그러나 빈번하게 여러 곳에서 사용되는 경우 실제 값에 대한 추적이 어려워져 유지 관리 측면에서 부담이 발생할 수 있으므로 주의해야 합니다.로컬 변수..
Jflip
'테라폼' 태그의 글 목록