이제 온프레미스 학습이 끝나고
온프레미스 환경에서 인프라 구축 프로젝트가 진행된다.
기간이 주말포함 6일 정도의 아주 짧은 프로젝트이기에
프로젝트를 잘 정해야 했다.
이날 오후부터 프로젝트 주제에 대해 이야기 했고,
넷플릭스를 온프레미스에서 서비스한다면 어떤 인프라로 운영될지 예상하고,
한 번 "작은 규모의 스트리밍 사이트를 운영하기" 로 정했다.
Miniflix : 온프레미스로 운영되는 소규모 스트리밍 서비스 구축
팀원: 5인
DMZ존으로 외부에게 열려있는 곳과
DMZ존에 서버로 부터 접근할 수 있는 내부망 영역으로 구성했다.
운영 PC는 2개 정하고
하나는 DMZ 하나는 내부망으로 나눠서 운영하기로 했다.
A. DMZ Zone (공개망)
구성요소 서버 역할
로드밸런서 | HAProxy | 외부 요청 분산 처리 (/api, /stream 요청 등) |
웹서버 | NGINX | 정적 웹페이지(Vue) 제공, /api 프록시 |
스트리밍 서버 | NGINX RTMP | 영상 스트리밍 전송 (RTMP/HLS 등) |
CDN 캐시 | Varnish | 콘텐츠 캐싱으로 응답속도 향상 및 서버 부하 분산 |
- 외부에서 접근할 수 있는 구간
- HAProxy가 포함된 라우터 서버만 외부에서 접근가능하고 포트포워딩으로 서버에 분배
- 보안형 DMZ 아키텍쳐
B. Internal Zone (내부망)
스토리지 서버 | NFS | 영상 파일 저장, 공유 볼륨 |
데이터베이스 | MariaDB | 사용자, 콘텐츠, 조회 기록 등 저장 |
트랜스코딩 서버 | FFmpeg | 원본 영상 → 다양한 해상도로 변환 |
백업 서버 | rsync or cron 기반 | 영상 및 DB 주기적 백업 |
DNS 서버 | BIND | 내부 도메인 네임 관리 (api.netflix.local 등) |
모니터링 | Zabbix/ELK | 서버/서비스 상태 시각화 및 이상 감지 |
분석 서버 | ELK + Neo4j | 시청 로그 수집 및 추천 기반 분석 |
메시지 브로커 | Kafka | 비동기 로그 전송, 분석 큐 |
- 내부망 서버들은 외부에서 직접 접근 불가
- 단, DMZ에서 API 호출 등 특정 요청만으로 제어된 형태로 통과
이렇게 구성할 서버들과 구조를 구상했다.
그리고 각자 구축할 서버들을 정했다.
나(DMZ, 운영PC2)
- DMZ쪽 전반을 맡았다.
- 라우터 서버, 프론트 넣을 NGINX 서버, 백엔드 넣을 APACHE 서버, CDN서버, 스트리밍 서버다.
- 프론트, 백엔드 간략한 수준으로 만들고 빌드 후 각 서버에 올리고, 간단하게 영상 하나 정도 브라우저에서 볼 수 있게 하는게 목표
- 그 과정에서 내부망에 DB와 스토리지서버에서 데이터를 받아오고, 트랜스코딩 서버에서 적절하게 포맷을 변경 시키는 등의 작업이 필요할 것 같다.
팀원1 (내부망, 운영 PC1)
- 내부망 라우터구축
- DNS 서버 구축
- 내부망 전반 관리
팀원2:
- DB 서버 구축
- 스토리지 서버 구축
- 백업 서버 구축
팀원3:
- 모니터링 서버 구축
- 분석 서버 구축
- 메시지 브로커 서버 구축
팀원 4:
- 트랜스코딩 서버 구축
- 스토리지 서버 구축
- 스트리밍 서버 구축
이 정도로만 정하고 프로젝트 0일차가 끝났다.
짧은 기간이지만 욕심 때문인지 좀 규모가 큰 거 같아 열심히 한 번 해봐야겠다.
특히 우선순위 정하는게 제일 중요할 거 같다.
'공부일지 > 클라우드 SA 교육' 카테고리의 다른 글
4/25 세미 프로젝트 2일차: 버벅거린 하루 (0) | 2025.04.25 |
---|---|
4/24 세미프로젝트 1일차: 기획 및 설계 (0) | 2025.04.24 |
4/22 혼자 인프라 구축 해보기 (0) | 2025.04.22 |
4/21 서버 구축 복습 (0) | 2025.04.21 |
[2주차] 주간 회고 (2025.04.14 ~ 04.20) (0) | 2025.04.20 |