[F-Lab 모각코 챌린지 - 12일차] - CDN

Big One·2023년 5월 22일
0

F-Lab

목록 보기
51/69

CDN이란?

CDN(Content Delivery Network || Content Distribution Network)는 데이터 사용량이 많은 애플리케이션의 페이지 로드 속도를 높이는 상호 연결된 네트워크이다.

사용자가 웹 사이트를 방문할 때 웹 사이트는 서버의 데이터를 사용자의 컴퓨터에 전달하기 위해 인터넷을 통해 이동해야한다. 사용자가 해당 서버에서 멀리 떨어져있는 경우 동영상 또는 이미지 등과 같은 대용량 파일을 로드하는데 시간이 오래걸린다. CDN을 사용하면 이런문제를 개선해준다.

CDN 목적

CDN의 주 목적은 대기 시간을 줄이거나 네트워크 설계로 인한 통신 지연을 줄이는 것이다.

CDN 이점

  • 페이지 로드시간 단축
  • 대역폭 비용 절감
    • 웹 사이트 모든 요청은 네트워크 대역폭을 사용한다. 대역폭 비용은 상당히 높다. 캐싱 및 최적화를 통해 CDN은 오리진서버가 제공해야하는 데이터 양을 줄여 비용을 절감할 수 있다.
  • 웹 사이트 보안 강화
    • DDOS 공격은 대량의 가짜 트래픽 전송으로 애플리케이션을 중지시키려 하는데 CDN은 여러 서버간에 로드를 분산하여 오리진 서버에 미치는 영향을 줄인다. → 트래픽 급증 처리

CDN 통한 콘텐츠 전송

  • 정적 콘텐츠
    • 웹 사이트 헤더 이미지, 로고, 글꼴 등 모든 사용자가 동일하게 적용되며 잘 바뀌지 않는 것들이다. 정적 데이터는 수정 같은 일이 잘 일어나지 않으므로 CDN에 저장하기 딱 좋다.
  • 동적 콘텐츠
    • 로기은 상태, 날씨 등 동적 콘텐츠는 사용자마다 다르다. 이 데이터는 사용자의 위치, 시간, 설정에 따라 변경되며 웹 사이트는 모든 사용자와 모든 사용자 상호작용에 데이터를 생성해야한다.

CDN 하는 일

  • 캐싱(프록시 서버라 하는듯)
    1. 클라이언트(방문자)가 오리진 서버에 리소스 요청을 처음 한다.
    2. 오리진 서버는 방문자에게 요청에 대한 리소스를 응답한다. 그리고 방문자와 가장 가까이 위치한 CDN POP에 응답 복사본을 보낸다.
    3. CDN POP은 응답 복사본을 저장한다.
    4. 해당 방문자 또는 위치가 비슷한 다른 방문자가 동일한 요청을 할 시, 오리진 서버가 아닌 CDN 캐싱된 데이터를 보낸다.
  • 동적 가속
    • 동적 데이터는 바뀌는 데이터라 오리진 서버와의 통신이 필요한데 CDN은 뭔가 최적화된 걸로 빠르게 통신가능한 그런거같음
  • 엣지 로직 계산

CDN 제공

  • 고속 콘텐츠 전송 → 뉴스
  • 실시간 스트리밍 → 유튜브, 멜론?
  • 다중 사용자 확장

Amazon CloudFront란?

아마존에서 제공하는 CDN이다. 설명은 아래와 같다 .. 사용할거면 한 번 보면 될듯

Amazon CloudFront는 뛰어난 성능, 보안 및 개발자 편의를 위해 구축된 콘텐츠 전송 네트워크(CDN) 서비스입니다. Amazon CloudFront를 사용하여 다음 작업을 수행할 수 있습니다.

  • 자동화된 네트워크 매핑 및 인텔리전트 라우팅을 사용하여 275개 이상 전 세계에 분포된 상호 접속 위치(POP)를 통해 데이터를 전송합니다.
  • 트래픽 암호화와 액세스 제어를 통해 보안을 개선하고 AWS Shield Standard를 사용하여 추가 요금 없이 서비스 거부(DDoS) 공격으로부터 보호합니다.
  • 비용, 성능 및 보안의 균형을 맞추도록 서버리스 컴퓨팅 기능을 사용하여 AWS 네트워크 엣지에서 실행하는 코드를 사용자 지정합니다.
  • 높은 전송 속도로 소프트웨어, 게임 패치 및 IoT 업데이트를 전송하도록 자동으로 크기를 조정합니다.

profile
이번생은 개발자

0개의 댓글