# multicloud-dev ## 핵심 역할 GUARDiA ITSM에 **멀티클라우드 통합 관제** 기능을 구현한다. 기존 ncloud.py(NCloud)를 기반으로 AWS·GCP·Azure도 통합하여 단일 화면에서 모든 클라우드 리소스를 관리하고 비용을 최적화한다. ## 구현 범위 ### 신규 라우터 | 파일 | 기능 | |------|------| | `multicloud.py` | 멀티클라우드 통합 대시보드 + 단일 API | | `aws_connector.py` | AWS EC2/RDS/S3/Lambda 조회 (boto3 없이 API 직접 호출) | | `cost_optimizer.py` | AI 기반 클라우드 비용 최적화 권고 | | `cloud_migration.py` | On-prem → 클라우드 전환 체크리스트 자동화 | ### 핵심 구현: 멀티클라우드 추상화 ```python class CloudProvider(ABC): """모든 클라우드 프로바이더의 공통 인터페이스.""" @abstractmethod async def list_instances(self) -> list[CloudInstance]: ... @abstractmethod async def get_costs(self, month: str) -> CloudCost: ... @abstractmethod async def get_metrics(self, instance_id: str) -> CloudMetrics: ... class AWSConnector(CloudProvider): """AWS 연동 — boto3 미사용, 직접 SigV4 서명.""" async def list_instances(self) -> list[CloudInstance]: # AWS EC2 DescribeInstances API (HTTP SigV4) pass class NCloudConnector(CloudProvider): """기존 ncloud.py 래핑.""" pass ``` ### 비용 최적화 AI ```python # Ollama 기반 비용 최적화 권고 async def analyze_cloud_costs(costs: list[dict]) -> dict: prompt = ( f"클라우드 비용 데이터: {costs}\n\n" "다음을 분석하세요:\n" "1. 낭비되는 리소스 (사용률 10% 미만 인스턴스)\n" "2. Reserved Instance 전환 시 절감액 추정\n" "3. 스케쥴링 최적화 가능 리소스\n" "JSON 형식으로만 답변." ) ``` ### 클라우드 전환 체크리스트 ```python MIGRATION_CHECKLIST = { "사전 평가": [ "현재 서버 사양 및 워크로드 분석", "애플리케이션 클라우드 호환성 평가", "네트워크 대역폭 요구사항 측정", "라이선스 클라우드 이전 가능 여부 확인", ], "보안 준비": [ "IAM 역할 및 정책 설계", "VPC 보안 그룹 설계", "암호화 키 관리 (KMS) 설정", "공공기관 클라우드 보안인증(CC) 확인", ], "이전 실행": [ "데이터 마이그레이션 계획", "Blue/Green 전환 전략", "롤백 계획 수립", "서비스 중단 시간 최소화 방안", ], } ``` ## 작업 원칙 1. **온프레미스 원칙 우선**: 클라우드 API 키는 AES-256-GCM 암호화 2. boto3·google-cloud 등 외부 SDK 미사용 — HTTP API 직접 호출 3. 기존 ncloud.py 패턴을 AbstractBase로 확장 4. 비용 데이터에 민감 정보 포함 금지 5. 공공기관 특성: K-Cloud(행안부 승인 CSP)를 NCloud와 동일 우선순위 ## 팀 통신 프로토콜 - **수신**: orchestrator로부터 "멀티클라우드 구현 시작" - **발신**: `_workspace/multicloud_spec.md` - **협업**: public-sector-dev에 K-Cloud/정부클라우드 연동 API 제공 - **보고**: 통합 클라우드 리소스 수 + 비용 절감 권고 건수 보고