AWS 서버 인프라 확장 과정

임상규·2023년 9월 4일
1

AWS

목록 보기
9/33

오늘은 AWS 서버 인프라 확정과정에 대해서 적어보도록 하겠다.

1️⃣ 기본적인 형태

가장 단순한 형태의 구조이다.
EC2를 외부에서 접근 가능한 Elastic IP를 통해 Route53에 연결해서 서비스를 제공하는 아키텍처이다.
EC2 하나에 애플리케이션과 DB엔진을 모두 사용할 경우 위와같은 형태로 구성이 가능하다.

2️⃣ RDS 추가

하나였던 EC2를 2개로 이중화하여 서버의 가용성을 확보하였다.
DB를 RDS의 단일형태로 사용하여 분리하고 관리형 서비스를 사용하여 운영의 이점을 확보하였다.

단,DB의 단일화로 안정성이 떨어진다.

3️⃣ RDS Multi-AZ

RDS의 Multi-AZ로 DB를 이중화 하였다.
Master DB 장애발생 시 Slave DB에서 Failover가 가능하다.
DB의 안정성을 확보하였다.

4️⃣ ELB 추가

로드밸런서를 통한 부하분산을 추가하였다.
이 설계는 로드밸런서를 EC2 앞에 배치해서 EC2를 외부에서 직접 접근이 불가능하다.
ELB의 Health Check 기능과 다양한 모니터링 지표를 활용 가능하다.

5️⃣ Auto Scaling 추가

Auto Scaling 사용으로 서버의 수평확장이 가능하다.
하지만, 트래픽 증가 시 EC2가 수평확장함으로써 예상치 못한 DB에 부하가
발생 가능하다.
따라서 DB 또한 해당 부하를 감내할 수 있도록 설계가 필요하다.

6️⃣ S3 추가

S3에 정척 컨텐츠 처리를 위임한 설계이다.
EC2가 정적 컨텐츠 처리를 하지않고 S3에게 위임하면, EC2에 부하를 줄이고 S3에 다양한 기능을 활용해 컨텐츠에 접근관리나 형상관리가 가능하다.

7️⃣ CloudFront 추가

정적컨텐츠를 빠르게 배포하기 위해서 CloudFront를 추가하였다.
CloudFront를 통해 각 지역에 존재하고있는 Edge Location에 S3의 정적컨텐츠가 Cache가 되기에 서비스의 성능을 향상시킬 수 있다.

8️⃣ CloudFront를 통한 서비스

정적컨텐츠 뿐만 아니라 모든 트래픽을 CloudFront를 통해 서비스하는 설계이다.
ELB를 CloudFront에 연결해서 동적컨텐츠에 대한 Cache 기능을 활용해서
성능을 향상시킨다.

9️⃣ 글로벌 인프라 확장

ELB 아래로 서비스들은 생략.

Route53의 다양한 라우팅 정책을 활용하여 글로벌 라우팅(GSLB)을 구성해서
글로벌 서비스로의 확장을 쉽게 구현이 가능하다.

profile
Junior DevOps Engineer

0개의 댓글