diff --git a/public/develop/cicd-pipeline-flow.html b/public/develop/cicd-pipeline-flow.html new file mode 100644 index 0000000..3404491 --- /dev/null +++ b/public/develop/cicd-pipeline-flow.html @@ -0,0 +1,417 @@ + + + + + + CI/CD 파이프라인 흐름도 + + + +
+

🚀 CI/CD 파이프라인 흐름도

+ +
+
+
1
+
+
🔧 Code Commit
+
개발자가 코드를 GitLab Repository에 Push
+
+ Git Push + Branch 전략 + Merge Request +
+
+
+ +
+ +
+
2
+
+
🏗️ Build Stage
+
Docker 이미지 빌드 및 의존성 설치
+
+ Composer Install + NPM Build + Docker Build + Asset Compile +
+
+
+ +
+ +
+
3
+
+
🧪 Test Stage
+
자동화된 테스트 실행
+
+ Unit Test + Integration Test + Code Quality + Security Scan +
+
+
+ +
+ +
+
4
+
+
📦 Package & Registry
+
빌드된 이미지를 Container Registry에 Push
+
+ Image Tag + Registry Push + Version Tag +
+
+
+ +
+ +
+
5
+
+
🚀 Deploy Stage
+
대상 서버에 자동 배포
+
+ SSH Connect + Docker Pull + Container Update + Health Check +
+
+
+ +
+ +
+
6
+
+
✅ Post-Deploy
+
배포 후 검증 및 알림
+
+ Smoke Test + Monitoring + Notification + Rollback Ready +
+
+
+
+ +
+
+
+
D
+ Develop Branch +
+
    +
  • 개발 환경 자동 배포
  • +
  • 모든 Push에 대해 파이프라인 실행
  • +
  • Staging 서버 (Play) 배포
  • +
  • 개발팀 테스트 환경
  • +
+
+ +
+
+
M
+ Main/Master Branch +
+
    +
  • 운영 환경 배포
  • +
  • 수동 승인 후 배포
  • +
  • Blue-Green 배포 전략
  • +
  • Production 서버 (A/B) 배포
  • +
+
+ +
+
+
F
+ Feature Branches +
+
    +
  • 기능 개발용 브랜치
  • +
  • Build & Test만 실행
  • +
  • Merge Request 시 검증
  • +
  • 배포 단계는 건너뜀
  • +
+
+
+ +
+

🛠️ 사용 도구 및 기술

