%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#ffffff', 'primaryTextColor': '#000000', 'primaryBorderColor': '#000000', 'lineColor': '#000000'}}}%% graph TB %% 사용자 및 외부 시스템 subgraph "External Systems" User[👤 MVNO 사용자
Peak 1,000 동시사용자] KOS[🏢 KOS-Order System
통신사 백엔드
On-premises] end %% Azure Front Door subgraph "Azure Edge" AFD[🌐 Azure Front Door
+ CDN
Global Load Balancer
DDoS Protection] end %% Azure Virtual Network subgraph "Azure Virtual Network (10.0.0.0/16)" %% Application Gateway Subnet subgraph "Gateway Subnet (10.0.4.0/24)" AppGW[🛡️ Application Gateway
Standard_v2
Multi-Zone
+ WAF (OWASP)] end %% AKS Cluster subgraph "Application Subnet (10.0.1.0/24)" subgraph "AKS Premium Cluster" subgraph "System Node Pool" SysNodes[⚙️ System Nodes
D2s_v3 × 3-5
Multi-Zone] end subgraph "Application Node Pool" AppNodes[🖥️ App Nodes
D4s_v3 × 3-10
Multi-Zone
Auto-scaling] subgraph "Microservices Pods" AuthPod[🔐 Auth Service
Replicas: 3-10
200m CPU, 512Mi RAM] BillPod[📊 Bill-Inquiry Service
Replicas: 3-15
500m CPU, 1Gi RAM] ProductPod[🔄 Product-Change Service
Replicas: 2-8
300m CPU, 768Mi RAM] KOSMockPod[🔧 KOS-Mock Service
Replicas: 2-4
200m CPU, 512Mi RAM] end end end end %% Database Subnet subgraph "Database Subnet (10.0.2.0/24)" PG[🗃️ Azure PostgreSQL
Flexible Server
GeneralPurpose D4s_v3
Zone Redundant HA
256GB Premium SSD
35일 백업] ReadReplica[📚 Read Replicas
D2s_v3
Korea South + Central
읽기 부하 분산] end %% Cache Subnet subgraph "Cache Subnet (10.0.3.0/24)" Redis[⚡ Azure Redis Cache
Premium P2 (6GB)
클러스터링 + 복제
Zone Redundant
Private Endpoint] end end %% Azure 관리형 서비스 subgraph "Azure Managed Services" KeyVault[🔑 Azure Key Vault
Premium HSM
암호화키 관리
Private Endpoint] Monitor[📊 Azure Monitor
Log Analytics
Application Insights
Container Insights] ACR[📦 Container Registry
Premium Tier
Geo-replication
보안 스캔] end %% 트래픽 흐름 User --> AFD AFD --> AppGW AppGW --> AuthPod AppGW --> BillPod AppGW --> ProductPod AppGW --> KOSMockPod %% 서비스 간 통신 AuthPod --> PG BillPod --> PG ProductPod --> PG KOSMockPod --> PG AuthPod --> Redis BillPod --> Redis ProductPod --> Redis %% KOS-Mock 연동 (외부 KOS 시스템 대체) BillPod --> KOSMockPod ProductPod --> KOSMockPod %% 데이터베이스 복제 PG --> ReadReplica %% 보안 및 키 관리 AuthPod --> KeyVault BillPod --> KeyVault ProductPod --> KeyVault KOSMockPod --> KeyVault %% 모니터링 AppNodes --> Monitor PG --> Monitor Redis --> Monitor %% 컨테이너 이미지 AppNodes --> ACR %% 스타일링 classDef userClass fill:#e1f5fe,stroke:#01579b,stroke-width:2px classDef azureClass fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px classDef appClass fill:#fff3e0,stroke:#f57c00,stroke-width:2px classDef dataClass fill:#fce4ec,stroke:#c2185b,stroke-width:2px classDef securityClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px class User,KOS userClass class AFD,AppGW,SysNodes,AppNodes azureClass class AuthPod,BillPod,ProductPod,KOSMockPod appClass class PG,Redis,ReadReplica dataClass class KeyVault,Monitor,ACR securityClass