이번 강은 시리즈의 마무리로, 지금까지 배운 요소를 묶어 실제 웹 서비스를 설계한다.
VM·스토리지·네트워크·LB·오토스케일·백업·IaC를 따로 배웠다. 이제 이것들을 하나의 전형적인 구조 — 3계층(3-tier) 웹 서비스 — 로 조립한다.
이 강의 목표는 다음과 같다.
- 3계층 구조가 무엇인지 이해한다.
- 각 계층을 어느 서브넷에 두는지 안다.
- 앞서 배운 요소가 어디에 들어가는지 한눈에 잡는다.
1. 3계층(3-tier) 구조
서비스를 역할에 따라 세 층으로 나눈다.
| 계층 | 역할 | 배치 |
|---|---|---|
| 웹 | 사용자 요청 수신·화면 | 퍼블릭 서브넷 |
| 앱 | 비즈니스 로직 처리 | 퍼블릭/프라이빗 |
| 데이터 | DB·파일 저장 | 프라이빗 서브넷 |
계층을 나누면 각 층을 독립적으로 확장하고, 데이터 계층을 외부에서 차단할 수 있다.
2. 네트워크 배치 (4강)
- VPC
10.0.0.0/16하나를 만든다. - 퍼블릭 서브넷: 웹·앱 VM. LB를 통해 외부와 연결.
- 프라이빗 서브넷: DB VM. 외부에서 직접 접근 불가, 아웃바운드는 NAT로만.
- 보안그룹: 웹은 80/443, DB는 웹·앱에서 오는 DB 포트만 허용.
3. 각 요소가 들어가는 자리
- 로드밸런서 + 오토스케일(6강): 웹 계층 앞에. 트래픽에 따라 웹 VM 자동 증감.
- 블록 스토리지(3강): DB VM의 데이터 디스크.
- 오브젝트 스토리지(9강): 정적파일(이미지·업로드)·백업 보관.
- 스냅샷·DR(8강): DB 볼륨 정기 스냅샷 → 오브젝트 스토리지.
- IaC(10강): 이 전체를 Terraform 코드로 선언해 재현.
- 모니터링·비용(11강): 대시보드·알람으로 운영.
4. 요청이 흐르는 길
- 사용자가 도메인으로 접속 → 로드밸런서가 받는다.
- LB가 웹 VM(오토스케일 그룹)에 분산한다.
- 웹/앱이 로직을 처리하고 필요하면 DB VM(프라이빗)에 질의한다.
- 이미지·파일은 오브젝트 스토리지에서 서빙한다.
- DB는 정기 스냅샷으로 백업된다.
예제
예제) 하루 대부분은 한산하다가 점심·저녁에 주문이 몰리는 배달 서비스를 설계한다. 어떤 구성을 잡나?
해설) 웹·앱 계층을 퍼블릭 서브넷에 두고 로드밸런서 뒤 오토스케일 그룹으로 구성해, 피크 시간엔 VM이 자동으로 늘고 한산하면 줄어 비용을 아낀다. DB는 프라이빗 서브넷에 두어 외부에서 직접 접근을 막고, 블록 스토리지에 데이터를 둔 뒤 정기 스냅샷으로 백업한다. 메뉴 이미지·영수증 같은 정적파일과 백업은 오브젝트 스토리지에 보관한다. 이 전체를 Terraform으로 코드화해 두면 지역 확장 시 그대로 복제하고, 대시보드·예산 알람으로 운영한다.
정리
- 3계층은 웹·앱·데이터로 역할을 나눈 전형적 웹 서비스 구조다.
- 웹·앱은 퍼블릭, 데이터는 프라이빗 서브넷에 두어 DB를 외부와 차단한다.
- LB·오토스케일·스토리지·스냅샷·IaC가 각자의 자리에 들어간다.
- 앞선 강들의 요소를 조립하면 확장 가능하고 안전한 서비스가 된다.
이것으로 Zadara Cloud 사용법 시리즈(1~12강)를 마친다. 소개·기본(1~5강)부터 고가용성·마이그레이션·백업·자동화·운영·종합 설계(6~12강)까지, AWS 지식을 국내 대안 클라우드에서 실전으로 활용하는 흐름을 익혔다.
댓글 0
댓글은 운영자만 작성할 수 있어요.