+
+
+
🦊
+
GitLab
+ 소스 관리 & CI/CD +
+
+
🐳
+
Docker
+ 컨테이너화 +
+
+
🐘
+
PHP/Laravel
+ 백엔드 프레임워크 +
+
+
⚛️
+
React
+ 프론트엔드 +
+
+
🗄️
+
MySQL
+ 데이터베이스 +
+
+
+
Redis
+ 캐시 서버 +
+
+
🌐
+
Nginx
+ 웹 서버 +
+
+
🔐
+
SSH
+ 보안 접속 +
+
+
+ +
+
+
~5분
+
평균 빌드 시간
+
+
+
~2분
+
평균 배포 시간
+
+
+
95%+
+
배포 성공률
+
+
+
< 30초
+
롤백 시간
+
+
+
+ + \ No newline at end of file diff --git a/public/develop/disaster-recovery-plan.md b/public/develop/disaster-recovery-plan.md new file mode 100644 index 0000000..92ec8f0 --- /dev/null +++ b/public/develop/disaster-recovery-plan.md @@ -0,0 +1,370 @@ +# 🔥 재해복구(DR) 계획서 + +## 1. 개요 및 목적 + +### 1.1 문서 목적 +- 시스템 장애 발생 시 신속한 복구를 위한 체계적인 절차 수립 +- 데이터 손실 최소화 및 서비스 연속성 보장 +- 비상 상황 대응 프로세스 표준화 + +### 1.2 적용 범위 +- **대상 시스템**: 운영 서버 A/B, DB Master/Slave, 개발 서버 +- **대상 서비스**: 웹 애플리케이션, API, 데이터베이스 +- **관련 팀**: 개발팀, 인프라팀, 운영팀 + +--- + +## 2. 복구 목표 설정 + +### 2.1 RTO/RPO 목표 + +| 구분 | 목표 시간 | 설명 | +|------|-----------|------| +| **RTO** (Recovery Time Objective) | 4시간 | 장애 발생 후 서비스 정상화까지 목표 시간 | +| **RPO** (Recovery Point Objective) | 1시간 | 허용 가능한 최대 데이터 손실 시간 | + +### 2.2 서비스별 우선순위 + +| 우선순위 | 서비스 | RTO | RPO | 비고 | +|---------|--------|-----|-----|------| +| **P0 (Critical)** | 결제 시스템 | 1시간 | 0분 | 실시간 백업 | +| **P1 (High)** | 사용자 인증 | 2시간 | 30분 | 핵심 기능 | +| **P2 (Medium)** | API 서비스 | 4시간 | 1시간 | 일반 서비스 | +| **P3 (Low)** | 통계/리포트 | 8시간 | 4시간 | 비핵심 기능 | + +--- + +## 3. 재해 시나리오 및 대응 전략 + +### 3.1 시나리오별 대응 방안 + +#### 🔴 시나리오 1: 단일 서버 장애 +**상황**: 운영 서버 A 또는 B 중 1대 장애 +``` +대응 절차: +1. 로드밸런서에서 장애 서버 제외 (자동) +2. 정상 서버로 모든 트래픽 라우팅 +3. 장애 서버 재시작 시도 +4. 복구 실패 시 새 인스턴스 생성 +5. 서비스 정상화 확인 +``` +**예상 복구 시간**: 5분 (자동) ~ 30분 (수동) + +#### 🔴 시나리오 2: 데이터베이스 장애 +**상황**: DB Master 장애 발생 +``` +대응 절차: +1. DB 모니터링 알람 감지 +2. Slave DB를 Master로 승격 +3. 애플리케이션 DB 연결 정보 변경 +4. 기존 Master 복구 또는 재구축 +5. 새로운 Slave 구성 +``` +**예상 복구 시간**: 30분 ~ 1시간 + +#### 🔴 시나리오 3: 네트워크 장애 +**상황**: 클라우드 리전 전체 네트워크 장애 +``` +대응 절차: +1. DR 사이트 활성화 (IDC 백업 서버) +2. DNS 전환 (TTL 5분) +3. 백업 데이터로 서비스 구동 +4. 임시 운영 모드 전환 +5. 주 사이트 복구 시 데이터 동기화 +``` +**예상 복구 시간**: 1시간 ~ 2시간 + +#### 🔴 시나리오 4: 랜섬웨어/보안 침해 +**상황**: 악성코드 감염 또는 보안 침해 +``` +대응 절차: +1. 감염 시스템 즉시 격리 +2. 네트워크 차단 +3. 클린 백업에서 복구 +4. 보안 패치 적용 +5. 침해 분석 및 보고서 작성 +``` +**예상 복구 시간**: 4시간 ~ 8시간 + +### 3.2 데이터 백업 전략 + +#### 백업 정책 +| 백업 유형 | 주기 | 보관 기간 | 저장 위치 | 자동화 | +|-----------|------|-----------|-----------|---------| +| **전체 백업** | 주 1회 (일요일) | 3개월 | IDC 백업서버 | ✅ | +| **증분 백업** | 일 1회 (새벽 2시) | 1개월 | 클라우드 스토리지 | ✅ | +| **실시간 복제** | 지속 | - | DB Slave | ✅ | +| **스냅샷** | 4시간마다 | 7일 | 클라우드 스냅샷 | ✅ | + +#### 백업 스크립트 예시 +```bash +#!/bin/bash +# Daily Backup Script +DATE=$(date +%Y%m%d) +BACKUP_DIR="/backup/daily/${DATE}" + +# Database Backup +mysqldump -h 10.0.2.20 -u backup -p$DB_PASS \ + --all-databases --single-transaction \ + > ${BACKUP_DIR}/db_backup.sql + +# Application Files Backup +tar -czf ${BACKUP_DIR}/app_backup.tar.gz \ + /var/www/html + +# Upload to Remote Storage +rsync -avz ${BACKUP_DIR}/ \ + backup@172.16.1.11:/central-backup/ + +# Verify Backup +if [ $? -eq 0 ]; then + echo "Backup successful: ${DATE}" + # Send success notification +else + echo "Backup failed: ${DATE}" + # Send alert +fi +``` + +--- + +## 4. 복구 절차서 + +### 4.1 웹 서버 복구 + +```markdown +## 웹 서버 복구 체크리스트 +- [ ] 1. 장애 서버 상태 확인 +- [ ] 2. 로드밸런서에서 제외 확인 +- [ ] 3. 새 인스턴스 생성 (필요시) +- [ ] 4. Docker 환경 구성 +- [ ] 5. 최신 이미지 Pull +- [ ] 6. 환경 변수 설정 (.env) +- [ ] 7. 컨테이너 실행 +- [ ] 8. Health Check 확인 +- [ ] 9. 로드밸런서 재등록 +- [ ] 10. 모니터링 확인 +``` + +### 4.2 데이터베이스 복구 + +```markdown +## DB 복구 체크리스트 +- [ ] 1. 백업 파일 확인 (최신 시점) +- [ ] 2. 새 DB 인스턴스 준비 +- [ ] 3. 백업 데이터 복원 + ```sql + mysql -u root -p < backup.sql + ``` +- [ ] 4. 데이터 정합성 검증 +- [ ] 5. Replication 재설정 +- [ ] 6. 애플리케이션 연결 테스트 +- [ ] 7. 성능 테스트 +- [ ] 8. 모니터링 설정 +``` + +### 4.3 전체 시스템 복구 (Full DR) + +```markdown +## 전체 시스템 복구 순서 +1. **네트워크 인프라** (10분) + - [ ] VPC/Subnet 구성 + - [ ] Security Group 설정 + - [ ] Load Balancer 생성 + +2. **컴퓨팅 리소스** (20분) + - [ ] EC2 인스턴스 생성 + - [ ] Docker 설치 + - [ ] 기본 패키지 설치 + +3. **데이터 복원** (30분) + - [ ] 최신 백업 확인 + - [ ] DB 복원 + - [ ] 파일 시스템 복원 + +4. **애플리케이션 배포** (20분) + - [ ] 컨테이너 이미지 Pull + - [ ] 환경 설정 + - [ ] 서비스 시작 + +5. **검증 및 전환** (20분) + - [ ] 서비스 테스트 + - [ ] DNS 전환 + - [ ] 모니터링 확인 +``` + +--- + +## 5. 비상 연락망 + +### 5.1 에스컬레이션 매트릭스 + +| 레벨 | 담당자 | 역할 | 연락처 | 대응 시간 | +|------|--------|------|---------|-----------| +| L1 | 운영팀 | 1차 대응 | 010-xxxx-xxxx | 24/7 | +| L2 | 인프라팀장 | 인프라 복구 | 010-xxxx-xxxx | 15분 이내 | +| L3 | 개발팀장 | 애플리케이션 복구 | 010-xxxx-xxxx | 30분 이내 | +| L4 | CTO | 최종 의사결정 | 010-xxxx-xxxx | 1시간 이내 | + +### 5.2 외부 지원 연락처 + +| 구분 | 업체명 | 담당자 | 연락처 | 계약 SLA | +|------|--------|--------|---------|----------| +| 클라우드 | 호스팅사 | 기술지원 | 1544-xxxx | 4시간 | +| IDC | 코로케이션 | 24시간 NOC | 02-xxxx-xxxx | 2시간 | +| 보안 | 보안업체 | CERT팀 | 02-xxxx-xxxx | 1시간 | + +--- + +## 6. 복구 테스트 계획 + +### 6.1 정기 DR 훈련 + +| 훈련 유형 | 주기 | 범위 | 소요 시간 | +|-----------|------|------|-----------| +| **Table Top** | 분기 1회 | 시나리오 검토 | 2시간 | +| **부분 복구** | 반기 1회 | 단일 시스템 | 4시간 | +| **전체 복구** | 연 1회 | 전체 시스템 | 8시간 | + +### 6.2 테스트 시나리오 + +```markdown +## DR 테스트 시나리오 예시 +1. **준비 단계** (30분) + - 테스트 환경 격리 + - 백업 확인 + - 팀 준비 상태 확인 + +2. **장애 시뮬레이션** (10분) + - Production 서버 A 강제 종료 + - DB Master 연결 차단 + +3. **복구 실행** (60분) + - 절차서에 따른 복구 + - 시간 측정 + - 이슈 기록 + +4. **검증** (30분) + - 서비스 정상 동작 확인 + - 데이터 정합성 검증 + - 성능 테스트 + +5. **원복** (30분) + - 원래 상태로 복구 + - 테스트 데이터 정리 + +6. **리뷰** (60분) + - 결과 분석 + - 개선점 도출 + - 문서 업데이트 +``` + +--- + +## 7. 복구 후 조치사항 + +### 7.1 Post-Incident 체크리스트 + +- [ ] **즉시 조치** (1시간 이내) + - [ ] 서비스 정상화 공지 + - [ ] 임시 조치사항 문서화 + - [ ] 긴급 패치 적용 + +- [ ] **단기 조치** (24시간 이내) + - [ ] 장애 보고서 작성 + - [ ] 근본 원인 분석 (RCA) + - [ ] 임시 조치 → 영구 조치 전환 + +- [ ] **장기 조치** (1주일 이내) + - [ ] 재발 방지 대책 수립 + - [ ] 프로세스 개선 + - [ ] 교육/훈련 계획 + +### 7.2 장애 보고서 템플릿 + +```markdown +# 장애 보고서 + +## 1. 장애 개요 +- **발생 일시**: 2025-XX-XX HH:MM +- **복구 일시**: 2025-XX-XX HH:MM +- **영향 범위**: +- **심각도**: P0 / P1 / P2 / P3 + +## 2. 타임라인 +| 시간 | 내용 | +|------|------| +| HH:MM | 장애 감지 | +| HH:MM | 1차 대응 시작 | +| HH:MM | 원인 파악 | +| HH:MM | 복구 작업 시작 | +| HH:MM | 서비스 정상화 | + +## 3. 근본 원인 +- + +## 4. 대응 내역 +- + +## 5. 개선 사항 +- [ ] Action Item 1 +- [ ] Action Item 2 +- [ ] Action Item 3 + +## 6. 교훈 (Lessons Learned) +- +``` + +--- + +## 8. 부록 + +### 8.1 주요 명령어 모음 + +```bash +# 서버 상태 확인 +docker ps -a +systemctl status nginx +netstat -tlnp + +# DB 상태 확인 +mysql -e "SHOW SLAVE STATUS\G" +mysql -e "SHOW PROCESSLIST" + +# 백업/복원 +tar -xzf backup.tar.gz -C /restore/ +mysql < backup.sql + +# 네트워크 진단 +ping -c 4 10.0.1.10 +traceroute 10.0.1.10 +nslookup domain.com + +# 로그 확인 +tail -f /var/log/nginx/error.log +docker logs container_name +journalctl -u docker -f +``` + +### 8.2 유용한 도구 + +| 도구 | 용도 | URL/명령어 | +|------|------|------------| +| htop | 시스템 모니터링 | `htop` | +| netdata | 실시간 모니터링 | http://server:19999 | +| mysqltuner | DB 성능 분석 | `perl mysqltuner.pl` | +| docker stats | 컨테이너 모니터링 | `docker stats` | + +### 8.3 참고 문서 + +- AWS Disaster Recovery Whitepaper +- MySQL Replication Best Practices +- Docker Swarm DR Guide +- Laravel Backup Package Documentation + +--- + +**문서 버전**: v1.0 +**최종 수정일**: 2025-01-XX +**다음 검토일**: 2025-04-XX +**담당자**: 인프라팀 \ No newline at end of file diff --git a/public/develop/index.php b/public/develop/index.php new file mode 100644 index 0000000..58a74ed --- /dev/null +++ b/public/develop/index.php @@ -0,0 +1,343 @@ + + + + + + SAM 개발 문서 - Development Documentation + + + +
+
+

