ebson

[UDEMY] Section 11. Classic Solutions Architecture Discussions 본문

AWS SAA

[UDEMY] Section 11. Classic Solutions Architecture Discussions

ebson 2023. 7. 23. 20:59

아래는 Udemy의 Ultimate AWS Certified Solutions Architect Associate SAA-C03 강의내용 중 Section 11.

120 - 126강을 요약한 내용입니다.(Section 11. Classic Solutions Architecture Discussions)

 

1. Stateless web app: What time is it?

1.1. Startng simple

단일 EC2에 Elastic IP 주소를 할당하고 사용자의 요청에 응답함.

1.2. Scaling vertically

T2 타입에서 M5 타입으로 업그레이드하고 다수의 사용자의 요청에 더 빨리 응답함.

1.3. Scaling horizontally

EC2 인스턴스를 여러개로 늘리고 다수의 사용자들의 요청에 더 빨리 응답함.

DNS 쿼리 TTL을 1시간으로 설정하고 EC2 에 도메인을 부여함.

1.4. Scaling horizontally, adding and removing instances

EC2 인스턴스에 Elastic IP를 부여하지 않고 추가, 삭제하면서 요청에 응답.

1.5. Stateless web app: What time is it? Scaling horizontally, with a load balancer

사설 네트워크 영역에 EC2 인스턴스들을 두고 public 네트워크 영역의 로드 밸런서에 연결.

1.6. Stateless web app: What time is it? Scaling horizontally, with an auto-scaling group

ASG를 생성하고 로드 밸런서와 연결함.

1.7. Stateless web app: What time is it? Making our app multi-AZ

여러개의 AZ에 걸쳐서 ASG를 생성하고 로드 밸런서에 연결함.

 

2. Stateful Web App: MyClothes.com

2.1. Introduce Stickiness (Session Affinity)

로드 밸런서와 ASG를 연결하고 스티키 세션을 적용해 깉은 클라이언트는 같은 인스턴스로 요청하도록 함.

2.2. Introduce User Cookies

요청시 내용을 쿠키에 담아서 보냄. 쿠키 용량은 4KB으로 제한됨. 

2.3. Introduce Server Session

세션 아이디를 쿠키에 담아서 보내고 캐시저장소에 세션데이터를 저장하고 검색함.

2.4. Storing User Data in a database

사용자데이터를 인스턴스와 연결된 RDS에 저장하고 검색함.

2.5. Scaling Reads

쓰기용 마스터 RDS를 두고 읽기용 복제본을 생성해 사용함.

2.6. Scaling Reads (Alternatice) - Lazy Loading

RDS에서 조회한 데이터들을 캐시에 저장해두고 캐시 힛하지 않는 경우에만 RDS에서 조회함.

2.7. Multi AZ - Survive disasters

캐시와 RDS를 여러 AZ에 두고 사용함.

2.8. Security Group

로드밸런서와 EC2 사이의 트래픽과 EC2와 캐시, RDS 사이의 트래픽을 제어함.

 

3. Stateful Web App: MyWordPress.com

3.1. Scailing with Aurora: Multi AZ & Read Replicas

Aurora DB를 다수의 AZ에 두고 읽기 복제본들을 사용함.

3.2. Storing images with EBS

이미지들을 EBS 볼륨에 저장함.

3.3. Storing images with EFS

인스턴스마다 ENI를 통해 EFS으로 이미지를 저장하고 조회함.

 

4. Instantiating Applicatoions quickly

4.1. EC2 Instances

Golden AMI 를 사용해 인스턴스를 런칭하거나 User Data를 사용해 부트스트랩함.

4.2. RDS Databases

스키마와 데이터를 이미 갖고 있는 스키마로부터 디비를 복구함.

4.3. EBS Volumes

이미 데이터를 갖고 있는 디스크의 스냅샷으로부터 볼륨을 복구함.

 

5. Elastic Beanstalk

5.1. Overview

AWS에 애플리케이션을 배포하기 위한 개발자 중심 뷰임.

EC2, ASG, ELB, RDS 등의 요소들을 모두 사용함.

프로비저닝, 로드밸런싱, 스케일링, 헬스체크 모니터링, 인스턴스 설정등이 모두 자동 관리됨.

빈스톡은 무료지만 그 안의 인스턴스들에 대해서는 요금을 지불해야 함.

5.2. Components

일라스틱 빈스톡의 요소들의 모음을 Application이라고 함.

어플리케이션 코드의 반복을 Application Version이라고 함.

하나의 Application Version에서 실행중인 AWS 리소스들의 모음을 Environment이라고 함.

Comments