한 회사의 웹 애플리케이션이 신뢰성 문제를 겪고 있습니다. 애플리케이션은 전 세계 고객에게 서비스를 제공합니다. 애플리케이션은 단일 Amazon EC2 인스턴스에서 실행되며 Amazon RDS for MySQL 데이터베이스에서 읽기 집약적인 작업을 수행합니다. 높은 부하 중에 애플리케이션이 응답하지 않으며 EC2 인스턴스를 수동으로 다시 시작해야 합니다. 솔루션 아키텍트는 애플리케이션의 신뢰성을 개선해야 합니다. 이 요구사항을 가장 적은 개발 노력으로 충족할 수 있는 솔루션은 무엇입니까?
- A. Amazon CloudFront 배포를 생성합니다. EC2 인스턴스를 배포의 오리진으로 지정합니다. RDS for MySQL 데이터베이스에 대해 다중 AZ 배포를 구성합니다. 읽기 집약적인 작업을 위해 대기(Standby) DB 인스턴스를 사용합니다.
- B. Auto Scaling 그룹에 있는 EC2 인스턴스에서 애플리케이션을 실행합니다. Elastic Load Balancing(ELB) 로드 밸런서 뒤에 EC2 인스턴스를 배치합니다. 데이터베이스 서비스를 Amazon Aurora로 대체합니다. 읽기 집약적인 작업을 위해 Aurora Replicas를 사용합니다.✓ 정답
- C. AWS Global Accelerator를 배포합니다. RDS for MySQL 데이터베이스에 대해 다중 AZ 배포를 구성합니다. 읽기 집약적인 작업을 위해 대기(Standby) DB 인스턴스를 사용합니다.
- D. 애플리케이션을 AWS Lambda 함수로 마이그레이션합니다. RDS for MySQL 데이터베이스에 대해 읽기 복제본을 생성합니다. 읽기 집약적인 작업을 위해 읽기 복제본을 사용합니다.
해설
【핵심 용어】 ▸ Auto Scaling — 트래픽에 따른 자동 확장 ▸ Aurora Replicas — 읽기 전용 복제본 ▸ 읽기 집약적(Read-intensive) — 읽기 작업 많음 ▸ 개발 노력 최소 — 기존 코드 수정 최소 【정답 포인트】 ▸ Auto Scaling으로 높은 부하 자동 처리, 수동 재시작 불필요 ▸ ELB로 트래픽 분산 ▸ Aurora는 MySQL 호환이므로 기존 애플리케이션 코드 변경 불필요 ▸ Aurora Replicas로 읽기 작업 분산, 데이터베이스 부하 감소 ▸ 개발 노력: 연결 문자열 수정 정도만 필요 【오답 체크】 (A) CloudFront + Multi-AZ는 읽기 부하 해결 불가(Standby는 읽기용 아님) (C) Global Accelerator는 성능 개선이지 확장성 해결 아님 (D) Lambda 마이그레이션은 개발 노력 많음 【시험 포인트】 "최소 개발 노력"이 핵심입니다. Aurora는 MySQL 호환이므로 기존 애플리케이션 수정 거의 없고, Auto Scaling과 Replicas로 신뢰성을 동시에 해결합니다.