RAG 기반 문서 검색 시스템 - 2 (AWS EKS 인프라 구축기)

2025. 7. 17. 10:16·사이드 프로젝트

개요

앞선 글에서는 프로젝트 전체 저장소 구조와 초기화 작업에 대해 다뤘다. 저장소는 프론트엔드, 백엔드, 인프라 디렉터리로 나뉘며, 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
'사이드 프로젝트' 카테고리의 다른 글
  • RAG 기반 문서 검색 시스템 - 4(인증/권한/사용자/ORM 연동)
  • RAG 기반 문서 검색 시스템 - 3(Next.js 초기화 및 인증 연동)
  • RAG 기반 문서 검색 시스템 - 1(프로젝트 개발환경 구축)
  • RAG 기반 문서 검색 시스템(개요 및 프로젝트 설계)
moo-n
moo-n
개발관련 기록 블로그
  • moo-n
    moo-n 님의 블로그
    moo-n
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • Cursor AI 교육관련 (4)
      • Cursor AI 사용하기(JAVA) (3)
      • Cursor AI 사용하기(C#) (1)
      • MCP 사용하기 (2)
      • IT 관련 정리 (15)
      • 사이드 프로젝트 (15)
      • 장애대응 매뉴얼 (3)
      • 업무관련 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    OCR
    LLM
    notion mcp
    Agent
    ClaudeCode
    청킹
    Rag
    에이전트
    방화벽
    바이브코딩
    C#
    AI
    oracleClient
    nextjs
    Cursor
    Claude
    notion
    mcp
    Chunking
    SVN
    포트포워딩
    conTeXt
    Chunk
    벡터db
    claude code
    vb6.0
    임베딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
moo-n
RAG 기반 문서 검색 시스템 - 2 (AWS EKS 인프라 구축기)
상단으로

티스토리툴바