자격증

AWS Solution Architecture

뭄덤 2024. 11. 6. 23:08

Stateless Web App: WhatIsTheTime.com

- DB 필요 x

1. Starting simple

1. 시작

- 재시작할 수 있도록 고정 IP 주소 가지기 위해 Elastic IP 주소 연결

 

 

2. 수직 확장 / 3. 수평 확장

2. 수직 확장

- 트래픽 많아지면 수직 확장 위해 EC2 인스턴스 중지, 유형 교체, 시작

But, 교체할 때 중단 발생

 

3. 수평 확장

- 수평적 확장을 계속함, 한 계정에서 리전마다 5개의 Elastic IP 가질 수 있으므로 Elastic IP 제거

- Route 53 설정 - A Record : DNS로부터 IP 리스트 받겠음

But,  인스턴스 삭제되면 TTL이 1시간이므로 Route 53 쿼리를 시도해도 동일한 응답 한 시간동안 사용

(한 시간 후에는 가능)

 

4. 수평 확장 + ELB / 5. 수평 확장 + Auto Scaling 그룹

4. 수평 확장 + ELB

- ELB의 상태 체크 : 한 인스턴스가 다운되거나 작동하지 않으면 인스턴스로 트래픽 전송 x -> 중단x

- 보안 그룹 : ELB, EC2 인스턴스 사이의 트래픽 제한

- 사용자들이 WhatIsTheTime.com 을 쿼리하지만 ELB가 IP주소 지속적으로 바꿈 

-> A 레코드 x / Alias 레코드

But, 수동으로 인스턴스 추가, 제거 어려움

 

5. 수평 확장 + Auto Scaling 그룹

Auto Scaling 그룹 : 요청에 따라 확장 or 축소 가능

But, 지진 발생, 1번 AZ 다운 -> 2번 AZ도 다운

 

6.다중 AZ / 7. 용량 예약

 

6. 다중 AZ

- 한 AZ 다운 돼도 다른 AZ 가능 -> 고가용성, 장애 발생 대비

 

7. 용량 예약

- 각각 AZ에 최소 하나 이상의 인스턴스 항상 실행

- Auto Scaling 그룹의 용량 최소화 위해 인스턴스 예약

-> 비용 절감

 

Stateful Web App: MyClothes.com

 

1. ELB Stickiness / 2. 사용자 쿠키

1. ELB Stickiness

- 재요청 하는 경우 기존에 요청하던 인스턴스로 요청 가능 -> ex) 장바구니 유지 가능

 

2. 사용자 쿠키

- 사용자 쪽에서 장바구니 내용을 저장

-> HTTP요청이 무거워짐, 쿠키가 공격자에 의해 변경되면 보안 위험

-> EC2 인스턴스가 사용자 쿠키 내용 검증해야함, 쿠키 크기 4KB미만

 

3. 서버 세션 / 4. DB에 사용자 데이터 추가

3. 서버 세션

- 전체 장바구니를 웹 쿠키로 보내는 대신 단순 세션 ID만 보냄

- EC2 인스턴스는 장바구니 내용을 ElastiCache에 추가

- 장바구니 내용을 불러올 수 있는 ID가 세션 ID

- 두번 째 요청오면 두 번째 EC2가 세션 ID 가지고 ElastiCache에 가서 장바구니 내용 찾아옴

- ElastiCache 공격 못함 -> 훨씬 안전

 

4. DB에 사용자 데이터 추가

- 사용자의 데이터를 저장하고 있는 DB는 모든 인스턴스가 공유

 

5.스케일링 읽기 (읽기 전용 복제본) / 6. 스케일링 읽기 (캐시)

5, 6

- 부하 분산

7. 다중 AZ (재해 복구) / 8. 보안 그룹

7.

- 다중 AZ에 인스턴스를 분산하여 재해로 인한 서비스 장애를 대비

 

8. 

-모든 IP를 대상으로 HTTP, HTTPS 요청을 허용

- 로드 밸런서 보안 그룹을 통해 EC2 인스턴스로의 트래픽을 제한

- EC2 보안 그룹의 ElastiCache 보안 그룹에 대한 트래픽을 제한

- EC2 보안 그룹의 RDS 보안 그룹에 대한 트래픽을 제한

 

 

Stateful Web App: MyWordPress.com

 

1. 가본 RDS / 2. Aurora

 

1. 

- 다중 AZ RDS

 

2. 

Aurora MySQL : 다중 AZ, 읽기 전용 복제본, 글로벌 DB

3.EBS / 4. EFS

3. 

- 사용자가 업로드한 이미지 EBS에 저장

But, 불러올 때는 다른 EBS에 가면 이미지가 없다

4. 

- EFS : 여러 인스턴스에서 동일한 파일 시스템 사용

 

 

애플리케이션 설치 빠르게

  • 풀스택(EC2, EBS, RDS)를 시작할 때 아래의 작업에서 많은 시간이 소요.
    • 애플리케이션 설치
    • 초기 데이터 삽입
    • 모든 항목 구성
    • 애플리케이션 실행 

-> 클라우드활용

  • EC2 인스턴스:
    • Golden AMI 사용: 애플리케이션, OS 종속성 등을 미리 설치하고 Golden AMI에서 EC2 인스턴스를 시작
    • 사용자 데이터를 사용한 부트스트랩: 동적 구성의 경우 사용자 데이터 스크립트를 사용
    • 하이브리드: Golden AMI와 사용자 데이터를 혼합(Elastic Beanstalk)하여 사용
  • RDS 데이터베이스:
    • 스냅샷에서 복원: 스냅샷을 사용하면 준비되어 있는 스키마와 데이터를 사용하여 데이터베이스를 생성
  • EBS 볼륨:
    • 스냅샷에서 복원: 디스크는 이미 포맷되어 있고 데이터가 저장

'자격증' 카테고리의 다른 글

CCNA(Udemy) - Sec11~20  (1) 2025.01.12
CCNA(Udemy) - Sec1~10  (0) 2025.01.01
AWS CLF Examtopic 덤프 문제 오답노트  (0) 2024.11.14
AWS Practitioner (CLF)정리  (0) 2024.09.12
AWS practitioner 예제  (0) 2024.09.12