📚 SAM 개발 문서

+

Development Documentation Portal

+
+ +
+
+
🏗️
+
+
시스템 아키텍처 다이어그램
+
system-architecture-diagram.html
+
+
+ +
+
💰
+
+
서버 사양 및 비용 분석표
+
server-spec-cost-analysis.html
+
+
+ +
+
🔄
+
+
CI/CD 파이프라인 흐름도
+
cicd-pipeline-flow.html
+
+
+ +
+
🛡️
+
+
재해복구(DR) 계획서
+
disaster-recovery-plan.md
+
+
+ +
+
🌐
+
+
네트워크 토폴로지 다이어그램
+
network-topology-diagram.html
+
+
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/public/develop/meeting-presentation-summary.html b/public/develop/meeting-presentation-summary.html new file mode 100644 index 0000000..3d5037e --- /dev/null +++ b/public/develop/meeting-presentation-summary.html @@ -0,0 +1,662 @@ + + + + + + 클라우드 인프라 구축 제안서 + + + +
+ + +
+
+

+ 🚀 클라우드 하이브리드
인프라 구축 제안 +

+

+ 안정적이고 확장 가능한 시스템 아키텍처 +

+
+

+ 제안일: 2025년 1월
+ 대상: 서비스 초기 운영 ~ 성장 단계
+ 목표: 비용 효율적인 고가용성 시스템 구축 +

