✅ 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

+ Recent posts