네트워크 통신에서 중요한 문제중 하나는 역시나 성능이다.

Untitled

사진과 같이 사용자가 인터넷을 사용하는 경우 원하는 정보를 얻으려면 매우 많은 라우터를 거치게 된다.

이때 정보를 가진 오리진 서버와 사용자 간의 거리는 재생 성능 및 사용자 경험에 큰 영향을 미친다.

또한 네트워크 지연시간또한 사용자와의 거리에 절대적인 영향을 받는다. 그래서 결국 이러한 콘텐츠를 전송할때는 콘텐츠 전송 네트워크를 사용하는 것이 필수적이다.

그래서 아마존에서는 CloudFront라고 하는 컨텐츠 전송 전용서비스를 제공한다

CloudFront

Untitled

CloudFront는 아마존의 엣지 로케이션의 글로벌 네트워크를 통해 사용자에게 파일을 전송한다.

어찌보면 베조스가 인프라를 10원짜리 한푼이라도 아낄려는 마인드가 이식되어 생긴거 아닐까..

아마존의 CloudFront의 작동 방식은 이렇다

  1. 고객이 요청을 한다.
  2. Route 53가 전 세계에서 고객의 위치를 확인한다.
  3. 해당 고객과 가장 가까운 엣지 로케이션의 IP 주소로 응답한다.

신기한 것, 아마존은 그럼 데이터를 원래 있던 오리진에서 엣지 로케이션으로 캐싱한다.

그런 다음 일정 기간동안 데이터를 엣지 로케이션에 캐싱한채로 보관한다. 이 기간(Time To Live)는 사용자가 지정할 수 있다. 물론 여기서 CloudFront사용자를 위해 특별하게 리전 엣지 캐시가 있다.

리전 엣지 캐시는 엣지 로케이션에 있기에는 사용빈도가 적어 엣지 로케이션이 좀 아까운 경우 오리진보다는 빠르면서도 엣지 로케이션보다는 느린 CloudFront의 로케이션이다. *막간 복습이다ㅋ