+
+
+
+ + +
+
+ 1 +

현재 상황 및 목표

+
+ +
+
+

📍 현재 상황

+
    +
  • 개발 서버 1대 보유
  • +
  • 사무실 내 유휴 서버 2대
  • +
  • GitLab 기반 개발 환경
  • +
  • 초기 서비스 준비 단계
  • +
+
+
+

🎯 구축 목표

+
    +
  • 24/7 고가용성 확보
  • +
  • 자동화된 CI/CD 파이프라인
  • +
  • 비용 효율적 구성
  • +
  • 단계적 확장 가능
  • +
+
+
+ +
+ 💡 핵심 전략: 클라우드와 온프레미스를 결합한 하이브리드 구조로 비용 절감과 안정성 동시 확보 +
+ +
+
+
5대
+
총 서버 구성
+
+
+
99.9%
+
목표 가용성
+
+
+
60만원
+
월 예상 비용
+
+
+
10주
+
구축 기간
+
+
+
+ + +
+
+ 2 +

제안 시스템 구성

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분서버사양역할위치
클라우드운영 A4vCore/8GBService + DB MasterCloud
운영 B4vCore/8GBService + DB SlaveCloud
개발 C2vCore/4GBStagingCloud
코로케이션HP DL360기존 장비CI/CD, AdminIDC
HP DL210기존 장비Backup, MonitoringIDC
+ +
+ 🔄 핵심 기능: 로드밸런싱, DB Master-Slave 복제, 자동 백업, 24/7 모니터링 +
+
+ + +
+
+ 3 +

