2017.02.24 21:00 Azure

CDN에 대한 이야기를 하나 더 하겠습니다.

 

이전 포스팅에서 CDN의 장점에 대해서 알아 봤는데요.

 

이리저리 따져 봐도 제일 좋은 점은 전세계에 흩어져 있는 POP에서 컨텐츠를 배포하기 때문에

클라이언트 입장에서는 가장 가까운 POP에서 컨텐츠를 받아오므로 속도도 빠르고 서버에도 부하를 적게 준다는 점입니다.

 

하지만 클라이언트 입장에서 POP에 첫 요청의 경우에는 캐시된 컨텐츠가 없기 때문에 원본이 있는 곳에서 받아와야 합니다그래서 첫 요청을 하는 클라이언트는 약간의 손해(?)를 보게 됩니다.

이를 방지 하기 위한 방법이 있는데

이것을 "CDN 끝점에 미리 로드" 정도라고 하겠습니다.

 

끝점에 컨텐츠를 미리 로드해 두면 대규모 이벤트에 무척 유용기 때문에 즐겨 사용하는 방법입니다.

 

제일 쉬운 방법은 Azure 포탈에서 적용하는 방법입니다.

 

CDN 프로필의 끝점 메뉴에 있는 "로드" 를 클릭 합니다.


 

Path 영역에 미리 로드하려는 컨텐츠의 정보를 입력 합니다.

정규식에 맞는 URL이어야 하며 와일드카드는 사용하지 못합니다.


 

"로드" 를 클릭 하고


 

요청이 완료될때까지 잠시 기다립니다.


 

1분쯤 기다리면 요청이 완료 됩니다.


 


, 제약 사항이 있는데요.

- Verizon Azure CDN 제품(표준 및 프리미엄)만 가능 하며
  아직 Akamai Azure CDN에서 지원되지 않습니다.

- 로드 요청은 CDN 프로필별로 분당 10개로 제한됩니다.


이렇게 미리 컨텐츠를 로드해 두면 무조건 클라이언트 주변의 가까운 POP에서 컨텐츠를 받아 오기 때문에 첫번째 적중 대기 시간이 발생하지 않게 됩니다.








저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 얼음무지개

댓글을 달아 주세요

  1. 2017.03.19 21:26  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

2017.02.10 10:30 Azure

지난 포스팅에서 CDN에 대해서 간단하게 알아봤습니다.

 

그런데 CDN은 편리성과 함께 구조적인 불편함이 하나 있습니다.

 

이미지가 다른데 파일명이 같은 경우에는 스토리지에 업로드해서 Over Write가 되면 바로 바뀐 이미지로 보이지 않는다는 점입니다.

물론 이미지가 다를 경우 파일명을 다르게 사용하면 됩니다만 부득이하게 같은 파일명이어야 할때가 있습니다.

이를해결하기 위하여 예와 함께 방법을 알아보겠습니다.

 

스토리지에 이미지 파일이 하나 있습니다.

http://icerainbow.blob.core.windows.net/image/icerainbow1.png

 

CDN을 끝점을 연결 시켜서 URL이 이렇게 변경이 되었습니다.

http://icerainbowcdn.azureedge.net/image/icerainbow1.png



이제 스토리지에 이름은 같지만 이미지가 다른 파일을 업로드합니다.

파일 이름이 같을 경우 이미지 파일을 업로드 하면 일단 덮어 쓴다는 경고가 발생 합니다.

무시하고 덮어 쓰겠습니다.

 

업로드가 완료되었습니다.

 

스토리지와 CDN에 어떤 변화가 있는지 보겠습니다.


 

blob 스토리지의 URL을 브라우저에서 호출하면 이미지가 변경되었음을 알 수 있는데,

CDN URL을 호출하면 아직 이미지가 변경되지 않았음을 알 수 있습니다.

 

설명하자면 좀 길어지지만 기본 TTL 값인 7일이 지나지 않았기 때문 입니다.

 

자세한 내용은 아래 링크글 참고 하시면 됩니다.

 

Azure CDN(콘텐츠 배달 네트워크) 개요
https://docs.microsoft.com/ko-kr/azure/cdn/cdn-overview

 

그러면 최대 7일 동안 방법이 없는걸까요? 그럴리가요.

Azure CDN 끝점 제거 라고 하는 방법을 사용하면 됩니다.

 

영문에는 "purge" 라고 표현되어 있고 한글은 "제거" 라고 되어 있습니다.

 

"제거"를 클릭하면  CDN이 없어질것 같은 기분이 듭니다만 그건 순전히 기분탓 입니다.

 

과감히 "제거"를 클릭 합니다.

 

CDN 정보를 입력하고 컨텐츠 경로인 /image/icerainbow1.png 를 입력 한 후 "제거"를 클릭 합니다.


 

삭제 요청이 완료 되었네요.


하지만 바로 적용 되는 것이 아니라 가이드에 따르면 약간의 시간이 필요 하며 동시 요청 건수도 최대 50개 입니다.

 

가이드에는 이렇게 나와 있네요.

 

제거 요청은 Verizon Azure CDN(Standard Premium)으로 처리하려면 약 2-3, Akamai Azure CDN으로 처리하려면 약 7분이 소요됩니다. Azure CDN은 동시 제거 요청이 항상 50개로 제한됩니다.

 

잠시 기다리면 두곳 모두 이미지가 변경된것을 확인할 수 있습니다.

 

 

이렇게 CDN에서 끝점을 제거 하는 방법외에 이미지와 같은 정적 콘텐츠에 대해서는 web.config cache control head를 설정하여 TTL을 수정하거나 ASP.Net의 경우에는 HttpResponse.Cache 속성을 설정하여 CDN 캐싱 동작을 수정할 수 있으므로 필요한 방법을 적용하여 사용하면 되겠습니다.

 

 

 

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 얼음무지개

댓글을 달아 주세요

이전버튼 1 2 3 4 5 ... 132 이전버튼

블로그 이미지
얼음무지개
free counters

글 보관함


티스토리 툴바