CloudFront는 AWS에서 제공하는 CDN 서비스로, 글로벌 엣지 로케이션(Edge Location)을 활용하여 콘텐츠를 캐싱하고 빠르게 제공하는 역할
즉, AWS의 서비스 중 컨텐츠(파일 동영상 등)을 빠르게 전송하게 해주는 CDN 서비스이다

[ 사례 ]
컨텐츠(파일, 동영상)는 S3라는 곳에 저장될 것이다.
하지만 그 S3 저장소가 한국에 있다고 가정하자. 그러면 한국 사용자는 S3와 거리가 가까우므로 데이터를 빠르게 전송받을 수 있다.
하지만 미국에 있는 사용자가 S3로부터 데이터를 전송받으려면 거리가 멀어 시간이 오래 걸리게 된다.
이런 문제를 해결하기 위해 전세계 곳곳에 컨텐츠(파일, 동영상)의 복사본을 저장해놓을 수 있는 임시 저장소를 구축한다.
그러면 미국에 있는 사용자가 컨텐츠를 전송받고 싶을 때, 가장 가까운 임시 저장소에서 컨텐츠를 가져오면 훨씬 속도가 빨라진다.
📍 현업에서 웹 서비스를 배포할 때 실제로 S3와 CloudFront를 많이 활용
- 사용자가 웹사이트에 접속
- CloudFront는 요청을 가장 가까운 임시 저장소(CloudFront)에서 처리
- 해당 CloudFront에 요청하는 파일이 있다면 바로 응답
- 없다면 오리진 서버(S3, EC2 등) 에서 가져와 CloudFront에 저장한 뒤 응답
- 이후 동일한 요청은 클라우드프론트에서 빠르게 응답

S3 만 사용 시..
Users -> S3
S3 에 도메인 주소로 요청을 보내면, 바로 S3 에서 필요한 객체들을 다운 받아와서 화면에 띄워주는 형식
CloudFront 사용 시 ...
📌 1. 사용자가 웹사이트에 접속 (User → CloudFront 요청)
• 사용자가 브라우저에서 CloudFront 도메인(d12345.cloudfront.net)에 접속
• CloudFront는 CDN 역할을 하며, 사용자의 가장 가까운 엣지 로케이션(Edge Location)에서 요청을 처리
⸻
📌 2. CloudFront가 캐시 확인 (CloudFront 내부 처리)
• CloudFront는 엣지 서버에 캐시된 콘텐츠가 있는지 확인
• 캐시 HIT (데이터 있음) → 즉시 응답
• 캐시 MISS (데이터 없음) → S3로 요청 전달
⸻
📌 3. S3에서 정적 파일 가져오기 (CloudFront → S3)
• 캐시가 없거나 만료되었을 경우, CloudFront는 S3 원본(Origin) 에 파일 요청
• S3에서 HTML, CSS, JS, 이미지 등의 정적 파일 제공
⸻
📌 4. CloudFront가 응답 (CloudFront → User)
• CloudFront는 받은 데이터를 엣지 서버에 저장(캐싱)
• 이후 같은 요청이 오면 빠르게 캐싱된 데이터 제공
[요약]
- User → CloudFront 요청
- CloudFront 캐시 확인
• 캐시 있음 → 바로 응답
• 캐시 없음 → S3에 요청
- S3에서 정적 파일 제공
- CloudFront가 사용자에게 응답 및 캐싱
- 다음 요청부터는 CloudFront 캐시에서 빠르게 제공
http://naver.com 으로 입력 후 접속하여도 https://naver.com 으로 자동 접속됨


index.html 으로 설정했으므로 동일하게 설정
