피드로 돌아가기
토스 기술블로그DevOps
원문 읽기
레거시 인프라 작살내고 하이브리드 클라우드 만든 썰
토스페이먼츠가 1997개 라우팅을 가진 레거시 인프라를 OpenStack 기반 프라이빗 클라우드와 AWS 퍼블릭 클라우드의 Active-Active 하이브리드 클라우드로 전환해 2명의 엔지니어로 프로덕션 운영 가능하게 구축
AI 요약
Context
인수한 20년 이상 운영되던 PG 사업의 레거시 인프라는 서버에 약 2000개의 라우팅 규칙이 하드코딩되어 있었고, DNS 시스템이 없어 hosts 파일에 의존했으며, 이중화 장비 간에도 구성이 상이했다. 새로운 서비스를 이 인프라에 올리기 어려워 초기에는 AWS 퍼블릭 클라우드를 도입했으나, 증가하는 비용 부담과 환율 변동성, 온프레미스와의 DR 구성 어려움, 인프라 통제 불가능 문제가 발생했다.
Technical Solution
- 프라이빗 클라우드 구축: OpenStack을 오픈소스 기반 프라이빗 클라우드 플랫폼으로 선택해 데이터 센터에 구축하고 모든 구성 요소에 대한 통제권 확보
- 경험 축적을 통한 숙련: 3가지 버전의 OpenStack을 각각 수십 번씩 설치하고 장애 시나리오를 재현해 아키텍처 이해도 향상
- 커뮤니티 버전 튜닝: Octavia 로드밸런서의 소스 코드를 수정해 필요한 로그 포맷으로 커스터마이징
- 자동화: Ansible과 Terraform 코드로 VM, 로드밸런서, 사용자 권한의 라이프사이클 관리를 자동화하고 골든 이미지를 통해 신규 인스턴스 생성 시간을 10초 이내로 단축
- 모니터링 및 알림: Zabbix, Prometheus, Mimir로 메트릭 수집하고 Grafana로 시각화해 빠른 알람 확인 환경 구현
- 고가용성 구성: 3개의 완전히 독립된 OpenStack 클러스터를 구축해 Active-Active로 운영하고 클러스터 장애 시 트래픽 인입 제거로 서비스 가용성 유지
- AWS Roles Anywhere 연동: Nova에서는 프로세서 보안 인증 제공자 방식으로, OKS 컨테이너에서는 Sidecar 컨테이너를 통한 컨테이너 보안 인증 제공자 방식으로 Access Key 없이 AWS IAM Role 기반 임시 토큰 획득
- Roles Anywhere 보안 강화: Session Policy에 aws:VpcSourceIp 조건 적용해 발급된 임시 키가 허용된 네트워크에서만 사용 가능하도록 제한
- Active-Active 하이브리드 클라우드: 2개의 클라우드 인프라(프라이빗 1개, 퍼블릭 1개)와 4개의 K8S 클러스터를 Active로 동시 운영
Impact
신규 인스턴스 생성 시간 10초 이내 달성
Key Takeaway
프로덕션 수준의 복잡한 인프라도 제한된 인력으로 운영 가능하려면 자동화와 모니터링을 필수적으로 구현해야 하며, 오픈소스 기반 기술을 선택할 때는 소스 코드 커스터마이징을 통해 조직의 특수 요구사항에 맞추는 것이 핵심이다.
실천 포인트
마이그레이션 초기 단계에서 퍼블릭 클라우드를 먼저 도입해 새 서비스를 신속하게 배포하고, 동시에 프라이빗 클라우드를 구축하며, 최종적으로 두 클라우드를 Active-Active로 운영하면 기존 레거시 시스템 마이그레이션 리스크를 낮추면서도 비용 효율성과 인프라 통제권을 동시에 확보할 수 있다.