CloudFront(CDN)로 배포

zziano·2022년 6월 2일
0
post-thumbnail

이번 프로젝트는 cloudFront와 s3버킷을 이용해서 배포했다.
사실 그전까지는 s3버킷과 router53을 통해서 배포를 했는데 https를 뚫어야 했기에 cloudFront를 사용했다.
이참에 CloudFront와 CDN의 개념을 알고가면 좋을 것 같아 남겨본다!

CDN

CDN(Content delivery network)는 콘텐츠 전송 네트워크로 지리, 물리적으로 떨어져 있는 사용자에게 콘텐츠를 더 빠르게 제공하는 시스템

  • 사용자가 원격지에 있는 서버(Origin Server)로 부터 Content(Web Object, Video, Image, Document등)을 다운 받을 때 가까이 있는 서버에서 받는 것보다 오래 걸린다.
  • 따라서 사용자와 가까운 곳에 위치한 Cache Sever에 해당 Content를 저장(캐싱)하고 Content 요청시에 Cache Sever가 응답을 준다.

caching 캐시는 컴퓨터의 성능을 향상 시키기 위해 사용되는 메모리를 말하는데 캐싱은 이 캐시 영역으로 데이터를 가져와서 접근하는 방식

CDN의 장점

  1. 웹사이트 로딩 속도 개선
    오리지널 서버의 트래픽 부하 및 비용을 줄일 수 있다.
  2. 인터넷 회선 비용 절감
    서버 비용이 감소
  3. 콘텐츠 제공의 안정성
    인터넷 서비스 제공자에 직접 연결되어 데이터를 전송하므로 콘텐츠를 빠른 속도로 제공할 수 있다.
  4. 웹 사이트 보안 개선
    대규모 분산 서버 장비로 공격 트래픽을 완화시킬 수 있다.

CDN의 작동 원리

  1. 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱 장비에 저장
  2. 두번째 이후 모든 요청은 CDN 업체에서 지정하는 해당 커텐츠 만료 시점까지 CDN 캐싱 장비에 저장된 콘텐츠를 전송
  3. 자주 사용하는 페이지에 한해서 CDN장비에서 캐싱이 되며, 해당 콘텐츠 호출이 없을 경우 주기적으로 삭제됨
  4. 서버가 파일을 찾는 데 실패하는 경우 CDN플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송
  5. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장

CloudFront

AWS에서 제공하는 CDN 서비스

  • 캐싱을 통해 사용자에게 좀 더 빠른 전송 속도를 제공하는 것을 목적으로 한다.
  • 전 세계 이곳저곳 Edge Server(Location)을 두고 사용자에게 가장 가까운 Edge Server를 찾아 빠른 데이터를 제공

CloudFront 구성

  • Origin Server
    원본 데이터를 가지고 있는 서버
    AWS에서는 S3, EC2 instance를 나타낸다

  • Edge Server
    AWS에서 실질적으로 제공하는 전 세계에 퍼져있는 서버
    Edge Server에는 요청 받은 데이터에 대해서 빠르게 응답해주기 위해 캐싱 기능을 제공

    CloudFront 작동방식

  1. 사용자로부터 요청이 발생
  2. 요청이 발생한 Edge Server는 요청이 발생한 데이터에 대해 캐싱 여부를 확인
  3. 캐싱 데이터가 존재하면 사용자에 맞게 응답하고 존재하지 않으면 Origin Server로 요청
  4. 요청 받은 데이터에 대해 Origin Server로부터 전달 받은 Edge Server는 캐싱 데이터를 생성하고 사용자에게 응답

참고
https://aws.amazon.com/ko/blogs/korea/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/
https://velog.io/@doohyunlm/AWS-CloudFront-%EA%B0%9C%EB%85%90

profile
Onion on Sale

0개의 댓글