← Projects
완료코멘토 리눅스 운영 직무 부트캠프

3-tier 인프라 구축 및 모니터링

VM 4대로 3-tier 웹 서비스를 직접 구축하고, 서버 자원 지표를 한눈에 보는 모니터링 환경까지 만든 프로젝트

리눅스 서버 운영을 실제로 해 보기 위해 진행한 부트캠프 과제입니다.

3-tier 인프라 구축 및 모니터링 대표 화면
기간
5주
인원
개인
내 역할
설계부터 구축, 모니터링까지 전부

기술 스택

  • VMware
  • RHEL9
  • Nginx
  • Node.js
  • PostgreSQL
  • Prometheus
  • node_exporter
  • Grafana
  • stress

아키텍처

사용자의 요청은 Nginx(web01), WAS(Node.js, was01), DB(PostgreSQL, dbm01) 순서로 전달됩니다. 관리 서버 mgt01의 Prometheus는 4대 서버의 node_exporter에서 자원 지표를 수집합니다.
사용자의 요청은 Nginx(web01), WAS(Node.js, was01), DB(PostgreSQL, dbm01) 순서로 전달됩니다. 관리 서버 mgt01의 Prometheus는 4대 서버의 node_exporter에서 자원 지표를 수집합니다.

내가 한 일

  • 1주차: VMware로 RHEL9 VM 4대(web01, was01, dbm01, mgt01)를 만들고 저장소, 호스트명, 보안 설정을 했습니다.
  • 2주차: Nginx, Node.js, PostgreSQL을 설치했습니다.
  • 3주차: Nginx를 리버스 프록시로 두고 웹, WAS, DB를 연동해 3-tier 구조를 완성했습니다.
  • 4주차: Prometheus와 Grafana로 4대 서버의 자원 지표(CPU, 메모리)를 수집하고 시각화했습니다.
  • 부하 실습: stress로 부하를 주고, 지표가 어떻게 변하는지 확인했습니다.
  • 단계마다 VM 스냅샷을 저장해, 문제가 생기면 바로 복구할 수 있게 했습니다.

결과

stress 부하 중 web01 CPU
72.86%
같은 시간 나머지 3대 CPU
3~5%
모니터링 대상
4대

배운 점

  • 리버스 프록시로 뒤쪽 서버를 외부에 드러내지 않고 계층을 나눠 관리하는 이유를 직접 구성하며 이해했습니다.

한계

  • VM을 한 대씩 수동으로 구축했습니다. 서버가 많아지면 Terraform 같은 IaC 도구로 자동화할 필요가 있습니다.
3-tier 인프라 구축 및 모니터링 | Changmin.dev