이 글을 시작하기 전 말씀드리고 싶은 것이 있습니다. 저조차도 아직 이 내용이 제대로 이해가 되지 않습니다. 그렇기 때문에 용기 내어 글을 올려봅니다. 왜냐하면 이 글을 작성하면서 이 글을 작성했다는 제 자신이 부끄럽지 않기 위해 더 공부할 예정입니다.그러니 이상한 내용이 있다면 말씀해주세요.ㅎㅎ 오늘은 단일 서버나 단순 VPC 구성을 넘어, 실제 운영(Production) 환경에서 바로 적용할 수 있는 운영 가능한(Production-Ready) 고가용성 인프라 구축 가이드를 작성해 보려고 합니다. 테라폼(Terraform)을 활용해 Multi-AZ(다중 가용 영역) 기반의 3-Tier 웹 아키텍처를 완벽하게 자동화 구축하는 실습을 정리했습니다.1. V1 아키텍처 개요 및 특징우리가 구축할 V1 아키텍..
오늘은 저번 시간에 작성한 Terraform 내용을 분석하는 시간을 가지겠습니다.1. 전체 아키텍처 및 프로바이더 설정가장 먼저 테라폼 버전과 사용할 AWS 프로바이더를 정의합니다.terraform { required_version = ">= 1.0" required_providers { aws = { source = "hashicorp/aws" version = "~> 6.0" } }}provider "aws" { region = var.region}AWS Provider v6.0 사용: 최신 AWS 프로바이더 버전을 지정하여 신규 기능 및 최신 API 호환성을 확보했습니다.지역(Region) 변수화: var.region을 사용하여 기본 리전(ap-northeast..
https://pabeba.tistory.com/301 지난 포스팅에서 커스텀 VPC와 퍼블릭 서브넷(Public Subnet)의 기본 뼈대를 만든 데 이어, 오늘은 보안의 핵심인 프라이빗 서브넷(Private Subnet)을 구축하고, 외부 패키지 설치를 위한 NAT 게이트웨이(NAT Gateway) 연동 및 Web-WAS-DB 3-Tier 보안 그룹 체계를 테라폼(Terraform)으로 구현해 보겠습니다. 1. 목표 시스템 아키텍처우리가 구축할 네트워크 아키텍처는 외부 인터넷 망과 직접 통신하는 Public 영역과, 외부 직접 접근이 전면 차단된 안전한 Private 영역으로 명확히 나뉩니다. Internet ..
오늘은 AWS 클라우드 환경에서 회사 전용 독립 네트워크(Custom VPC)를 설계하고,이를 테라폼(Terraform) 코드로 완벽하게 구축하는 방법에 대해 알아보겠습니다. 기존 기본(Default) VPC 환경에서 벗어나 프로덕션급 보안 및 안정성을 갖춘 전용 네트워크 망을 다지는 첫걸음입니다.1. 개요 및 최종 네트워크 구성 목표AWS에서 커스텀 VPC를 구축하는 이유는 기업 인프라 자원의 격리 및 보안 강화입니다.우리의 로드맵은 커스텀 VPC를 기반으로 웹(Public Subnet), 백엔드/DB(Private Subnet)를 구축하고, 나아가 EKS, CI/CD, 모니터링 시스템까지 확장할 수 있는 견고한 뼈대를 만드는 것입니다.AWS Account (ap-northeast-2) └── Comp..
지난번 테라폼 기초 문법에 이어, 오늘은 코드의 중복을 줄이고 안정적인 인프라 생명주기 관리 및 환경 분리를 가능하게 해주는 테라폼 고급 응용 문법에 대해 정리해 보겠습니다. 이번 글에서는 반복적인 중첩 블록을 깔끔하게 처리하는 Dynamic 블록, 리소스 간의 생성 순서를 제어하는 depends_on, 삭제 방지 및 무중단 교체를 위한 lifecycle, 환경별 격리를 위한 workspace, 그리고 리소스의 실제 상태를 확인하는 state 관리까지 자세히 살펴보겠습니다.1. Dynamic 블록 (중첩 블록 반복)Dynamic 블록이란?리소스 블록 내부에서 ingress, egress와 같이 중첩된 블록(Nested Block)을 동적으로 반복 생성할 때 사용하는 문법입니다. 기존의 for_each가 ..
오늘은 테라폼 코드를 더욱 효율적이고 유연하게 만들어 주는 주요 핵심 문법에 대해 정리해 보겠습니다. 특히 변수 타입이 왜 중요한지, variable과 locals의 차이점, 그리고 함수와 반복문(for_each, count)의 필요성까지 차근차근 알아보겠습니다.1. 개요 및 실행 과정 (DAG 그래프)테라폼은 HCL(HashiCorp Configuration Language)이라는 언어로 코드를 작성합니다. 테라폼이 작성된 코드를 처리하는 내부 실행 구조는 다음과 같습니다.[HCL 코드 작성] ➔ [DAG 그래프 구성 (의존성 계산)] ➔ [리소스 생성/수정] ➔ [Output 출력]DAG (Directed Acyclic Graph) 그래프 구성: 테라폼은 작성된 코드를 읽어 리소스 간의 의존 관계(어..