Stateless Web App: WhatIsTheTime.com
- DB 필요 x
1. 시작
- 재시작할 수 있도록 고정 IP 주소 가지기 위해 Elastic IP 주소 연결
2. 수직 확장
- 트래픽 많아지면 수직 확장 위해 EC2 인스턴스 중지, 유형 교체, 시작
But, 교체할 때 중단 발생
3. 수평 확장
- 수평적 확장을 계속함, 한 계정에서 리전마다 5개의 Elastic IP 가질 수 있으므로 Elastic IP 제거
- Route 53 설정 - A Record : DNS로부터 IP 리스트 받겠음
But, 인스턴스 삭제되면 TTL이 1시간이므로 Route 53 쿼리를 시도해도 동일한 응답 한 시간동안 사용
(한 시간 후에는 가능)
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
- 한 AZ 다운 돼도 다른 AZ 가능 -> 고가용성, 장애 발생 대비
7. 용량 예약
- 각각 AZ에 최소 하나 이상의 인스턴스 항상 실행
- Auto Scaling 그룹의 용량 최소화 위해 인스턴스 예약
-> 비용 절감
Stateful Web App: MyClothes.com
1. ELB Stickiness
- 재요청 하는 경우 기존에 요청하던 인스턴스로 요청 가능 -> ex) 장바구니 유지 가능
2. 사용자 쿠키
- 사용자 쪽에서 장바구니 내용을 저장
-> HTTP요청이 무거워짐, 쿠키가 공격자에 의해 변경되면 보안 위험
-> EC2 인스턴스가 사용자 쿠키 내용 검증해야함, 쿠키 크기 4KB미만
3. 서버 세션
- 전체 장바구니를 웹 쿠키로 보내는 대신 단순 세션 ID만 보냄
- EC2 인스턴스는 장바구니 내용을 ElastiCache에 추가
- 장바구니 내용을 불러올 수 있는 ID가 세션 ID
- 두번 째 요청오면 두 번째 EC2가 세션 ID 가지고 ElastiCache에 가서 장바구니 내용 찾아옴
- ElastiCache 공격 못함 -> 훨씬 안전
4. DB에 사용자 데이터 추가
- 사용자의 데이터를 저장하고 있는 DB는 모든 인스턴스가 공유
5, 6
- 부하 분산
7.
- 다중 AZ에 인스턴스를 분산하여 재해로 인한 서비스 장애를 대비
8.
-모든 IP를 대상으로 HTTP, HTTPS 요청을 허용
- 로드 밸런서 보안 그룹을 통해 EC2 인스턴스로의 트래픽을 제한
- EC2 보안 그룹의 ElastiCache 보안 그룹에 대한 트래픽을 제한
- EC2 보안 그룹의 RDS 보안 그룹에 대한 트래픽을 제한
Stateful Web App: MyWordPress.com
1.
- 다중 AZ RDS
2.
Aurora MySQL : 다중 AZ, 읽기 전용 복제본, 글로벌 DB
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 |