AWS CloudFront와 AWS Application Load Balancer(ALB)은 각각 다른 역할을 수행하는 서비스입니다.
캐싱 및 전송 최적화: CloudFront는 전 세계에 분산된 엣지 로케이션을 사용하여 콘텐츠를 캐싱하고, 정적 및 동적 콘텐츠를 사용자에게 최적의 경로로 전송합니다.
CDN(Content Delivery Network): 주로 정적 콘텐츠를 빠르게 제공하기 위한 CDN 역할을 합니다.
SSL/TLS 지원: HTTPS로 보안된 연결을 지원하며, 사용자의 요청을 HTTPS로 리디렉션할 수 있습니다.
로드 밸런싱: 여러 대의 서버에 트래픽을 균등하게 분산하여 서비스의 가용성과 확장성을 향상시킵니다.
레이어 7 지원: HTTP 및 HTTPS와 같은 응용 프로그램 계층 프로토콜을 이해하며, 컨텐츠 기반 라우팅 및 리디렉션을 수행할 수 있습니다.
WAF(Web Application Firewall) 통합: 애플리케이션 수준의 보안을 제공하는 WAF를 통합하여 애플리케이션을 보호합니다.
SSL/TLS 종료: HTTPS로 암호화된 요청을 받아서 웹 서버와 통신할 때, SSL/TLS 종료를 수행할 수 있습니다.
목적: CloudFront는 주로 정적 콘텐츠의 전송과 CDN 기능을 강조하며, ALB는 로드 밸런싱 및 응용 프로그램 레이어에서의 기능을 중점적으로 제공합니다.
서비스 대상: CloudFront는 주로 정적 콘텐츠를 서빙하고자 하는 경우에 유용하며, ALB는 웹 애플리케이션 서버의 로드 밸런싱을 위한 서비스입니다.
연결 지점: CloudFront는 클라이언트와 가장 가까운 엣지 로케이션을 통해 콘텐츠를 제공하며, ALB는 서버 프런트 엔드에서 연결을 관리합니다.
따라서 사용 시에는 서비스의 목적과 필요에 따라 CloudFront 또는 ALB를 선택하면 됩니다. 예를 들어, 정적 콘텐츠 전송이 주된 목적이라면 CloudFront를 사용하는 것이 유리할 수 있습니다.