본문으로 건너뛰기
aws검색
네트워크

Route 53, CloudFront, ELB (사용자에서 서버까지의 앞단)

사용자의 요청이 서버에 닿기까지 지나는 세 서비스를 정리합니다. Route 53 의 레코드와 라우팅 정책, 상태 확인, CloudFront 의 캐시 정책과 OAC, VPC 오리진, 2025-11 의 정액 요금제, ALB 와 NLB, GWLB 의 차이와 흔한 설정 실수입니다.

Route 53CloudFrontALBNLB정액 요금제2026-10 기준, 약 7분

요청의 길

일반적인 웹 서비스의 요청은 이렇게 지납니다. 사용자 브라우저가 Route 53 에서 www.example.com 의 주소를 받고, 가장 가까운 CloudFront 엣지로 갑니다. CloudFront 는 캐시에 없으면 오리진인 ALB 로 요청을 보내고, ALB 가 프라이빗 서브넷의 애플리케이션으로 넘깁니다. 정적 파일은 ALB 대신 S3 가 오리진입니다. 앞단의 각 층에서 무엇을 할 수 있는지 알면 성능, 보안, 비용을 함께 잡을 수 있습니다.

Route 53

레코드와 별칭

  • 호스팅 영역: 퍼블릭(인터넷용)과 프라이빗(VPC 안에서만 풀림)이 있습니다. 호스팅 영역마다 월 요금이 있고 질의 수에 따라 요금이 붙습니다.
  • 별칭(alias) 레코드: ALB, CloudFront, S3 웹사이트, API Gateway 같은 AWS 리소스를 가리키는 Route 53 전용 레코드입니다. 영역의 꼭대기(example.com)에도 쓸 수 있고, AWS 리소스를 가리키는 별칭 질의는 무료입니다. CNAME 보다 별칭을 먼저 씁니다.

라우팅 정책

정책동작쓰임
단순값 하나(또는 여러 개를 무작위로)기본
가중치비율대로 나눔카나리 배포, 리전 간 트래픽 이동
지연 시간사용자에게 지연이 가장 낮은 리전멀티 리전 서비스
장애 조치주 대상의 상태 확인이 실패하면 보조로액티브-스탠바이 DR
지리적 위치, 지리 근접사용자 국가나 거리 기준국가별 콘텐츠, 규제
다중 값 응답정상인 값 여러 개간단한 클라이언트 측 분산
IP 기반사용자 IP 대역 기준통신사, 사내망별 라우팅

상태 확인(health check)은 HTTP, HTTPS, TCP 로 엔드포인트를 전 세계 여러 위치에서 검사하거나, CloudWatch 경보 상태를 따르게 할 수 있습니다. 리전 전환을 사람이 확실히 통제해야 하면 Application Recovery Controller 의 라우팅 제어를 씁니다.

주의 TTL 을 길게 두면 장애 조치가 늦게 퍼집니다. 장애 조치 대상 레코드는 60 초 정도로 짧게 둡니다. 반대로 바뀔 일 없는 레코드는 길게 두어 질의 요금을 줄입니다.

CloudFront

캐시를 제대로 쓰는 법

CloudFront 설정의 핵심은 캐시 키입니다. 캐시 키에 들어가는 헤더, 쿠키, 쿼리 문자열이 많을수록 같은 콘텐츠가 여러 벌로 캐시되어 적중률이 떨어집니다.

  • 캐시 정책: 캐시 키와 TTL 을 정합니다. 정적 파일은 관리형 CachingOptimized, API 는 CachingDisabled 로 시작합니다.
  • 오리진 요청 정책: 캐시 키에는 넣지 않되 오리진으로는 넘길 헤더, 쿠키를 정합니다. 둘을 나눠 생각하는 것이 요령입니다.
  • 응답 헤더 정책: 보안 헤더(HSTS, CSP), CORS 를 엣지에서 붙입니다.
  • 정적 파일 이름에 해시를 넣고(app.3f9a1c.js) TTL 을 길게, HTML 은 짧게 둡니다. 배포 때 무효화(invalidation)를 남발하지 않아도 됩니다.

