← 포트폴리오 · 트렌비

EKS 플랫폼 리빌드와 가용성 99.98%

레거시 위에 EKS 플랫폼을 신규 구축하고 Chaos Engineering을 상시화해, 비용을 줄이면서 가용성을 올렸습니다.

조직 시기 역할
트렌비 2021.06 – 2024.12 SRE Lead — 설계 · 구축 · 운영

출발점 — 쿠버네티스 플랫폼 없음. 배포 흐름도 환경 분리도 정립돼 있지 않음.


문제

서비스는 레거시 위에서 돌고 있었고, 그 위에서 할 수 있는 개선은 한계에 닿아 있었습니다.

제약

설계

1. 레거시 위에 신규 플랫폼을 올렸다

교체가 아니라 병존으로 시작했습니다. EKS 플랫폼을 신규 구축하고, 워크로드를 순차 이전하는 방식입니다.

플랫폼 구성

영역 선택
배포 ArgoCD, Argo Workflows
서비스 메시 Istio · Kiali
관측 Prometheus · Grafana · Loki
접근 Teleport
레지스트리 Harbor
DB Percona

Loki와 Percona는 비용 최적화와 맞물린 선택이었습니다. ElasticSearch → Loki + Promtail, 상용 DB → Percona로 가면서 상용 제품 종속성과 비용을 동시에 줄였습니다.

2. GitOps와 환경 정합성

3. 장애 내성을 믿지 않고 검증했다

이 플랫폼에서 가장 중요한 결정입니다. 이중화를 주장하지 않고 상시 검증했습니다.

시나리오 방식
Instance Fail 실제 장애 주입 — 상시 검증
Availability Zone Fail 실제 장애 주입 (Active) — 장애 중 서비스 지속 확인
Region Fail Standby 복구 절차 점검 — 주입이 아닌 절차 검증

Zone은 Active로, Region은 Standby로 둔 것은 비용 판단이었습니다. Region Active는 비용이 배로 드는데, 당시 서비스의 손실 규모가 그것을 정당화하지 못했습니다. 대신 Standby 복구 절차를 주기적으로 검증해서 "있다고 믿는 DR"이 되지 않게 했습니다.

4. 네트워크 재설계


결과

무중단 서비스와 연간 가용성 99.98% 목표 달성 — 같은 기간 월 인프라 비용 43.9% 절감

회고

"가용성과 비용은 트레이드오프"라는 말은 절반만 맞습니다. 같은 기간에 비용을 43.9% 줄이면서 99.98%를 확보할 수 있었던 건, 기존 지출의 상당 부분이 가용성이 아니라 검증되지 않은 안심에 쓰이고 있었기 때문입니다. 실제로 내려보면 필요한 것과 필요 없는 것이 갈립니다.

Region을 Standby로 둔 판단은 지금도 같게 하겠습니다. 다만 그때 배운 건, Standby는 검증 주기를 정해 두지 않으면 사실상 없는 것과 같다는 점입니다.

이때의 Instance / Zone / Region 검증 체계가 이후 무신사의 복구 시나리오 상시 검증과 모의훈련 프로그램으로 이어집니다.


관련 케이스 — 클라우드 비용 최적화 · 클라우드 보안 프레임워크 · 비상대응훈련 프로그램

AWS EKS ArgoCD Argo Workflows Istio/Kiali Prometheus Grafana Loki Teleport Harbor Percona Transit Gateway IPSec GitOps Chaos Engineering