서버·클라우드 인프라 실습 노트

리눅스·윈도우 서버부터 Docker, Terraform으로 만드는 AWS·Azure·Ncloud 인프라까지

반응형

전체 글 33

Terraform module 사용법과 폴더 구조|source·main·variables·outputs

Terraform module은 함께 관리할 리소스를 폴더 하나로 묶어 두고 module 블록의 source로 불러 쓰는 방법이에요. VPC 코드를 dev와 prod 폴더에 복사해 붙여 넣는 대신, VPC 모듈 하나를 만들어 두 곳에서 값만 다르게 부를 수 있어요. 지난 글에서 본 variable과 output이 모듈에 값을 넣고 꺼내는 통로가 돼요. module 블록 쓰는 법, 공식 문서가 권하는 폴더 구조, 자식 모듈 값을 꺼내 쓰는 방법을 HashiCorp 공식 문서(2026년 11월 2일 확인) 기준으로 정리했어요.Terraform module 뜻: 루트 모듈과 자식 모듈공식 문서는 모듈을 "Terraform이 함께 관리하는 리소스 묶음"이라고 정의해요. terraform apply를 실행하는 폴..

terraform 08:20:44

Terraform variable과 output, 언제 써야 할까? tfvars 우선순위까지

Terraform에서 variable은 코드 밖에서 값을 받아 오는 입구이고, output은 만든 결과를 밖으로 꺼내 보여 주는 출구예요. 인스턴스 타입이나 서브넷 ID처럼 환경마다 바뀌는 값은 variable로 빼 두고, 생성된 IP 주소처럼 다음 작업에 필요한 값은 output으로 받아요. 그러면 같은 코드를 dev와 prod에 값만 바꿔 쓸 수 있어요. variable 선언과 값 넣는 방법, 값이 겹칠 때의 우선순위, output 쓰는 법을 HashiCorp 공식 문서(2026년 11월 1일 확인) 기준으로 정리했어요.한눈에 보기variableoutput역할값을 받아 오는 입구결과를 내보내는 출구코드에서 쓰는 법var.이름루트 모듈: terraform output / 자식 모듈: module.이름...

terraform 2026.11.01

Terraform state 파일을 팀원과 같이 써야 할 때|tfstate와 S3 원격 백엔드

Terraform state는 코드에 적은 리소스와 실제 클라우드에 만들어진 리소스를 이어 주는 기록 파일(terraform.tfstate)이고, 여러 사람이 같은 인프라를 다룬다면 S3 같은 원격 백엔드에 두고 잠금을 켜는 게 HashiCorp 공식 문서의 권장 방식이에요. 혼자 실습할 때는 작업 폴더에 생기는 이 파일을 신경 쓸 일이 거의 없어요. 그런데 팀원과 같은 코드를 쓰거나 PC를 바꾸는 순간, state가 어디 있느냐에 따라 plan 결과가 완전히 달라져요. state가 하는 일, 로컬 state의 한계, S3 원격 백엔드 설정을 HashiCorp 공식 문서(2026년 10월 31일 확인) 기준으로 정리했어요.Terraform state란? tfstate 파일이 하는 일공식 문서는 state..

terraform 2026.10.31

Terraform 명령어 순서 틀리면 생기는 일|init·plan·apply·destroy

Terraform은 init으로 작업 폴더를 준비하고, plan으로 바뀔 내용을 미리 본 뒤, apply로 실제 리소스를 만들거나 고치고, 실습이 끝나면 destroy로 지우는 순서로 써요. 이 순서를 건너뛰면 provider가 없다는 오류가 나거나, 확인 안 한 변경이 그대로 클라우드에 반영될 수 있어요. AWS VPC 실습 글 같은 Terraform 실습을 따라 하기 전에 알아 두면 좋은 네 명령의 동작을 HashiCorp 공식 문서(2026년 10월 30일 확인) 기준으로 정리했어요.Terraform 기본 명령어 흐름명령하는 일실제 리소스를 바꾸나terraform init작업 폴더 초기화, provider·module 내려받기아니요terraform fmt코드 스타일 정리아니요terraform val..

terraform 2026.10.30

Terraform 설치 방법|Windows·Rocky Linux 설치와 버전 확인

Terraform은 실행 파일 하나(terraform)로 동작해서, Windows에서는 zip 파일을 받아 압축을 풀고 PATH에 넣으면 되고, Rocky Linux 같은 RHEL 계열에서는 HashiCorp 공식 저장소를 추가해 yum(dnf)으로 설치하면 돼요. 이 블로그의 AWS·Ncloud·Azure 실습 글은 모두 Terraform이 설치된 상태에서 시작하기 때문에, 그 전 단계인 설치와 확인 방법을 HashiCorp 공식 문서(2026년 10월 29일 확인, 최신 버전 1.17.1) 기준으로 정리했어요.한눈에 보기항목WindowsRocky Linux (RHEL 계열)설치 방식zip 파일 내려받기 → 압축 풀기HashiCorp 저장소 추가 → 패키지 설치필요한 것내 PC 아키텍처에 맞는 zip ..

