✅ Domain 2: 고성능 아키텍처 설계
🔹 1. CloudFront vs ElastiCache
항목 | CloudFront | ElastiCache |
주요 목적 | 정적/동적 콘텐츠 캐싱 (CDN) | 데이터베이스 결과 인메모리 캐싱 |
위치 | 글로벌 엣지 로케이션 | 리전 내 VPC 내부 |
사용 사례 | 이미지, HTML, JS 파일 캐싱 | 세션 저장, 인기 데이터 빠른 접근 |
적합 상황 | 전 세계 사용자 대상 서비스 | 빈번한 DB 호출 최적화 필요 시 |
활용 맥락
- CloudFront: 정적 리소스 응답 속도 개선
- ElastiCache: DB 읽기 부하 분산, 성능 향상
🔹 2. 비동기 처리: SNS, SQS, Lambda
항목 | SNS | SQS | Lambda |
패턴 | Pub/Sub (1:N) | Queue (1:1) | 이벤트 기반 서버리스 실행 |
사용 목적 | 다수 구독자에게 메시지 전파 | 메시지 임시 저장 후 순차 처리 | 특정 이벤트에 반응해 코드 실행 |
사용 사례 | 알림 브로드캐스트 | 주문 큐 처리 | S3 업로드 후 자동 이미지 처리 |
활용 맥락
- SNS: 메시지를 여러 시스템에 동시 전파
- SQS: 비동기 큐 기반 작업 처리
- Lambda: 이벤트 중심의 실시간 처리
🔹 3. 읽기 성능 향상: RDS Read Replica
항목 | 설명 |
목적 | RDS 읽기 요청을 Primary와 분리 |
특징 | 비동기 복제, 복제본 수 제한 있음 |
활용 | 조회 많은 서비스(예: 블로그, 뉴스)에서 읽기 분산 |
유의사항 | 쓰기 작업은 불가, 지연 있음 (Eventually Consistent) |
활용 맥락
- API 서버가 읽기 요청을 Read Replica로 전송해 Primary 부하 감소
🔹 4. 스토리지 성능 선택
스토리지 | 특성 적합 | 워크로드 |
EBS gp3/io2 | 고성능 블록 스토리지 | EC2 기반 RDS, OLTP 등 |
S3 | 객체 스토리지, 자동 확장 | 정적 파일, 백업 |
FSx for Lustre | 병렬 파일시스템 | 고속 분석, HPC, ML 워크로드 |
활용 맥락
- EBS: EC2에 부착, 빠른 IO 필요할 때
- FSx: 빅데이터 및 병렬 처리 필요할 때
- S3: 대규모 데이터 보관 및 정적 콘텐츠 저장
🔹 핵심 개념 정리
주제 | 서비스 | 역할 |
콘텐츠 전송 최적화 | CloudFront | 글로벌 캐시 서버로 지연 최소화 |
데이터 캐싱 | ElastiCache (Redis, Memcached) | DB 부하 분산, 응답속도 향상 |
비동기 처리 | SQS, SNS, Lambda | 병렬 처리 및 느린 작업 분리 |
데이터베이스 읽기 확장 | RDS Read Replica | 읽기 요청 처리 분산 |
스토리지 성능 선택 | EBS, S3, FSx | 워크로드 유형별 IOPS/지연시간 최적화 |
✅ 사례 1: 글로벌 사용자 대상의 정적 파일 서비스
문제
고객이 전 세계에 존재하며, 웹 애플리케이션의 정적 콘텐츠(이미지, HTML 등)를 빠르게 제공하려고 한다. 어떤 서비스를 활용해야 가장 적절한가?
정답: ✅ Amazon CloudFront
해설
- CloudFront는 엣지 로케이션을 통해 정적 콘텐츠를 캐싱하여 글로벌 응답속도 개선
- S3와 연결 가능하며, 동적 콘텐츠도 Lambda@Edge로 처리 가능
추천 설계
- S3 + CloudFront + WAF
- 캐싱 정책 설정으로 TTL 최적화
✅ 사례 2: 데이터베이스 부하 완화
문제
관계형 데이터베이스(RDS)의 읽기 요청이 급증하여 성능 저하가 발생하고 있다. 이 상황에서 가장 적절한 해결 방법은?
정답: ✅ RDS Read Replica
해설
- 읽기 요청을 Replica 인스턴스로 분산 가능
- Write는 Primary만 처리하므로 일관성 주의
추천 설계
- 프론트엔드에서 읽기 요청은 Replica로 분산
- Route 53 + 헬스체크를 통해 장애 시 자동 전환
✅ 사례 3: 캐싱을 통한 성능 개선
문제
자주 접근되는 데이터(예: 상품 목록, 세션 정보)를 빠르게 제공하고자 한다. 어떤 서비스를 활용하는 것이 좋은가?
정답: ✅ Amazon ElastiCache
해설
- Redis/Memcached 기반 인메모리 캐시
- DB 부하 감소 + 밀리초 단위 응답
추천 설계
- TTL 설정으로 오래된 데이터 정리
- 세션 저장소, 리더보드 등 실시간성 요구되는 서비스에 적합
✅ 사례 4: 비동기적 작업 처리
문제
고객이 파일을 업로드하면 자동으로 썸네일 생성, 바이러스 검사 등을 수행하려고 한다. 어떤 구성이 가장 적절한가?
정답: ✅ S3 + SQS + Lambda
해설
- S3에 업로드 이벤트 발생 시 SQS에 메시지 전송
- Lambda가 메시지를 트리거 받아 처리 (Serverless 비동기 구조)
추천 설계
- S3 Event → SNS 또는 SQS → Lambda
- 필요 시 DLQ 설정해 오류 메시지 추적
✅ 사례 5: 고성능 스토리지 선택
문제
I/O가 집중되는 워크로드(예: OLTP DB, SAP)가 있으며, 낮은 지연시간과 높은 IOPS가 요구된다. 어떤 스토리지를 선택해야 하는가?
정답: ✅ Amazon EBS io2 또는 FSx for Lustre
해설
- EBS io2: 고IOPS SSD 볼륨으로 안정적 성능
- FSx for Lustre: HPC, 대규모 데이터 처리에 적합
추천 설계
- DB에는 EBS io2 + EC2
- 머신러닝 파이프라인에는 S3 + FSx for Lustre
'자격증 > aws' 카테고리의 다른 글
saa핵심요약(4) (0) | 2025.06.03 |
---|---|
saa핵심요약(3) (0) | 2025.06.03 |
saa 핵심 요약(1) (0) | 2025.06.03 |
기타 서비스 (0) | 2025.06.02 |
더 많은 아키텍처 (0) | 2025.06.02 |