단계별 구축 로드맵

+
+ +
+
+
1
+
+
Phase 1: 기초 인프라 (1-2주)
+
개발 서버 구축, Docker 환경, 기본 CI/CD 구성
+
+
+
+
2
+
+
Phase 2: 운영 환경 (3-4주)
+
운영 서버 2대 구축, 로드밸런서, DB 이중화
+
+
+
+
3
+
+
Phase 3: CI/CD 고도화 (5-6주)
+
Runner 서버 구축, 무중단 배포 구현
+
+
+
+
4
+
+
Phase 4: 백업/모니터링 (7-8주)
+
자동 백업, DR 환경, 모니터링 시스템
+
+
+
+
5
+
+
Phase 5: 최적화 (9-10주)
+
성능 튜닝, 문서화, 팀 교육
+
+
+
+ +
+
+

🎯 2주차 목표

+

개발 환경 자동 배포

+
+
+

🎯 6주차 목표

+

무중단 운영 배포

+
+
+

🎯 10주차 목표

+

정식 서비스 오픈

+
+
+
+ + +
+
+ 4 +

비용 분석

+
+ +
+
+

📊 초기 운영 비용

+ + + + + + + + + + + + + + + + + +
클라우드 (3대)22만원
IDC 코로케이션30만원
네트워크/기타8만원
월 총액60만원
+
+ +
+

