[AWS] Web Application 3Tier-Architecture

1. Web Application 3Tier-Architecture란?

3Tier-Architecture란 응용 프로그램을 3개의 논리적 및 물리적 컴퓨팅 계층으로 구성하는 방식이다.
이 방식은 각 계층이 분리되어 자체 인프라에서 실행되기 때문에 동시에 개발이 가능하며 다른 계층에 영향을 주지 않으면서 확장이나 업데이트될 수 있다는 장점이 있다.

Web Application 3Tier-Architecture는 위의 그림과 같이 Web Server-WAS-DB Server로 나눌 수 있다.

  • Web Server
    사용자 인터페이스를 지원하는 계층으로 웹 서버, 웹 사이트에 해당한다.
    사용자에게 HTTP 요청을 받으면 WAS로 필요한 구성요소 요청을 보내고 받은 응답을 사용자에게 전달하는 역할을 한다.
  • WAS
    어플리케이션 계층에 해당하며, 요청되는 정보를 처리하고 가공하는 역할을 담당한다.
    사용자가 Web Server에 HTTP 요청을 하게 되면 WAS에서는 필요한 데이터 쿼리를 DB서버에 요청하고 동적 컨텐츠를 만들어 제공하는 역할을 한다.
  • DB Server
    데이터베이스와 데이터베이스에 접근하여 필요한 데이터를 읽고 쓰는 것을 관리하는 모든 것을 포함한다.


2. 3Tier-Architecture 구성을 위해 알아야 할 요소들

2-1. Amazon Virtual Private Cloud (VPC)


VPC란?

사용자가 정의하는 IP 주소 범위, NACL 및 서브넷 생성, 라우팅 테이블 설정, 네트워크 게이트웨이 구성 등 논리적으로 분리된 가상 네트워크 환경을 의미한다.

*보안그룹과 NACL의 차이점

2-2. Amazon Elastic Compute Cloud (EC2)


EC2란?

AWS에서 제공하는 스펙 조절이 가능한 가상의 서버이다.
CPU, 메모리 등 다양한 스펙의 컴퓨팅 리로스를 조절/선택할 수 있으며, 생성되는데 단 몇 분 밖에 걸리지 않는다는 특징을 가지고 있다.
다만 설정한 성능을 변경하기 위해서는 동작하고 있는 EC2를 중지고 변경 후 재부팅 하거나 종료하고 새로 만들어야 한다.
부하에 따라 용량을 늘리거나 줄일 수 있어 탄력성이 높다는 장점도 있다.
비용 방식은 사용한 만큼 초당 청구 된다.

2-3. Elastic Load Balancing (ELB)


ELB란?

트래픽 라우팅 및 분산 처리를 해주는 장치로, 고가용성을 위해 사용한다.
Healthy Check 기능을 지원하여 등록된 대상의 상태를 모니터링하면서 양호한 대상으로만 트래픽을 라우팅한다.
보안 그룹 및 SSL을 통해 애플리케이션을 보호하는 기능도 가지고 있으며 세션 고정 (Sticky 세션)을 지원한다.

2-4. Auto Scaling


Auto Scaling이란?

성능과 비용을 최적화하도록 애플리케이션의 규모를 탄력적으로 조정하는 서비스이다.
사용이 간단하며 지속적으로 모니터링하며 설정한 목표에 맞게 자동으로 성능을 유지시켜준다.
또한 예약된 조정을 사용하면 예측 가능한 부하 변화에 따라서 일정을 설정할 수 있다.

2-5. Amazon Elastic Block Store (EBS)


Amazon EBS란

EC2 인스턴스에 직접 붙여서 사용하는 인스턴스 전용 디스크이다.
스냅샷을 만들어 Amazon S3에 데이터를 백업할 수 있으며 단일 AZ에서 내구성 99.999% 보장한다.

2-6. Amazon Simple Storage Service (S3)


Amazon S3란?

HTTP 프로토콜을 통해 엑세스 하는 객체 스토리지이다.
거의 무제한의 확장성을 가지고 있는 대용량 서비스이며, 뛰어난 내구성, 안정성을 가지고 있다.

2-7. Amazon Relational Database Service (RDS)


RDS란?


데이터베이스 매니지드 서비스의 약자로 데이터베이스를 간편하게 설정, 운영, 및 확장할 수 있다.
사용 가능한 데이터베이스 엔진으로는 Amazon Aurora, PostgreSQL, Mysql, MariaDB, Oracle, SQL Server가 있다.

RDS의 특징

– 용량 조절이 가능
– 비용 효율적
– 자동 백업 가능
– 최대 6TB
– Read-Replica (읽기 전용 복제본) 지원
– Multi-AZ (다중 가용 영역 지원, 가용성 보장)

2-8. Amazon CloudFront


Amazon CloudFront란

CDN 서비스로 캐싱을 통해 컨텐츠를 빠르게 전송하는 기술이다.
원한다면 SSL을 설정하여 보다 안전하게 컨텐츠를 전송할 수 있다.
정적 컨텐츠뿐 아니라 동적 컨텐츠도 지원한다.

> CDN 서비스란?
Content Delivery Network의 약자로, 지리적 제약 없이 전 세계 사용자에게 콘텐츠를 빠르고 안전하게 전송하는 기술을 의미한다.

각각의 CloudFront 에지 로케이션을 통해 다른 리전의 사용자에게 콘텐츠를 빠르고 안전하게 전송 할 수 있다.


3. 3Tier-Architecture 다시 보기