|
안녕하세요, AI 서비스 & 솔루션 프로바이더 베스핀글로벌입니다.
AWS re:Invent 2025의 [CNS210]을 확인해보시기 바랍니다.
|
☑️ Keynote
| 세션명 |
From monolith to microservices: Migrate and modernize with Amazon EKS |
| 세션코드 |
CNS210 |
| 발표일자 |
2025.12.03 |
| 강연자 |
Isaac Mosquera, Nirmal Mehta |
| 키워드 |
Amazon EKS Modernization, Monolith to Microservices Migration, EKS Auto Mode & Pod Identity, Strangler Fig Pattern, Multi-Tenancy Architecture, GitOps & ACK Automation |
핵심 내용
및 요약 |
ㆍ모놀리식 애플리케이션에서 마이크로서비스 아키텍처로 전환하는 여정을 Amazon EKS를 중심으로 심층 분석합니다. Strangler Fig 패턴부터 시작하여, 복잡해지는 컨테이너 환경을 EKS Auto Mode와 EKS Pod Identity로 효율적으로 관리하고, ACK(AWS Controllers for Kubernetes)와 GitOps를 활용해 인프라 구축까지 자동화하는 구체적인 로드맵을 제시합니다. 복잡한 멀티테넌트 환경에서 운영 효율성을 극대화하고 보안 및 규정 준수를 강화하는 실질적인 방법을 배우고 싶다면 반드시 확인해야 할 세션입니다 |
|
1. 모놀리식 아키텍처의 한계와 전환 필요성
1.1 모놀리식의 장점과 성장의 벽
초기에는 개발과 운영이 단순하여 효율적입니다. 그러나 사용자·고객·기능 증가 시 확장 및 배포 속도가 현저히 떨어집니다. QA/배포가 모두 하나의 단위로 묶여 있어 작은 실패도 전체 장애로 확대됩니다.
1.2 변화 압력과 마이크로서비스 필요성
• 팀 규모 증가(4명 → 400명), 기능 복잡성 증가, GenAI 등 신기능 요구됩니다.
• 민첩성, 팀 자율성, 독립적 배포·확장 필요 → 마이크로서비스 필요성 증가합니다.

|
2. 마이크로서비스 아키텍처의 가치
2.1 분리와 자율성
• 각 기능을 독립 서비스로 분리됩니다.
• 팀별 기술 선택 자유, 배포 속도 향상됩니다.
• API 기반의 명확한 서비스 경계 형성됩니다.
2.2 확장성과 안정성
• 서비스 단위로 독립 확장 가능합니다.
• 장애가 전체 애플리케이션으로 확산되지 않습니다.
|
3. 모놀리식 분해 전략: Strangler Fig 패턴
3.1 점진적 분해 전략
• 기존 모놀리식을 즉시 제거하지 않고 특정 기능부터 AWS로 분리하여 마이크로 서비스화합니다.
• 기존 시스템은 그대로 유지하며 점진적으로 현대화합니다.
3.2 클라우드 이전 초기 구조
• 일부 핵심 기능(결제, 청구, 메트릭 등)을 EC2 기반 마이크로 서비스로 분리됩니다.
• 점진적으로 전체 시스템을 클라우드·마이크로서비스 구조로 전환됩니다.

|
4. 컨테이너와 Kubernetes의 필요성
4.1 복잡성 증가 문제
• 서비스가 3개 → 수백 개로 증가합니다.
• 인스턴스 수 증가, 표준화 부재, 배포 파이프라인 난립합니다.
4.2 컨테이너 도입
• 환경 불일치 문제 해결합니다.
• 애플리케이션 패키징 및 이동성을 제공합니다.
4.3 Kubernetes 도입
• 서비스 검색, 로드밸런싱, 자동 스케일링, 롤링업데이트 등 대규모 운영에 필수 기능 제공합니다. 그러나 오픈소스 Kubernetes 자체 운영은 부담이 큽니다.
|
5. Amazon EKS의 역할
5.1 관리형 Kubernetes
• 컨트롤 플레인 관리 제거합니다.
• 고가용성/보안/성능 등을 AWS가 제공합니다.
• Auto Mode 기반 자동 리소스 관리 및 확장합니다.
5.2 AWS 네이티브 통합
• AWS CNI, IAM Role, 네트워크 정책 등 기존 AWS 기능과 자연스럽게 연동합니다.
• 멀티클러스터, 하이브리드 클라우드(EKS Hybrid Nodes) 지원합니다.
|
6. 멀티테넌트 아키텍처로 발전
6.1 단일 테넌트의 한계
• 고객 증가 시 클러스터 수 증가 → 비용 폭증 → 운영 복잡성↑
6.2 네임스페이스 기반 멀티테넌시
• 네트워크 정책으로 서비스 간 통신 제어합니다.
• AWS CNI 사용 시 파드 단위로 Security Group 적용 가능합니다.
• 디지털 울타리 형태의 격리 제공합니다.
6.3 리소스 쿼터로 노이즈 이웃 해결
• CPU/Memory 등 테넌트별 자원 한도 설정합니다.
• LimitRange로 파드 단위 리소스 제한 → 전체 노드 고갈 방지합니다.

|
7. EKS Auto Mode와 Pod Identity 도입
7.1 Auto Mode – 노드 운영 부담 제거
• Carpenter 기반 자동 프로비저닝
• SLA별 인스턴스 타입/Spot/OnDemand 조정합니다.
• 테넌트별 워크로드에 맞춰 자동 확장/격리 제공합니다.
7.2 Pod Identity – 안전한 AWS 리소스 접근
• 애플리케이션에서 AWS Access Key 제거합니다.
• 파드가 IAM Role을 직접 사용합니다.
• 키 관리, rotation, 보안·감사 체계 단순화합니다.


|
8. 정책 관리와 감사: OPA / Kyverno
8.1 정책 기반 운영
• 배포 전 Admission Controller에서 정책 검증합니다.
• 잘못된 매니페스트(예: root 권한, PHI 규정 미준수)를 자동 차단합니다.
• 모든 제어 내역은 CloudTrail로 감사 가능합니다.

|
9. GitOps + ACK 기반 인프라 자동화
9.1 Git을 중심으로 하는 자동화
• 모든 매니페스트는 Git에 저장 → ArgoCD가 자동 배포합니다.
• 서비스·인프라의 변경은 Pull Request로 관리합니다.
9.2 ACK를 활용한 AWS 리소스 프로비저닝
• S3, RDS, DynamoDB, IAM 등을 K8s 매니페스트로 생성합니다.
• 테넌트 온보딩을 수주 → 수시간 단위로 단축합니다.
• 팀별 조율(Jira 티켓) 제거 → 완전 자동화합니다.

|
10. 최종 아키텍처와 목표
10.1 통합 컨트롤 플레인
• 컨트롤 플레인이 모든 테넌트·정책·AWS 리소스 관리합니다.
• 애플리케이션 클러스터는 워크로드 실행에만 집중합니다.
10.2 확장성이 핵심
• 자동화 없이는 마이크로서비스 규모 확장 불가능합니다.
• EKS Capabilities(Argo Managed Controller, ACK, KRO 등)로 운영 간소화합니다.
10.3 요약
• 모놀리식은 확장성·운영성 한계에 빠지며 AWS EKS 기반 마이크로서비스로의 전환이 필수적입니다.
• EKS Auto Mode, Pod Identity, 멀티테넌시, OPA/Kyverno로 운영 자동화·보안·확장성 확보합니다.
• GitOps + ACK로 AWS 인프라까지 매니페스트 기반 완전 자동화 → 테넌트 온보딩/확장 속도 극대화합니다.
|