Cloud

[ACC] 아키텍처 설계 과정

  • -
728x90

요구사항 및 시나리오 정의

수강신청 서비스는 새학기가 시작될 때 사용자가 몰릴 것이다.
특정 기간에 사용자 트래픽이 과중된다.
트래픽 분산이 필요하다.
사용자의 데이터와 서비스의 안정성을 위해 이중화 구성(Multi - AZ)이 필요하다.
사용자 1 ~ n 명의 경우 인스턴스 경량화가 필요하다.
사용자가 100명이 될 경우, 관리형 서비스가 필요할 것이다.
사용자가 1000명이상이 될 경우, 부하를 줄이기 위한 아키텍처 구성이 필요하다. ← 이 부분에 집중
아키텍처 설계
적은 사용자에 대한 고려
[ 고려 사항 ]
기본 아키텍처
적절한 인스턴스 선택
인스턴스 경량화 - 데이터베이스 분리, web/was 분리 → 3 Tier 구축
기본 보안 및 모니터링
비용 효율적인 구성
[아키텍처 구성]
단일 퍼블릭 서브넷 → Public과 Private으로 분리함으로써 외부 사용자가 접근하는 네트워크와 데이터가 저장된 네트워크를 나눈다.
인스턴스 경량화를 위해 WEB/WAS 역할을 하는 인스턴스와 DB 역할을 하는 인스턴스를 분리한다.
사용자는 Route53이라고 하는 DNS서비스를 통해 Public IP를 찾아서 AWS VPC 안에 구성된 인스턴스와 연결하여 서비스를 이용한다.
퍼블릭 서브넷에 있는 탄력적 ip 가 사용되는 Instance는 Web과 WAS 역할을 하고 프라이빗 서브넷에 있는 인스턴스는 데이터베이스 역할을 한다.
기본 모니터링
CloudWatch를 통한 리소스 메트릭 및 로그 모니터링
자동 대시보드 생성, 임계치 초과 알람(Slack 연결)
2계층 구성
인스턴스 경량화 - 3tier 분리 구축
public subnet
web server
private subnet
was
db

여전히 소규모 서비스이기는 하지만 사용자와 트래픽 증가에 대한 대비를 미리 해보자!
→ 고 가용성에 집중을 하자
사용자가 1000명인 경우
사용자가 100명 이하인 경우
[ 아키텍처 설계 ]
HA(고가용성)을 위한 방안
이중화
다중 가용영역 (Multi -AZ)단일 인스턴스, 단일 데이터베이스 개수를 늘리는 Scale Out
ELB를 이용한 수평적 확장
인스턴스 개수가 여러 개일 때 트래픽을 어떻게 처리할까? → 인스턴스 앞 단에서 사용자 트래픽을 받아서 각 인스턴스에게 분배해줘야 한다.
ELB를 사용함으로써 트래픽을 받아 부하를 분산시키고 가용성을 높여줄 수 있다.
서비스를 보다 안전하게 구성하려면 1개 이상의 가용 영역을 사용해야 한다.
트래픽 분산
트래픽 분산 대상
EC2 인스턴스
컨테이너
IP 주소
다중 가용 영역 지원
자동으로 용량 확장
오토 스케일 그룹 지원(자동으로 인스턴스를 ELB에 등록하고 제외)
ELB Service
ALB(Application Load Balancer)
고가용성, 자동확장
L7기반 로드 밸런서
컨텐츠 기반 라우팅
HTTP, HTTPS, HTTP/2 지원
헬스 체크
세션 유지
모니터링/로깅

'Cloud' 카테고리의 다른 글

[클라우드 컴퓨팅] DB  (0) 2024.01.19
[클라우드 컴퓨팅] 컨테이너와 ECS  (0) 2023.12.05
[Virtualization 101] 2. Vt-d  (0) 2023.10.29
[클라우드 컴퓨팅] Intro  (0) 2023.10.24
[Virtualization 101] 1. Introduction  (0) 2023.10.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.