[DevOps] AWS CloudFront와 HTTPS 인증서 보안 강화

이지연·2026년 3월 4일

DevOps

목록 보기
11/24

개요

이전 시리즈에서 S3 배포 완료 후 CloudFront 생성부터 ACM 인증서 발급, Route53 A 레코드 연결까지 보안 처리를 마무리한다. HTTPS 통신을 위한 SSL/TLS 인증서 원리도 자세히 설명한다.


CloudFront(CDN) 개요

CloudFront를 S3 앞에 두는 이유는 S3 직접 액세스 시 발생하는 지연(latency)을 획기적으로 줄이기 위함이다. S3는 특정 리전(예: 서울)에 종속되어 부산이나 해외 사용자에게 왕복 지연(RTT)이 크지만, CloudFront는 전 세계 400+ 엣지 로케이션에서 콘텐츠를 캐싱해 사용자 위치와 가장 가까운 서버에서 즉시 제공한다.

성능 향상 예시

S3 직접 vs CloudFront 비교에서 동일 국가라도 2~3배 빠르고, 다른 국가(미국, 유럽)에서는 15~60배 이상 속도 개선이 확인된다.

  • 부산 사용자 → 서울 S3: 20~50ms RTT
  • 부산 사용자 → 부산 CloudFront 엣지: 5ms (캐시 HIT 시)

첫 요청(MISS): CloudFront → S3 캐시 후 반환. 이후 HIT: S3 우회로 오리진 부하 감소 및 비용 절감.

추가 이점

S3 부하 줄여 안정성 높이고, Gzip/Brotli 압축으로 파일 최적화. 이미지 많은 서비스(Articket FE)에서 LCP(Largest Contentful Paint) 개선해 사용자 이탈 방지한다.


CloudFront 생성과 S3 연동

CloudFront 생성: S3로 라우팅

www.eazy99.shop → CloudFront → S3

www.eazy99.shop은 보안 처리가 안 되어 있으므로 보안 처리 후 Route53에 S3 URL 아닌 CloudFront URL로 교체한다. 최종 흐름: 사용자 → DNS → Gabia → Route53 → CloudFront → S3

CloudFront 생성 절차:

  • S3 원본 이름에 웹사이트 엔드포인트 형식으로 추가
  • 그 외 default으로 두고 생성

가비아 네임서버 설정 통해 Route53으로 들어오면 버킷으로 튕겨주게 된다.


ACM 인증서 발급과 대체 도메인 설정

보안 처리를 위해 인증된 기관에서 SSL/TLS 인증서를 받아야 한다.

  • 프론트: www.eazy99.shop HTTPS 인증서 처리
  • 백엔드: server.eazy99.shop HTTPS 인증서 처리

AWS Certificate Manager (us-east-1)에서 인증서 확인:

  1. Create Certificate 클릭 후 인증서 발급 완료 확인
  1. CloudFront 대체 도메인에 www.eazy99.shop 입력

  2. 인증서 생성 시 Route53에서 도메인 소유 검증 필요

    • _93b58f29bf1b27d8add338e5e1b2942e.www.eazy99.shop 형식 도메인에 CNAME 값 세팅
    • CA(인증기관)에 인증서 요청 → 도메인 소유 검증 → 디지털 서명 → 서버로 발급

인증서 생성 시 무료 ACM 사용하며 https 통신을 위한 작업이다.


Route53 CloudFront 연결과 암호화 원리

Route53에 A 레코드 유형으로 CloudFront 연결한다.

암호화 원리, SSL(TLS) 인증서:

단방향 암호화는 복호화 불가능 (비밀번호, 세션/토큰 등). 양방향 암호화: 한쪽 암호화, 반대쪽 복호화.

  • 대칭키 방식: 키 같이 보내 탈취 위험
  • 비대칭키 방식: 공개키(Public Key: 암호화 전용, 누구나 볼 수 있음), 비밀키(Private Key: 복호화 전용, 소유자만)

회원가입 예시:
1. 부산 사용자 → 서울 서버 공개키 수신
2. 로그인/회원가입 요청 → 서울 공개키로 암호화 전송
3. 서울 서버 → 비밀키로 복호화 → 인증서 발급

웹사이트 흐름: 브라우저 웹서버 접속 시 서버 공개키 인증서(Digital Certificate) 받음. 모든 통신 공개키 암호화 → 서버 비밀키 복호화. 공개키 누구나 사용 가능하지만 비밀키로만 복호화 가능해 탈취해도 안전하다. 인터넷, 블록체인(비트코인 원장)은 비대칭키 사용한다.

이 때 인증서 암호화/복호화는 사용자 웹브라우저 접속 시점에 암호화 진행되고 CloudFront에서 복호화된다.


전체 워크플로우 최종 정리:

  1. 가비아 도메인 구매: 30분~1시간
  2. 가비아에 Route53 NS 등록: 30분~1시간
  3. Route53 CNAME 등록 시 http 빼고 끝자리 / 넣지 말기
profile
Eazy하게

0개의 댓글