TerraformLearn

메인 인덱스 | CCG-Platform | GitHub

이 문서는 TerraformLearn 레포의 핵심 정보와 포트폴리오 메모를 한 파일로 정리한 노트입니다.

주요 목적

AWS EKS 클라우드 게이밍 플랫폼을 위한 Infrastructure as Code (IaC). GPU/CPU 노드용 Karpenter 자동 확장, Traefik 인그레스, Cloudflare와의 ExternalDNS 통합, 및 TLS용 cert-manager를 포함한 완전한 Kubernetes 인프라를 프로비저닝합니다.

주요 기술 스택

카테고리스택
IaCTerraform 1.0+
클라우드 제공업체AWS (EKS, EC2, VPC, IAM)
KubernetesEKS 1.33
자동 확장Karpenter 1.6.1
인그레스Traefik
DNSExternalDNS + Cloudflare
TLScert-manager (ACME DNS-01)
GPUNVIDIA GPU Operator, MPS

포트폴리오 메모

구조가 분명한 자동 확장(Karpenter), 게이밍용 GPU 지원, 여러 문서를 가진 프로덕션급 인프라입니다. 비용 최적화를 위한 스팟 인스턴스를 포함한 현재 사용한 클라우드 네이티브 패턴을 구현합니다. DevOps, 클라우드 아키텍처, 인프라 자동화 기술의 사례입니다.

주요 파일

Terraform 설정

  1. terraform/providers.tf - AWS 제공자 설정
  2. terraform/eks.tf - EKS 클러스터 및 시스템 노드 그룹
  3. terraform/karpenter.tf - Karpenter + GPU Operator
  4. terraform/karpenter-iam.tf - Karpenter용 IAM/IRSA
  5. terraform/traefik.tf - Traefik 인그레스 컨트롤러
  6. terraform/cloudflare-dns.tf - ExternalDNS + cert-manager
  7. terraform/variables.tf - 변수 정의
  8. terraform/outputs.tf - 출력 값
  9. terraform/terraform.tfvars.example - 설정 템플릿

Karpenter 설정

  1. karpenter-v1.6.1.yaml - Karpenter Helm 값
  2. cpu-nodes.yaml - CPU NodePool 설정
  3. gpu-nodes.yaml - GPU NodePool 설정
  4. nodepool-v1.yaml - 대안 NodePool 설정

문서

  1. setup/00-configuration-checklist.md - 설정 체크리스트
  2. setup/01-aws-initial-setup.md - AWS 설정
  3. setup/02-eks-cluster-setup.md - EKS 설정
  4. setup/03-gpu-sharing-warm-pool.md - GPU 웜 풀
  5. setup/04-portal-and-auth.md - 포탈 설정
  6. setup/05-integration-and-test.md - 테스트
  7. setup/06-coturn-setup.md - TURN 서버
  8. setup/07-cleanup-and-shutdown.md - 정리

테스트 설정

  1. nginx-cpu-test.yaml - CPU 워크로드 테스트
  2. nginx-test-http.yaml - HTTP 테스트
  3. cleanup-aws.sh - AWS 정리 스크립트

아키텍처 유형

클우드 네이티브 인프라:

  • 다중 노드 풀 디자인 (시스템, CPU, GPU)
  • Karpenter로 동적 자동 확장
  • 스팟 인스턴스로 비용 최적화
  • 게이밍 워크로드용 GPU 지원

주요 기능

  • 관리형 시스템 노드가 있는 AWS EKS 1.33
  • 동적 자동 확장용 Karpenter v1.6.1
  • NVIDIA T4 지원이 있는 GPU NodePool
  • 모든 노드용 AL2023 AMI
  • Traefik 인그레스 컨트롤러
  • Cloudflare 통합이 있는 ExternalDNS
  • ACME DNS-01 챌린지가 있는 cert-manager
  • 비용 최적화를 위한 스팟 인스턴스 지원

관련 레포지토리

  • portal-backend (애플리케이션 백엔드)
  • PodManager/PodManager_V2 (컨테이너 오케스트레이션)
  • Selkies (WebRTC 스트리밍)

참고사항

  • 프로덕션 준비 클라우드 인프라
  • 고급 GPU/자동 확장 사례
  • 정리된 문서 커버리지
  • 포트폴리오 하이라이트의 강력한 후보
  • 엔터프라이즈급 DevOps 기술 설명