terraform 2026.10.29

Terraform이란? IaC 뜻과 기본 구조 정리|provider·resource·state

Terraform은 클라우드와 온프레미스 인프라를 코드로 정의해 만들고, 바꾸고, 버전 관리할 수 있게 해 주는 HashiCorp의 IaC(Infrastructure as Code) 도구예요. 콘솔에서 버튼을 눌러 서버와 네트워크를 하나씩 만드는 대신, 설정 파일에 원하는 상태를 적어 두면 Terraform이 각 서비스의 API를 호출해 그대로 만들어 줍니다. 이 블로그의 AWS·Azure·Ncloud 구축 글이 모두 Terraform으로 진행돼서, 그 글들을 읽기 전에 알아 두면 좋은 기본 개념을 HashiCorp 공식 문서 기준으로 정리했어요.한눈에 보기개념한 줄 설명IaC인프라를 코드(설정 파일)로 정의하고 관리하는 방식providerAWS, Azure, Ncloud 같은 서비스의 API와 Terr..

terraform 2026.10.28

Terraform을 이용해 Azure 인프라 구축하기(dns, db server(mysql))

Terraform으로 Azure DNS와 DB서버 구성하기 구성 목표 및 Terraform 파일 소개이번 실습은 크게 다음과 같은 세 가지 리소스를 Terraform으로 구성합니다.DNS Zone (16_dns.tf)DNS Record (17_dnsrecord.tf)Database Server (20_db.tf) 1. Azure DNS Zone 생성 (16_dns.tf)# Public DNS Zone 및 A 레코드 생성# - 외부 도메인 이름(test1 ~ test4)을 생성하고, 각 도메인에 대해# "www" A 레코드를 생성하여 지정된 Public IP 주소(예: Application Gateway IP)를 매핑합니다.# DNS Zone 1: test1resource "azurerm_dns_zon..

terraform 2025.03.30

Terraform을 이용해 Azure 인프라 구축하기(application gateway, virtual machine, Auto scaling)

이번에 추가된 Terraform 구성요소새롭게 추가된 Terraform 파일을 통해 다음과 같은 인프라 구성이 가능합니다.애플리케이션 게이트웨이(Application Gateway)VM 및 이미지 관리(Shared Image Gallery)가상 머신 스케일 세트(VMSS)DNS 영역 및 레코드 관리DB 및 프로비저닝 스크립트(null_resource)세부 파일 구성다음과 같은 파일 구조로 확장되었습니다.10_appgw.tf # Application Gateway 생성11_appgwasso.tf # Application Gateway 연결 구성12_vm.tf # 가상 머신 생성13_gallery.tf # 이미지 관리(Share..

terraform 2025.03.27

Terraform을 이용해 Azure 인프라 구축하기 -1 (rg 생성, 서브넷 생성, 네트워크 인터페이스 구축, NAT 게이트웨이 구축)

Terraform을 활용한 Azure 네트워크 인프라 구축하기오늘은 Terraform을 사용하여 Azure 환경에서 효과적으로 네트워크 인프라를 구축하는 방법에 대해 공유하려고 합니다. Terraform은 클라우드 환경에서 IaC(Infrastructure as Code) 개념을 구현할 수 있는 매우 강력한 도구이며, 이를 통해 빠르고 일관된 인프라 배포가 가능합니다.프로젝트 개요이번 프로젝트에서는 다음과 같은 Azure 네트워크 구성요소를 Terraform을 통해 배포하였습니다.리소스 그룹가상 네트워크 및 서브넷네트워크 인터페이스 카드(NIC)네트워크 보안 그룹(NSG)NAT GatewayPublic IP 주소각 구성 요소는 별도의 Terraform 파일로 나누어 관리하여 유지 보수와 재사용성을 높였습..

terraform 2025.03.20

Terraform을 활용한 AWS 환경 구축 하기 - 4(Load balancer, image 복제, Autoscaling 환경 구축)

파일: 12_lb.tf# AWS Application Load Balancer 리소스를 생성하는 리소스 블록입니다.resource "aws_lb" "main-lb" { # "aws_lb" 리소스 타입으로 이름을 "main-lb"로 정의합니다. name = "main-lb" # 로드 밸런서의 이름을 "main-lb"로 지정합니다. internal = false # 내부 로드 밸런서 여부; false이면 외부 접근이 가능합니다. load_balancer_type = "application" # 로드 밸런서 타입을 ..

terraform 2025.03.18
반응형