오리진 보호

  • S3 오리진은 OAC 로 CloudFront 만 읽게 하고 버킷은 비공개로 둡니다. 예시 정책은 S3 문서에 있습니다.
  • ALB 나 EC2 오리진은 2024-11 에 나온 VPC 오리진으로 프라이빗 서브넷에 둔 채 CloudFront 에만 연결할 수 있습니다. 오리진을 인터넷에 노출하지 않아도 됩니다.
  • 퍼블릭 ALB 를 써야 한다면 보안 그룹에 CloudFront 관리형 접두사 목록만 허용하고, 사용자 지정 헤더로 한 번 더 확인합니다.

엣지 코드

기능실행 위치맞는 일
CloudFront Functions엣지 로케이션, 1 ms 미만URL 재작성, 헤더 조작, 간단한 인증 토큰 검사
Lambda@Edge리전 엣지 캐시오리진 선택, 큰 로직, 네트워크 호출

CloudFront 에 붙이는 ACM 인증서는 us-east-1 에서 발급해야 합니다. 서울에서 발급한 인증서는 목록에 나오지 않습니다.

정액 요금제 (2025-11)

종량제 대신 월 정액으로 CDN, WAF, DDoS 보호, Route 53, 로그, S3 크레딧을 묶은 정액 요금제가 생겼습니다.

플랜월 요청월 전송비고
Free100 만100 GBWAF 규칙 5 개
Pro1,000 만50 TB접근 로그, 캐시 태그 무효화
Business1 억 2,500 만50 TB봇 관리, VPC 오리진, 고급 DDoS
Premium5 억 (최대 60 억까지 조정)50 TB (최대 600 TB)월 1,000 USD 부터, Origin Shield, 자동 장애 조치

배포 하나와 최상위 도메인 하나에 적용되고, 초과 요금이 없습니다. 한 번의 3 배 급증은 그달에 영향이 없고, 몇 달 동안 계속 넘으면 전송 위치를 조정하는 식으로 성능이 낮아질 수 있습니다. 차단된 DDoS 와 WAF 요청은 사용량에 세지 않습니다. Free, Pro, Business 의 월 가격은 CloudFront 요금 페이지에서 확인합니다. 트래픽이 들쭉날쭉한 개인, 스타트업 사이트에는 청구서 폭탄 걱정을 줄여 주는 선택지입니다.

Elastic Load Balancing

종류계층특징쓰임
ALB7 (HTTP, HTTPS, gRPC)경로, 호스트, 헤더 기반 라우팅, 인증(OIDC, Cognito), mTLS웹, API, 마이크로서비스
NLB4 (TCP, UDP, TLS)고정 IP(AZ 별 EIP 가능), 초저지연, 보안 그룹 지원, PrivateLink 서비스의 앞단게임, IoT, 비 HTTP 프로토콜, PrivateLink
GWLB3방화벽 같은 가상 어플라이언스로 트래픽을 투명하게 보냄중앙 보안 검사

ALB 설정에서 자주 보는 것

  • 대상 그룹 상태 확인: 경로, 성공 코드, 간격을 애플리케이션에 맞춥니다. 상태 확인 경로가 DB 까지 확인하면 DB 장애 때 모든 대상이 빠져 전체가 503 이 됩니다. 얕은 헬스 체크와 깊은 체크를 나눕니다.
  • 등록 해제 지연(deregistration delay): 기본 300 초. 배포가 느리면 짧게 줄입니다.
  • 유휴 시간 제한: 기본 60 초. 긴 요청(파일 업로드, 보고서)은 늘리거나 비동기로 바꿉니다.
  • 교차 영역 부하 분산: ALB 는 항상 켜져 있고 무료, NLB 는 기본 꺼져 있고 켜면 AZ 간 전송 요금이 붙습니다.

증상, 원인, 해결

증상원인해결
502 Bad Gateway대상이 연결을 끊거나 잘못된 응답, 대상의 keep-alive 가 ALB 보다 짧음애플리케이션 keep-alive 시간을 ALB 유휴 시간보다 길게
503 Service Unavailable정상 대상이 하나도 없음대상 그룹 상태 확인 이유(describe-target-health) 확인
504 Gateway Timeout대상 응답이 유휴 시간보다 늦음, 보안 그룹이 막음처리 시간 확인, 보안 그룹 체이닝 확인
CloudFront 403OAC, 버킷 정책 불일치, 지역 차단, WAF 차단응답 헤더의 x-cache, WAF 로그 확인

이 문서에서