📈 6개월 후 예상

+ + + + + + + + + + + + + + + + + +
클라우드 확장+20만원
Managed DB+15만원
CDN/캐싱+5만원
예상 총액100만원
+
+
+ +
+ 💰 비용 절감 전략: 기존 서버 활용으로 월 40만원 절감, Reserved Instance로 추가 20-30% 할인 가능 +
+
+ + +
+
+ 5 +

기대 효과

+
+ + + +
+
+
5분
+
평균 배포 시간
+
+
+
30초
+
장애 복구 시간
+
+
+
95%
+
자동화율
+
+
+
+ + +
+
+ 6 +

리스크 관리

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
리스크영향도대응 방안
클라우드 장애높음 + • 멀티 AZ 구성
+ • IDC 백업 사이트 활성화
+ • 1시간 내 DR 전환 +
비용 초과중간 + • 일일 비용 모니터링
+ • Reserved Instance 활용
+ • 단계적 확장 전략 +
기술 부채낮음 + • 정기적 리팩토링
+ • 코드 리뷰 프로세스
+ • 기술 문서화 +
보안 위협중간 + • WAF 적용
+ • 정기 보안 점검
+ • 침입 탐지 시스템 +
+ +
+ 🛡️ 핵심 전략: 각 리스크별 대응 계획 수립 및 정기적인 DR 훈련으로 대응 능력 향상 +
+
+ + +
+
+ 7 +

다음 단계 액션 플랜

+
+ +
+

즉시 시작 가능한 작업

+
+
1
+
클라우드 계정 생성 및 네트워크 대역 할당
+
+
+
2
+
개발 서버 (Play) 인스턴스 생성 및 Docker 환경 구축
+
+
+
3
+
GitLab CI/CD 파이프라인 기본 설정
+
+
+
4
+
IDC 코로케이션 계약 및 서버 입고 준비
+
+
+ +
+

📅 1주차 체크포인트

+
    +
  • 개발 서버 구동 완료
  • +
  • 기본 CI/CD 파이프라인 테스트
  • +
  • 팀 권한 및 접근 설정
  • +
  • 초기 비용 모니터링 시작
  • +
+
+ +
+ 🚀 목표: 2주 내 개발 환경 완성 → 10주 내 정식 서비스 오픈 +
+
+ + +
+
+

Q&A

+

+ 추가 질문이나 논의사항이 있으신가요? +

+ +
+

💬 주요 검토 사항

+
    +
  • 구체적인 일정 조정
  • +
  • 초기 투자 비용 승인
  • +
  • 팀 역할 및 책임 분담
  • +
  • 우선순위 조정
  • +
  • 추가 요구사항
  • +
+
+ +
+

+ 연락처: infrastructure@company.com
+ 문서: 상세 기술 문서 제공 가능 +

+
+
+
+ +
+ + \ No newline at end of file diff --git a/public/develop/network-topology-diagram.html b/public/develop/network-topology-diagram.html new file mode 100644 index 0000000..b908d1d --- /dev/null +++ b/public/develop/network-topology-diagram.html @@ -0,0 +1,505 @@ + + + + + + 네트워크 토폴로지 다이어그램 + + + +
+

🌐 네트워크 토폴로지 다이어그램

