Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS 서버 구성도 아키텍처

seongduck 2022. 12. 21. 22:41

AWS 서버를 구성하기 전 고려할 사항이 몇가지가 있다.

  1. Back Up을 수시로 진행
  2. 고가용성 보장
  3. WEB, WAS 로드시간, DB 오버르드 등 완화할 수 있는 기능
  4. WEB 정적 컨텐츠 부하 해결 방안
  5. 파일전송 스토리지 이용
  6. 보안 및 스토리지 안정성

이들을 고려하여 그림을 그려보자.

 

3-Tier 구성


서버의 기본 구성은 3-Tier(WEB - WAS - DB) 구조이다.

AWS내에서도 각 서버를 구현을 해야하는데 Instance를 만들어 각 기능을 수행한다.

하나의 Availability Zone(가용영역)에 구성해야하며 알맞은 Subnet을 선택한다.

3-Tier 구조 AWS

  • Private Subnet은 내부에서만 접근할 수 있으며 Public Subnet은 외부에서도 접근이 가능하다.
    • 당연히 Private Subnet이 보안적으로 뛰어나다.
  • 하지만 보안을 위해 WEB 부분을 Private Subnet에 두게되면 외부에서 접근이 불가능하다. 따라서 Public Subnet을 따로 만들어 WEB에 접근하도록 만들 것이다.
  • 3 - Tier에 각각 ec2를 배치하고 DB는 RDS를 이용한다.

 

NAT gateway란?

  • WEB, WAS, DB부분이 외부에서 업데이트 및 외부와 통신해야하는 경우가 있다. 하지만 Private Subnet의 경우 외부와 단절되어 있다. 이때 Public Subnet에 있는 NAT gateway를 이용하여(요청하여) 외부에 잠시 접근할 수 있다.

Bastion Host란?

  • 관리자가 접근할 수 있으며 테스트 용도 및 내부로 접근할 때 사용한다.

 

 

이중화를 위한 다른 가용영역에 3 - Tier 구성 (A-A)


그럴 가능성은 매우 적지만 AZ가 중단될 때에도 정상적으로 서버를 구성하기위해 다른 AZ에 서버를 똑같이 구성한다.

이중화 구성

  • 구조가 똑같지만 DB의 경우 Standard - Active 구성으로 비용을 절감한다.
  • AZ - C부분의 DB를 Read전용 Replica로 구성한다.

두 개의 서버가 마치 하나의 것 처럼(Auto Scaling), 또한 부하 분산을 위해 로드 밸런서를 추가해주자

 

 

로드 밸런서, 오토 스케일링 추가


주황색 선은 NAT gateway를 통해 외부통신

회색 선은 오토스케일링 표시

  • 사용자는 IG를 통해 접근하여 외부 로드밸런서(EX-ALB)로 접근한다.
  • WEB단이 Private에 있기 때문에 Public Subnet의 대역폭을 이용하여 ALB로 접근 후 WEB으로 접근한다.(보안성 증가)
  • 그 후 앞단에 있는 오토스케일링(FE-ASG)가 각각의 EC2로 연결한다. (늘렸다 줄였다)
  • 그리고 하단의 로드밸런서와 오토스케일링을 통해 WAS로 접근한다.

 

Internet Gateway란?

  • VPC와 인터넷간 통신이 가능하도록 하는 역할

로드밸런서란?

  • L4장비로써 부하분산하는 역할을 한다.

오토스케일링이란?

  • 많이 사용할땐 늘려주고, 사용하지 않거나 적게 사용하면 줄이는 역할

 

NAS 전용 스토리지와 WEB, WAS 등 부하를 완화하는 장비를 추가하자.

 

 

Elasticache & Elastic File System 추가


  • 회색 경로를 통해 통신하는 루트를 표시
  • ElastiCache를 통해 실패 노드를 자동 감지 및 복원을 진행한다. (WEB, WAS로드시간, DB오버로드 완화)
    • WAS와 DB사이 직접 연결되고 통신하며 Replica node와 클러스터로 연결되어 있음
  • EFS(Elastic File System)을 통해 NAS 파일전송 스토리지 디바이스 역할을 진행.
    • EFS생성 시 Mount Target이 생성, 이를 사이에 두고 연결 및 통신을 진행

마지막으로 외부에서 안전하게 접근 및 보안에 신경써서 최종 아키텍처를 그리자.

 

ElastiCache for Redis란?

  • 완전 관리형 인메모리 데이터 저장소 및 캐시 서비스

 

 

Amazon CloudFront & AWS WAF & Route 53 추가


전체적인 구성도

  • Amazon CloudFront로 WEB 정적 컨텐츠 부하 해결 및 트래픽 감소
    • 웹사이트 기능 개선 및 고객 만족도 증가
  • AWS WAF를 통해 디도스 및 외부공격 방어 가능
  • Route53을 통한 복구 컨트롤러로 장애시 복구 제어 및 모니터링이 가능
  • 고가용성을 위해 DB를 M-S(Master - Slave)구조로 배치하고 Aurora를 사용하여 99.99% 가용성 보장
  • 주기적인 스냅샷을 통한 Backup