EKS Observability 플랫폼 구축, Terraform으로 시작하세요!

by DD
5개월 전
조회수 18

Amazon EKS 환경에서 Terraform을 사용하여 프로덕션 환경 수준의 3-Tier 아키텍처를 구축함

PrometheusGrafana를 활용하여 CPU 사용량 기반 자동 스케일링 및 장애 복구 기능을 구현함

Pod/Node Failure Injection을 통해 서비스 안정성을 검증하고, Observability의 중요성을 강조함

Terraform 기반 EKS 아키텍처 설계

Terraform 모듈화를 통해 VPC, EKS 클러스터, Observability 스택을 분리하여 관리한다. 구체적으로, 각 모듈은 플랫폼 책임 경계를 나타내며, 재사용성유지보수성을 높인다. 따라서, 인프라스트럭처 코드(IaC)를 통해 일관된 환경 구축 및 관리가 가능하다.

Prometheus & Grafana를 활용한 모니터링

Prometheus를 통해 Kubernetes 클러스터, Pod, Deployment의 메트릭을 수집하고, Grafana 대시보드를 통해 시각화한다. 따라서, CPU/메모리 사용량, Autoscaling 이벤트를 실시간으로 모니터링하여 문제 발생 시 즉각적인 대응이 가능하다. 반면, 알람 설정을 통해 능동적인 문제 감지가 필요하다.

Autoscaling 및 장애 복구 메커니즘

Horizontal Pod Autoscaler(HPA)를 사용하여 CPU 사용량에 따라 Pod 수를 자동 조절한다. 구체적으로, CPU 사용률 50% 초과 시 Pod 6개까지 자동 확장된다. 따라서, 트래픽 증가에 유연하게 대응하고, 서비스 가용성을 확보한다. 결과적으로, Pod/Node Failure Injection을 통해 시스템의 복원력을 검증한다.

Observability-Driven Kubernetes: A Practical EKS Demo