v1.1.0 — 7 Gateway x 125 MCP 도구 아키텍처
· 약 3분
단일 Gateway(29개 도구)에서 7개 전문 Gateway x 125 MCP 도구로 전면 재설계한 마일스톤 릴리스입니다.
핵심 변화
1 Gateway → 7 Gateway · 29 도구 → 125 도구 · 19 Lambda 함수 · Sonnet 인텐트 분류기 도입
Before / After: Gateway 아키텍처
| 항목 | Before (v1.0) | After (v1.1.0) |
|---|---|---|
| Gateway 수 | 1 (Ops) | 7 (역할 기반) |
| MCP 도구 수 | 29 | 125 |
| Lambda 함수 | 5 | 19 |
| 라우팅 | 단일 경로 | 9단계 우선순위 |
| 인텐트 분류 | 키워드 매칭 | Sonnet 자연어 분류 |
| Container 응답 시간 | ~50초 | ~23초 |
7개 역할 기반 Gateway
각 Gateway가 특정 도메인에 최적화된 도구 세트를 제공합니다. agent.py의 GATEWAYS 딕셔너리에서 URL을 관리합니다.
| Gateway | 도구 수 | 주요 기능 | Lambda 함수 |
|---|---|---|---|
| Network | 17 | VPC Flow Logs, SG 규칙, Reachability | network_analyzer, reachability_analyzer, tgw_analyzer, vpn_analyzer, firewall_analyzer |
| Container | 24 | EKS, ECS, Istio 트러블슈팅 | eks_analyzer, ecs_analyzer, istio_analyzer |
| IaC | 12 | CloudFormation, CDK, Terraform | cfn_analyzer |
| Data | 24 | DynamoDB, RDS, ElastiCache, MSK | dynamodb_analyzer, rds_analyzer, elasticache_analyzer, msk_analyzer |
| Security | 14 | IAM 정책 시뮬레이션, 권한 분석 | iam_analyzer |
| Monitoring | 16 | CloudWatch 메트릭/알람, CloudTrail 이벤트 | cloudwatch_analyzer, cloudtrail_analyzer |
| Cost | 9 | Cost Explorer, Budgets 예산 | cost_analyzer, budget_analyzer |
19개 Lambda 함수
agent/lambda/ 디렉토리에서 관리되며, create_targets.py로 Gateway Target을 일괄 생성합니다.
Gateway Target 생성
CLI 대신 Python/boto3를 사용합니다 (mcp.lambda + credentialProviderConfigurations).
CLI의 inlinePayload 이슈로 인해 프로그래밍 방식이 필수입니다.
| # | Lambda | 도메인 | 주요 기능 |
|---|---|---|---|
| 1 | network_analyzer | Network | VPC Flow Logs 분석, SG 규칙 검증 |
| 2 | reachability_analyzer | Network | VPC Reachability Analyzer 경로 분석 |
| 3 | tgw_analyzer | Network | Transit Gateway 라우팅 |
| 4 | vpn_analyzer | Network | Site-to-Site VPN 상태/터널 |
| 5 | firewall_analyzer | Network | Network Firewall 규칙 |
| 6 | eks_analyzer | Container | EKS 클러스터, 노드 그룹, 애드온 |
| 7 | ecs_analyzer | Container | ECS 서비스, 태스크, 인사이트 |
| 8 | istio_analyzer | Container | Istio 서비스 메시 구성 |
| 9 | dynamodb_analyzer | Data | 테이블 용량, GSI/LSI |
| 10 | rds_analyzer | Data | 인스턴스 성능, 파라미터 그룹 |
| 11 | elasticache_analyzer | Data | 클러스터 상태, Valkey 지원 |
| 12 | msk_analyzer | Data | 브로커 상태, 토픽 분석 |
| 13 | iam_analyzer | Security | 정책 시뮬레이션, 권한 분석 |
| 14 | cloudwatch_analyzer | Monitoring | 메트릭/알람 분석 |
| 15 | cloudtrail_analyzer | Monitoring | 이벤트 검색 |
| 16 | cost_analyzer | Cost | Cost Explorer 비용/예측 |
| 17 | budget_analyzer | Cost | Budgets 예산 모니터링 |
| 18 | cfn_analyzer | IaC | CloudFormation 스택/드리프트 |
| 19 | steampipe_query | Ops | Steampipe SQL 쿼리 실행 |
동적 라우팅 시스템
src/app/api/ai/route.ts에서 9단계 우선순위 키워드 기반 라우팅을 수행합니다.
agent.py:payload.gateway파라미터로 게이트웨이 선택route.ts: 9단계 우선순위 키워드 기반 라우팅- Sonnet 인텐트 분류기 도입 (
c56f557) — 키워드 미매칭 시 자연어 분석으로 최적 Gateway 선택
AI 테스트 결과
Gateway 분리 효과를 검증하기 위해 104개 질문 테스트를 수행했습니다.
| 항목 | 결과 |
|---|---|
| 테스트 질문 수 | 104개 |
| 라우팅 정확도 | 93% (97/104) |
| Container 응답 속도 개선 | 54% (50s → 23s) |
| Gateway 분리 효과 | 도메인별 전문 도구로 응답 품질 향상 |
성능 개선 포인트
Gateway를 분리하면 에이전트가 참조하는 도구 수가 줄어들어 도구 선택 정확도와 응답 속도 모두 향상됩니다. 단일 Gateway(125개 도구)에서는 LLM이 적절한 도구를 찾는 데 시간이 걸리지만, Container Gateway(24개 도구)에서는 즉시 관련 도구를 선택합니다.