+ +
+ + + + Internet + + + + Firewall / WAF + + + + Load Balancer + Public IP: X.X.X.X + + + + DMZ (Public Subnet) + + + + Private Subnet + + + + + 운영서버 A + Web Container + 10.0.1.10 + + Nginx + Laravel + + + + + 운영서버 B + Web Container + 10.0.1.11 + + Nginx + Laravel + + + + + + DB Master + MySQL Container + 10.0.2.20 + + Port: 3306 + + + + + DB Slave + MySQL Container + 10.0.2.21 + + Port: 3306 + + + + + + Redis + 10.0.2.30 + Port: 6379 + + + + + + 개발서버 C + 10.0.1.50 + Staging + + + + + IDC 코로케이션 (VPN 연결) + + + + + HP DL360 #1 + CI/CD Runner + 172.16.1.10 + + Admin Dashboard + + GitLab Runner + + + + + HP DL210 #2 + Backup Server + 172.16.1.11 + + Central Backup + + Monitoring + + + + + GitLab Server + Repository + 172.16.1.12 + + Source Control + + CI/CD Pipeline + + + + + + + + + + + + + + + + + + + Replication + + + + + + + VPN Tunnel + + + + Deploy + + + + Backup + + + + + + + + + + + + + + +
+ +
+
+

📡 네트워크 대역 설정

+ + + + + + + + + + + + + + + + + + + + + +
Public Subnet10.0.1.0/24
Private Subnet10.0.2.0/24
IDC Network172.16.1.0/24
VPN Gateway10.0.0.1
DNS Server8.8.8.8, 8.8.4.4
+
+ +
+

🔐 보안 그룹 설정

+ + + + + + + + + + + + + + + + + + + + + +
Web SG80, 443 (Public)
DB SG3306 (Private Only)
Redis SG6379 (Private Only)
SSH SG22 (VPN Only)
Admin SG8080 (VPN Only)
+
+ +
+

🌐 트래픽 라우팅

+ + + + + + + + + + + + + + + + + + + + + +
인바운드Internet → FW → LB
웹 트래픽LB → Web (RR)
DB 쿼리Web → DB (Private)
캐시Web → Redis
관리VPN → Admin
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
서비스프로토콜포트소스대상접근 레벨
HTTPTCP800.0.0.0/0Load BalancerPublic
HTTPSTCP4430.0.0.0/0Load BalancerPublic
SSHTCP22172.16.1.10All ServersPrivate
MySQLTCP330610.0.1.0/24DB ServersInternal
RedisTCP637910.0.1.0/24Redis ServerInternal
Admin PanelTCP8080VPN UsersHP DL360Private
GitLabTCP8090VPN UsersGitLab ServerPrivate
MonitoringTCP3000VPN UsersHP DL210Private
+ +
+

🛡️ 보안 정책 및 네트워크 격리

+
+
+

🔥 Firewall Rules

+
    +
  • DDoS Protection 활성화
  • +
  • Rate Limiting 설정
  • +
  • GeoIP Blocking 적용
  • +
  • WAF 규칙 적용
  • +
+
+
+

🔒 Access Control

+
    +
  • SSH Key 기반 인증
  • +
  • MFA 적용 (Admin)
  • +
  • IP Whitelist 관리
  • +
  • 최소 권한 원칙
  • +
+
+
+

📊 Monitoring

+
    +
  • IDS/IPS 구축
  • +
  • 로그 중앙화
  • +
  • 실시간 알람
  • +
  • 트래픽 분석
  • +
+
+
+

🔄 Network Isolation

+
    +
  • VLAN 분리
  • +
  • Subnet 격리
  • +
  • Zero Trust 모델
  • +
  • 마이크로 세그먼테이션
  • +
+
+
+
+
+ + \ No newline at end of file diff --git a/public/develop/server-spec-cost-analysis.html b/public/develop/server-spec-cost-analysis.html new file mode 100644 index 0000000..80289e0 --- /dev/null +++ b/public/develop/server-spec-cost-analysis.html @@ -0,0 +1,314 @@ + + + + + + 서버 사양 및 비용 분석 + + + +
+

💰 서버 사양 및 비용 분석

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분서버명타입/모델사양용도위치예상 월 비용
클라우드운영 서버 AStandard4vCore / 8GB RAMWeb Service + DB MasterCloud₩88,000
클라우드운영 서버 BStandard4vCore / 8GB RAMWeb Service + DB StandbyCloud₩88,000
클라우드개발 서버 CPlay2vCore / 4GB RAMStaging ServiceCloud₩44,000
코로케이션HP DL360 #1Physical기존 보유 장비CI/CD Runner, Admin(통계)IDC₩150,000 (상면비)
코로케이션HP DL210 #2Physical기존 보유 장비백업, DR, 모니터링IDC₩150,000 (상면비)
+ +
+
+

