티스토리 뷰

AWS

패턴2 기업 웹사이트 - 1

lkh's 2022. 5. 24. 00:09

'패턴2 기업 사이트' 를 시작하기 전에 간단한 내용 정리부터 시작하려고 한다.

 

what is CDN

 

Content Delivery Network의 약자인 CDN은 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 전송 기술을 의미한다.
CDN은 각 지역에 캐시 서버(PoP, Points of presence)를 분산 배치해, 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버가 콘텐츠를 전달한다.

즉, CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화한다. 
하지만, 특정 국가나 지역만을 타깃으로 하는 웹 서비스를 운영한다면 CDN 서비스를 활용할 필요가 없다.  이 경우 CDN을 이용하면 오히려 불필요한 연결 지점이 늘어나 웹 사이트의 성능 저하를 불러올 수 있기 때문이다.

 

push

 - origin 서버가 새로 업로드된 콘텐츠가 발생할 때마다 모든 pop 서버로 전달하는 방식

 - 최초 구성 및 설정에 비교적 많은 시간이 발생

 - 콘텐츠가 업로드되거나 업데이트되어도 전송 오류 발생이 적음

 

pull

 - pop 서버가 origin 서버에서 콘텐츠를 가져오는 방식으로 사용자의 요청이 있는 경우에만 origin 서버로부터 데이터를 가져오기 때문에 서버 자원 절약
 - 크기가 작은 파일에 주로 사용 (예 : HTML, CSS, JS)
 - pop 서버가 origin 서버에서 데이터를 가져오는 과정이 필요해 때때로 응답 속도가 느림

 

분산형

  - 성능이 낮은 여러대의 pop를 운영하는 방식으로 물리적 거리를 최소화하기 때문에 지연시간이 적다는 장점 보유

  - 여러대의 서버를 운영할 경우 유지보수 비용 지출 많다는 단점 보유

 

통합형
 - 성능이 좋은 적은 수의 pop를 운영하는 방식
 - 분산형에 비해 비용이 적게 발생하고, 보안이 좋다는 장점을 보유
 - 분산형보다 복잡성이 높아 콘텐츠를 구성하고 배포하는데 상대적 많은 시간이 소요되는 단점 보유

 

what is CloudFront

 

.html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스이다. 

사용자가 콘텐츠를 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 최고의 성능으로 콘텐츠가 제공된다.

cloudFront에는 edge location (pop 서버) 과 origin 서버 사이에 리전 엣지 캐시가 존재한다. 리전 엣지 캐시는 비교적 호출이 적은 콘텐츠에 유용하다.

리전 엣지 캐시는 pop 서버보다 캐시가 크기 때문에 더 오랫동안 캐시가 유지된다. 

 

사용자가 콘텐츠를 요청하면, DNS는 지연시간과 물리적인 거리를 고려해서 적합한 pop 서버로 라우팅한다.

pop 서버에서 해당 캐시에 요청된 객체가 있는지 확인하고, 객체가 캐시에 있으면 cloudFront는 객체를 사용자에게 반환한다.

하지만, 객체가 캐시에 없으면, 일반적으로 pop 서버에서 가장 가까운 리전 엣지 캐시로 이동하여 객체를 가져온다.

그러나, 객체가 pop 서버 또는 리전 엣지 캐시 위치에서 캐시되지 않는 경우, cloudFront는 요청을 origin 서버로 전달한다. origin 서버가 객체를 리전 엣지 캐시 위치로 다시 보낸 이후, 해당 객체가 pop 서버에 전달되고, cloudFront가 파일을 사용자에게 전달한다. 이 경우 cloudFront는 다음 번에 사용자가 해당 객체를 요청할 때 pop 서버 뿐만 아니라 리전 엣지 캐시 위치의 캐시에도 객체를 추가한다.

이를 통해 리전의 모든 pop 서버에서 로컬 캐시를 공유하도록 하고, origin 서버에 대한 요청이 줄어든다.

 

 

참고

  - https://library.gabia.com/contents/infrahosting/9051/
  - https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
  - https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html

'AWS' 카테고리의 다른 글

패턴1 이벤트 사이트 - 2  (0) 2022.05.10
패턴1 이벤트 사이트 - 1  (0) 2022.05.09
배워서 바로 쓰는 14가지 AWS 구축 패턴  (0) 2022.05.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함