개요
앞선 글에서는 프로젝트 전체 저장소 구조와 초기화 작업에 대해 다뤘다. 저장소는 프론트엔드, 백엔드, 인프라 디렉터리로 나뉘며, GitHub Actions 기반 CI/CD 파이프라인, Vooster 기반 태스크 관리, Cursor 기반 코드관리 규칙등을 도입하였다.
이번 글에서는 본격적으로 RAG 시스템을 운영하기 위한 AWS EKS 기반 인프라를 구축한 전 과정을 정리한다. 모든 리소스는 Terraform과 Helm을 활용하여 자동화되었으며, VPC에서 Kubernetes 클러스터, DB, 캐시, 보안 설정, 배포 자동화, 그리고 문서화까지 전 과정을 포함한다.
1. 전체 인프라 구축 개요
- Terraform으로 Multi-AZ 기반 VPC 및 네트워크 인프라 구성
- AWS EKS 클러스터 및 워커 노드 자동 생성
- S3, RDS, Redis 등 핵심 데이터 인프라 구성
- Helm 차트 및 배포 자동화 스크립트 설계
- 네트워크 보안 및 접근 제어 정책 정교화
- 통합 테스트 및 검증 자동화
- 모든 작업을 문서화하고 Notion + GitHub에 연동
2. 인프라 구축 상세
VPC 네트워크 인프라 구성
- Terraform으로 10.0.0.0/16 CIDR VPC 구성, 퍼블릭/프라이빗 서브넷 Multi-AZ로 배치
- Internet Gateway, NAT Gateway, 라우팅 테이블 구성
- 보안 그룹 및 NACL 구성으로 이중 보안체계 적용
EKS 클러스터 및 워커 노드 구성
- Kubernetes 1.28 기반의 EKS 클러스터 생성
- t3.medium Auto Scaling 노드 그룹 구성, IAM 역할 최소 권한 적용
- CloudWatch 로그 설정 및 Add-ons (VPC CNI, CoreDNS, kube-proxy) 설치
S3, RDS, Redis, IAM 구성
- S3 버킷, RDS(PostgreSQL), ElastiCache(Redis) 리소스 구성 및 IAM 정책 연동
- EKS IRSA를 위한 OIDC Provider 및 IAM Role 생성
- 애플리케이션 컨테이너용 ECR 리포지토리 생성
Helm 차트 및 배포 자동화
- Helm 차트 기반 배포 구조 구성 (12개 템플릿 포함)
- dev/prod 환경별 values 파일 구성, IRSA 적용된 ServiceAccount 설정
- Makefile 및 deploy.sh로 완전 자동화된 배포 스크립트 개발
네트워크 및 보안그룹 상세 설정
- 8개 보안 그룹 세분화 설정 (EKS, RDS, Redis, ALB, Bastion 등)
- allowed_cidr_blocks로 SSH 접근 제어
- SECURITY.md 파일 생성, 포트 제한 및 접근 통제 정책 정리
배포 테스트 및 검증 자동화
- PowerShell 기반 Terraform 및 Helm 배포 스크립트 작성
- Pod 상태, 연결성, 리소스 구성 자동 테스트 구현
- DEPLOYMENT_TEST_GUIDE.md로 테스트 문서화
문서화 및 Notion 연동
- infra/README.md에 아키텍처, Quick Start, 운영 가이드 문서화
- ASCII 기반 아키텍처 다이어그램, 리소스별 최적화 가이드 포함
- Notion 기반 태스크 완료 및 배포 결과 기록

관련 용어 정리
| 용어 | 설명 |
|---|---|
| EKS | Amazon Elastic Kubernetes Service. 관리형 Kubernetes 서비스 |
| IRSA | IAM Roles for Service Accounts. EKS에서 Pod에 IAM 역할 할당 |
| Helm | Kubernetes 패키지 매니저. 차트로 배포 구성 자동화 |
| Terraform | IaC 도구. 인프라 리소스를 코드로 선언하고 배포 |
| OIDC | OpenID Connect. EKS에서 IRSA 연동에 활용되는 인증 프로토콜 |
| ALB | Application Load Balancer. 트래픽 분산 및 HTTPS 지원 |
| ConfigMap/Secret | Kubernetes에서 환경설정 및 민감정보를 분리 관리하는 객체 |
마무리
이번 글에서는 RAG 기반 문서 검색 시스템의 핵심 인프라를 어떻게 Terraform과 Helm으로 자동화하고, 보안 및 운영 관점에서 완성도 높은 클라우드 환경을 구성했는지를 다뤘다. 모든 구성은 문서화되어 팀원 또는 외부 이해관계자와 공유 가능하며, 실제 운영 환경에서도 바로 사용할 수 있는 수준으로 마무리되었다. 다만 구성에 있어 완벽한 이해도가 충족되지 않은 상태로 AI 의 도움을 많이받아 구성한만큼 다른 태스크보다 더 심도깊게 복습할 필요성을 느꼈다. 다음 글에서는 본격적인 프론트엔드 개발 흐름인 T-003 태스크를 다룬다. Next.js 기반 프로젝트 초기화부터 인증 흐름, 글로벌 상태관리, 접근성 적용까지 통합된 작업 흐름을 소개할 예정이다.
'사이드 프로젝트' 카테고리의 다른 글
| RAG 기반 문서 검색 시스템 - 5(문서 업로드 및 S3 저장/바이러스 검사 구현) (2) | 2025.07.21 |
|---|---|
| RAG 기반 문서 검색 시스템 - 4(인증/권한/사용자/ORM 연동) (0) | 2025.07.21 |
| RAG 기반 문서 검색 시스템 - 3(Next.js 초기화 및 인증 연동) (2) | 2025.07.18 |
| RAG 기반 문서 검색 시스템 - 1(프로젝트 개발환경 구축) (1) | 2025.07.16 |
| RAG 기반 문서 검색 시스템(개요 및 프로젝트 설계) (0) | 2025.07.15 |