💵 클라우드 비용

+
₩220,000
+
월간 클라우드 서버 3대
+
+
+

🏢 IDC 코로케이션

+
₩300,000
+
월간 상면비 (2U 기준)
+
+
+

🌐 네트워크/기타

+
₩80,000
+
트래픽, 로드밸런서, 백업
+
+
+

📊 총 예상 비용

+
₩600,000
+
월간 인프라 총 비용
+
+
+ +
+
🚀 초기 단계 (현재)
+
+
+
총 vCore
+
10 vCore
+
+
+
총 메모리
+
20 GB
+
+
+
서버 대수
+
5대
+
+
+
예상 동시접속
+
~1,000명
+
+
+
+ +
+
📈 확장 단계 (6개월 후)
+
+
+
추가 운영 서버
+
+2대
+
+
+
DB 분리
+
Managed DB
+
+
+
캐시 서버
+
Redis Cluster
+
+
+
예상 비용 증가
+
+₩400,000
+
+
+
+ +
+

📝 비용 최적화 전략

+ +
+ +
+

⚠️ 추가 고려사항

+ +
+
+ + \ No newline at end of file diff --git a/public/develop/system-architecture-diagram.html b/public/develop/system-architecture-diagram.html new file mode 100644 index 0000000..19e75f3 --- /dev/null +++ b/public/develop/system-architecture-diagram.html @@ -0,0 +1,305 @@ + + + + + + 시스템 아키텍처 다이어그램 + + + +
+

🏗️ 클라우드 하이브리드 시스템 아키텍처

+ +
+ + + + + + + + 클라우드 영역 + IDC 코로케이션 영역 + 사용자 접근 영역 + + + + Load + Balancer + + + + + + 운영 서버 A + Standard (4vCore/8GB) + + Web Service + + DB Master (Active) + + + + + + 운영 서버 B + Standard (4vCore/8GB) + + Web Service + + DB Standby + + + + + + 개발 서버 C + Play (2vCore/4GB) + + Staging Service + + Dev DB + + + + + + GitLab + Repository + CI/CD Pipeline + + + + + + + HP DL360 #1 + + CI/CD Runner + + GitLab 중앙 거점 + + Admin (통계) - Standby DB 사용 + + + + + + HP DL210 #2 + + 중앙 백업 저장소 + + DR 환경 + + 중앙 모니터링/로깅 + + + + + + Users + 일반 사용자 + + + + + Admin + 관리자 + + + + + Dev + 개발자 + + + + + + + + + + Replication + + + + + + + + + + Deploy + + + + Backup + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + 운영 서버 +
+
+ + 개발 서버 +
+
+ + CI/CD 서버 +
+
+ + 백업 서버 +
+
+ + 로드밸런서 +
+
+ + GitLab +
+
+ +
+
+

📡 네트워크 구성

+
    +
  • Public Subnet: Web Service Layer
  • +
  • Private Network: Database Layer
  • +
  • VPN: Admin Access
  • +
  • Load Balancing: Round Robin / Health Check
  • +
+
+
+

🔐 보안 구성

+
    +
  • SSH: Runner 서버만 운영 서버 접근 허용
  • +
  • DB: 외부 직접 접근 차단
  • +
  • Admin: VPN 통한 접근
  • +
  • Firewall: 각 서버별 Security Group 적용
  • +
+
+
+

💾 데이터 흐름

+
    +
  • Master-Slave DB Replication
  • +
  • 중앙 백업 서버로 일일 백업
  • +
  • DR 환경 구성
  • +
  • 로깅 데이터 중앙 집중화
  • +
+
+
+

🚀 CI/CD 파이프라인

+
    +
  • GitLab → Runner → Deploy
  • +
  • 자동 테스트 및 빌드
  • +
  • Blue-Green 배포 (향후)
  • +
  • 롤백 전략 구현
  • +
+
+
+
+ + \ No newline at end of file