Clould/Amazon Web Service
[AWS] 3-Teir Architecture 그리기
WoongIT
2022. 7. 27. 13:50
반응형
SMALL
3-Tier 아키텍처를 그려보자!
- 사용자들이 Domain Name을 통해 웹 사이트 접속을 한다는 가정을 잡고 구성해 봤습니다.
- 정적 또는 동적 파일을 할당하고 처리해서 장애를 최소화한 무중단 아키텍처를 구성했습니다.
Route53
- AWS 제공하는 DNS(Domain Name System), 사용자들은 도메인 네임을 통해 접속
- DNS는 이를 IP 주소로 변환시켜 컴퓨터가 적절한 서버로 접속 할 수 있게 도와줌
WAF(Web Application Firewall)
- 웹 애플리케이션 보안에 특화되어 개발된 솔루션입니다.
- 웹 애플리케이션에 대한 3티어 구조이기 때문에 WAF를 둠으로써
- 직,간접적인 웹 공격에 대응하도록 구성
CloudFront
- 글로벌 콘텐츠 전송 네트워크(CDN) 서비스입니다.
- 이는 사용자에게 가장 가까운 엣지 서버를 찾아서 빠르게 정적, 동적 콘텐츠를 제공
- 이후 같은 요청에 대해서는 캐시 기능을 사용하여서 사용자에게 더 빠른 응답을 함
- 데이터 엑세스 비용이 추가적으로 들지 않는다
S3 (Simple Storge Service)
- 객체 스토리지 서비스입니다.
- 사진이나 동영상과 같은 정적 콘텐츠를 저장하고 있는 오리진 서버로서 구성을 하였습니다.
- 뛰어난 확장성 및 비용 측면에서도 절감이 될 것이라 생각했습니다.
NAT GateWay (Network Address Translation)
- 네트워크 주소 변환 서비스 입니다.
- 보안을 강화시키기 위하여 서버들을 Private Subnet으로 구성했기 때문에
- 외부와의 통신 및 Public IP 절약을 위해서 구성했습니다.
- 서버들은 NAT를 통해서 외부에서 패키지를 다운 받을 수 있게 됩니다.
ALB (Application Load Balancer)
- 7계층에서 작동하는 로드밸런서이며 호스트와 경로 기반 라우팅을 지원합니다.
- HTTP/HTTPS라는 프로토콜을 통해 외부에서 접속을 하기 때문에
- 목적에 맞게 External LB는 7계층 로드 밸런서를 사용했습니다
NLB (Network Load Balancer)
- 4계층에서 동작하는 로드밸런서이며 UDP/TCP 연결을 지원합니다.
- 보다 암호화 되어 있고 빠른 부하 분산을 위해서 Internal에는 4계층 로드 밸런서를 사용
Web Server
- 사용자에게 보여지는 역할을 하는 서버로서, 정적 콘텐츠를 처리합니다.
- 웹 사이트에 접속했을 때 가장 먼저 보여지는 역할을 하고
- HTTP 통신을 통하여 사용자와 가장 가깝게 접하게 되는 서버입니다.
App Server
- 동적 콘텐츠를 관리하는 서버로서 뒷단의 다양한 처리를 담당하게 됩니다.
- 웹 서버에서 사용자의 추가적인 요청을 처리하거나 DB로 데이터를 넘겨주는 역할을 합니다.
- 웹 서버와 분리 시킴으로서 서버 부하를 줄여주었습니다.
RDS (stand-by)
- 사용자의 정보가 저장되는 공간이며 가장 보안에 예민하고 중요한 역할을 하고 있습니다
- 사용자의 민감 정보가 저장 되는 공간이기 때문에 장애가 발생하거나 보안에 취약해서는 안됩니다.
- 장애에 대비 하기 위해 Stand-by DB를 구성하여서
- 장애가 발생하여 Master DB가 멈추어도 Stand-by가 동작하도록 구성했습니다.
VPN (Virtual Private Network)
- 가설 사설망을 뜻하며 데이터를 위해 암호화된 터널을 생성하고 IP 주소를 숨기는 역할
- 회사와 AWS 간 VPN을 생성하여 회사에서도 VPN을 통해 AWS 리소스로 접근이 가능하도록 구성했습니다
Simple Notification Service
- 메시지를 전송하는 관리형 서비스입니다.
- 이를 통해 관리자는 오토스케일링이라던지, 경고에 대한 알림을 받을 수 있도록 구성했습니다.
Cloud Watch
- 실시간으로 실행 중인 애플리케이션을 모니터링하는 서비스입니다.
- 구축된 인프라에 대해 관리자가 모니터링할 수 있도록 구성하였으며
- 이를 트리거로 하여 오토스케일링이 일어나게 구성 했습니다.
Cloud Trail
- 계정에 대한 거버넌스, 규정 준수, 운영 및 위험 감사를 활성화하는 데 도움이 되는 서비스
- 이를 통해 사용자 활동을 모니터링 하여 로그로 기록되게끔 구성했습니다.
Internet GateWay
- VPC와 인터넷 간에 인터넷 통신을 할 수 있게 해주는 서비스입니다.
- 이를 통해 AWS 내의 리소스는 외부 통신이 가능합니다
Public Subnet
- 외부와 통신이 가능하게 열려있는 서브넷입니다.
- NAT를 배치시켜 외부 통신할 수 있도록 구성했습니다
Private Subnet
- 외부와 통신이 가능하지 않고 내부 통신만 가능하게 설정 되어있는 서브넷입니다.
- 모든 서버를 프라이빗 서브넷에 배치시킴으로서 인터널 통신만 가능하게 설정했습니다.
VPC(Virtual Private Cloud)
- 사용자가 정의한 가상 네트워크라고 불립니다.
- 논리적으로 공간을 격리하여 리소스를 할당하였습니다
Available Zone
- 리전 내에 격리된 위치를 뜻합니다.
- 단일 AZ를 사용하는 것보다 장애 발생에 대비할 수 있게 되어 가용성이 향상되기 때문에 구성하였습니다
Auto scailing
반응형
LIST