분석 기반 5개 확장 영역 선정: 1. cmdb-autodiscovery-dev: SSH/SNMP 에이전트리스 자동 발견 2. nlquery-dev: Text-to-SQL + 대화형 운영 어시스턴트 3. config-drift-dev: 골든 구성 vs 실제 비교·자동 교정 4. multicloud-dev: AWS/GCP/NCloud 단일 관제·비용 최적화 5. public-sector-dev: 나라장터·공공API·ISP·K-Cloud 목표: 104개→124개 라우터, 667→764개 엔드포인트 로드맵: advanced-roadmap.md (P0~P3 우선순위 포함) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
93 lines
3.2 KiB
Markdown
93 lines
3.2 KiB
Markdown
# 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 제공
|
|
- **보고**: 통합 클라우드 리소스 수 + 비용 절감 권고 건수 보고
|