피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Runtime 요구사항에 따른 AWS 프론트엔드 호스팅 모델 최적화 전략
From Static to Runtime: Choosing Between CloudFront + S3, Amplify, and ECS for Frontends on AWS
AI 요약
Context
초기 정적 사이트 구축 시 CloudFront와 S3 조합을 통해 낮은 비용과 글로벌 확장성을 확보함. 그러나 서비스 성장 과정에서 Runtime Rendering, 동적 라우팅, 환경별 설정 관리 등 서버 사이드 동작 요구사항이 증가하며 정적 호스팅 모델의 한계 직면.
Technical Solution
- 정적 에셋 및 단순 SPA 구조를 위한 CloudFront + S3 기반의 Edge Caching 아키텍처 유지
- S3의 HTTP 전용 엔드포인트 제약 및 403/404 오류를 해결하기 위한 CloudFront Function 기반의 URL Rewrite 적용
- SSR 지원 및 Git 기반 배포 파이프라인 자동화를 위해 관리형 서비스인 Amplify Hosting으로의 전환 설계
- Next.js의 ISR 및 Data Cache 일관성 유지를 위해 Redis/S3 기반의 Shared Cache Handler를 도입한 ECS on Fargate 구조 채택
- 서비스의 성격이 단순 페이지 제공에서 애플리케이션 서비스로 진화함에 따른 Runtime Control 및 Scaling 제어권 확보
실천 포인트
- 빌드 타임에 모든 페이지 생성이 가능한가? → CloudFront + S3 - 컨테이너 운영 부담 없이 SSR 및 최신 프레임워크 기능이 필요한가? → Amplify Hosting - 백엔드 서비스와 동일한 보안, 관측성, 릴리스 표준 및 정밀한 런타임 제어가 필요한가? → ECS on Fargate