CDN‐vs‐EC2‐Comparison - 100-hours-a-week/KTB4-17th-wiki GitHub Wiki

(1) CDN vs EC2 인스턴스

  • 단일 장애 지점: Frontend를 단일 EC2 인스턴스에서 제공하면 해당 인스턴스나 웹 서버에 장애가 발생했을 때 페이지를 제공할 수 없다. 이를 방지하려면 여러 인스턴스와 로드 밸런서를 별도로 구성해야 한다. CloudFront는 AWS 관리형 CDN으로, 콘텐츠를 여러 엣지 로케이션에 분산하여 제공한다.

  • 트래픽 병목: 접속이 몰리면 단일 Frontend 인스턴스의 CPU, 네트워크 등의 자원이 병목 지점이 되어 전체 응답 시간이 증가할 수 있다. CloudFront는 캐시된 콘텐츠를 여러 엣지 로케이션에서 분산 제공하므로 갑작스러운 트래픽 증가에 대응하기 쉽다.

  • 운영 및 관리 비용: EC2에서 Frontend를 제공하려면 웹 서버 운영, 보안 패치, 장애 대응, 오토 스케일링 및 배포 파이프라인 등을 직접 관리해야 한다. S3와 CloudFront를 사용하면 서버 관리가 필요 없으며, 배포와 캐시 정책 및 캐시 무효화 등을 중심으로 관리할 수 있다.

  • 비용: 동일한 데이터 전송량을 기준으로 하면 CloudFront가 EC2의 직접 인터넷 전송보다 저렴할 수 있다. 참고 자료 작성 시점의 서울 리전 기준으로 EC2의 인터넷 데이터 전송 요금은 GB당 0.126달러, CloudFront는 GB당 0.120달러이다. 무료 데이터 전송량은 AWS 리전이 월 100GB, CloudFront가 월 1TB로 안내되어 있다.

    EC2는 트래픽이 없어도 인스턴스, EBS 및 퍼블릭 IPv4 주소 등에 대한 비용이 발생한다. S3와 CloudFront 조합도 S3 저장 용량과 요청 등에 대한 비용은 발생하지만, 별도의 서버 인스턴스를 상시 운영하는 것보다 고정 비용 부담이 작다.

AWS 요금과 무료 제공량은 리전 및 정책에 따라 변경될 수 있으므로 실제 도입 시점의 공식 요금표를 다시 확인해야 한다.