https://app.notion.com/p/0623-388695d25b8d80568bd6e760c961bc3f?source=copy_link
인프라 명세 설명
웹 페이지 요구사항
간단하게 홈페이지 예시 구현(참고용 aa2.html, 웹 브라우저로 실행)
| 분류(영역) | 버튼명 | 아이콘 | 현재 클릭 시 동작 (시뮬레이션) | 향후 실제 연동 대상 (연결 URL/API) |
|---|---|---|---|---|
| OpenStack / VM | VM 생성 | ➕ | OpenStack 대시보드로 연결 예정 | OpenStack Horizon 프로젝트 → 인스턴스 → 인스턴스 생성 URL 직접 이동 |
| OpenStack / VM | OpenStack 대시보드 | ☁️ | 대시보드 연결 (10.147.21.31) | cloud01 컨트롤러 Horizon UI (http://10.147.21.31/dashboard) |
| Docker Swarm | 클러스터 상태 | 🏁 | core01(Leader), core02(Standby) | Swarm API /v1/nodes 호출 또는 Portainer 연동 |
| Docker Swarm | 서비스 배포 | 🚀 | swarm_web_net 오버레이 연결 | GitHub Actions → docker stack deploy 기반 GitOps 배포 |
| MinIO + S3 | 백업 실행 | 🔄 | MinIO → S3 동기화 시작 | Backup Manager 수동 기동 (mc sync) |
| MinIO + S3 | 복구 테스트 | 📋 | 최신 백업본 복원 시뮬레이션 | 버저닝 오브젝트 Dry-Run 복원 스크립트 호출 |
| Grafana | 대시보드 열기 | 📊 | core01:3000 연결 | Grafana 서비스 (http://10.147.21.10:3000) 라우팅 |
| Grafana | 알림 보기 | 🔔 | CPU 임계치 85% 초과 0건 | Alertmanager API → Active Alerts 조회 |
| 보안 (WAF) | 위협 로그 | ⚠️ | ModSecurity 1시간 내 탐지 0건 | SEC VM Auditd 로그 또는 ELK 검색 화면 연동 |
| 보안 (WAF) | 차단 현황 | 🚫 | Fail2ban IP: 203.0.113.45 외 2개 | fail2ban-client status 결과 REST API 파싱 |
| HashiCorp Vault | 비밀 조회 | 🔑 | 정책 기반 토큰 발급 예정 | Vault UI (http://10.147.21.40:8200) 또는 Dynamic Secret API |
| HashiCorp Vault | 접근 이력 | 📜 | 최근 24시간 접근 12건 | Vault Audit Device 로그 기반 감사(Audit) 테이블 조회c |
| ID | 분류 (Category) | 주요 고려사항 (Requirements) | 현 Clover 구성 대비 (Current Gap) | 실무 적용 시 우선순위 및 유의점 |
|---|---|---|---|---|
| AR-01 | 가용성 / DR | 데이터베이스(DB) 이중화 (Swarm 매니저만 HA이고, DB는 단일 SPOF) | MariaDB/MySQL 등 상태 저장(Stateful) DB가 단일 노드에 종속됨 | 필수 (Critical). Galera Cluster 구축 또는 Cloud Native RDS 전환 검토 |
| AR-02 | 운영 / 로깅 | 중앙 집중식 로그 시스템 (ELK/EFK) (Prometheus는 메트릭만 수집, 로그 추적 불가) | 각 VM의 syslog 및 컨테이너 로그가 분산 저장되어 장애 추적이 어려움 | 높음 (High). Filebeat + Elasticsearch 기반 로그 수집 체계 구축 필요 |
| AR-03 | 보안 | 컨테이너 이미지 취약점 스캐닝 (WAF는 외부 방어, 내부 이미지 검증 없음) | Docker 이미지에 알려진 CVE가 포함되어도 탐지 및 차단 불가 | 중간 (Medium). CI 단계에 Trivy 또는 Snyk 도입하여 취약 이미지 배포 차단 |
| AR-04 | 배포 자동화 | CI/CD 파이프라인 자동화 (GitOps) (현재는 수동으로 site.yml 실행) |
개발자가 VM에 직접 접속하여 Ansible 실행 필요 (휴먼 에러 발생 가능) | 높음 (High). GitHub Actions 또는 ArgoCD 기반 자동 배포 체계 구축 |
| AR-05 | 모니터링 | 서비스 레벨 모니터링 (Synthetic / Blackbox) (내부 메트릭만 확인, 외부 접속 상태 미확인) | 사용자 관점에서 웹 서비스(80/443)가 정상 응답하는지 확인하는 로직 부재 | 중간 (Medium). Blackbox Exporter를 활용한 외부 헬스체크 도입 |
| AR-06 | 비용 / 자원 | 유휴 자원 오토스케일링 다운 정책 (온프레미스 환경 기준) | 야간·주말에도 VM 및 컨테이너가 지속 가동되어 자원 낭비 발생 | 선택 (Low-Priority). OpenStack 스케줄러 또는 Swarm Replica 수를 시간대별로 자동 조정하는 정책 고려 |