AWS 3-Tier 아키텍처

IT 정보|2023. 11. 6. 15:32

1. 3-Tier 구조 개요

어떠한 플랫폼이나 어플리케이션을 3계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태를 말한다. 보통 프레젠테이션 계층, 어플리케이션 계층, 데이터 계층으로 나눈다. 웹 서버를 운영할 경우 1대의 서버에 전부 구축하지 않고 각각 웹 서버, WAS, DB의 3개로 나누어 운영한다.

 

2. 계층 설명

(1) 프레젠테이션 계층

사용자가 직접 마주하게 되는 계층을 의미한다. 따라서 주로 사용자 인터페이스를 지원하며 GUI 또는 프론트엔드라고도 부른다. 주로 HTML, JavaScript, CSS 등이 이 계층에 포함되며 대표적으로 WEB 서버가 해당된다.

(2) 어플리케이션 계층

요청되는 정보를 어떠한 규칙에 따라 처리하고 가공한다. (동적인 데이터를 제공) Business Logic 또는 Transaction 계층이라고도 한다. 첫번째 계층 또는 클라이언트 계층에서 이 계층을 바라볼 때는 서버처럼 동작하고 (응답) 세번째 계층의 프로그램에 대해서는 클라이언트처럼 행동한다. (요청) 따라서 이 계층은 미들웨어 또는 백엔드라고도 불린다. 주로 PHP, Java 등이 이 계층에 포함되며 대표적으로 WAS 서버가 해당된다.

(3) 데이터 계층

데이터베이스와 데이터베이스에 접근하여 데이터를 CRUD 하는 것을 포함한다. 따라서 주로 DBMS가 해당되며 이 계층 또한 백엔드라고도 불린다. 주로 MySQL, MongoDB 등이 해당된다.

 

3. 데이터의 흐름

(1) 외부 -> 내부 통신

외부 인터넷에서 IGW(Internet Gateway)를 통해 VPC로 들어간 뒤 External Load Balancer를 통해 WEB 서버로 들어가게 된다. WEB 서버에서 WAS 서버로 이동할 때는 Internal Load Balancer를 거쳐 Master 데이터베이스로 이동하게 된다. 만약 Master 데이터베이스가 고장나거나 오류가 발생하면 Slave 데이터베이스가 그 역할을 대신하게 된다.

(2) 내부 -> 외부 통신

내부에 있는 서버가 외부 인터넷과 통신할 때는 NAT Gateway를 통해 공인 IP를 부여받고 통신을 하게 된다.

 

4. 장점

(1) 각 계층이 분리되어 있어 계층별 작업을 나눌 수 있으므로 업무 분담이 가능해지고 계층별 서로 다른 팀이 동시에 개발할 수 있으므로 업무 효율성이 증가한다.

(2) 서버가 계층별 독립적으로 존재하기에 확장하기 편한다.

(3) 한 계층에서 일어난 장애가 다른 계층의 가용성이나 성능에 큰 영향을 미치지 않는다.

(4) 계층별 순차적인 접근으로 인해 외부에서 직접적인 접근이 불가하므로 보안적인 측면에서 2계층이나 1계층보다 좋다.

 

5. 단점

1, 2계층보다 관리가 더 필요하며 설계 및 구축이 어렵고 많은 비용이 발생한다.

댓글()