5.4 KT Cloud CDN Global 기능

6.4.1 고객 웹사이트 또는 애플리케이션에 적용 및 확인

KT Cloud CDN이 제공하는 도메인 주소를 사용하여 웹사이트 및 애플리케이션 내에서 컨텐츠를 전달할 할 수 있습니다.

예를 들어 example.ucloudcdnglobal.com을 글로벌 CDN 도메인 주소를 제공받은 경우,
원본 서버 또는 KT Cloud storage의 루트 디렉토리에 있는 sample.jpg의 서비스 URL은 http://example.ucloudcdnglobal.com/sample.jpg 가 됩니다.

고객이 고유의 서비스 도메인을 사용하기 위해서는 고객의 DNS 서비스에서 서비스도메인 (예)www.example.com)으로의 query를
CDN 도메인 네임(Ex. example.ucloudcdnglobal.com) 으로 우회하기 위한 CNAME record를 생성하면 됩니다.
이때 sample.jpg의 서비스 URL은 http://www.example.com/sample.jpg 가 됩니다.

위 서비스 URL과 원본 서버의 컨텐츠 URL(http://www-origin.example.com/sample.jpg)을
브라우저 주소창에 입력하여 이미지를 정상적으로 불러오는지 비교하여 서비스 정상 여부를 확인하실 수 있습니다.

6.4.2 서비스 점검 방법

ㅁ 서비스 도메인 등록 여부 확인

KT Cloud에서 제공하는 ‘글로벌 CDN 도메인’이 아닌 별도의 ‘서비스 도메인’을 사용하는 경우, 반드시 신청 단계에 서비스 도메인으로 등록해야 합니다.
신청 단계에서 등록하지 않은 서비스 도메인은 DNS에 CNAME 등록을 하더라도 KT Cloud CDN Global에서 응답할 수 없습니다.

위 그림처럼 서비스 도메인이 등록되어 있지 않은 경우에는 KT Cloud에서 제공하는 ‘글로벌 CDN 도메인’을 직접 사용하실 수 있습니다.

ㅁ CNAME 설정 여부 확인

별도의 서비스 도메인을 사용하기 위해서는, 반드시 DNS내 ‘글로벌 CDN 도메인’으로의 CNAME 설정을 하셔야 합니다. (CNAME: 도메인 위임 설정)

서비스 도메인 (ucloudtest.ktics.co.kr)을 CDN 도메인(57689595.ucloudcdnglobal.com) 으로 CNAME 설정 시,
서비스 도메인의 요청은 CDN 도메인으로 전달 됩니다.

CNAME은 고객사의 DNS서버 혹은 호스팅 업체(가비야 등) 에서 설정합니다.

CNAME 설정 여부는 리눅스 서버에서 “dig 서비스 도메인” 또는 윈도우 CMD화면에서 “nslookup 서비스도메인”으로 확인할 수 있습니다.

ㅁ 서비스 도메인 / 원본서버 도메인 동일 여부

고객의 원본 컨텐츠 서버를 직접 입력하는 경우, 원본 서버의 도메인과 서비스 도메인을 동일하게 사용할 수 없습니다.
원본 서버의 도메인은 CDN이 갱신된 콘텐츠를 가져오기 위한 도메인이며, 서비스 도메인은 최종 사용자가 접근하는 도메인 입니다.

“서비스 도메인”과 “원본 서버 주소”가 동일하게 설정하면 서비스를 이용할 수 없습니다.

ㅁ 원본 서버 / 원본 서버 컨텐츠 정상 여부

KT Cloud CDN Global은 원본 서버로부터 컨텐츠를 다운받아 저장(캐싱)하여 최종사용자에게 전달 하는 방식이므로,
원본 서버가 요청에 정상적으로 응답하지 않으면 (KT Cloud storage의 경우 파일박스를 공개 상태로 설정해야 합니다.)
KT Cloud CDN Global 서비스 역시 정상적으로 콘텐츠를 전달 할 수 없습니다.

 

ㅇ [step 1] 원본 서버의 80 포트로 접속 가능한지 확인

   - 리눅스 서버에서 ‘telnet 원본 서버 도메인 80’ (telnet origin-www.example.com 80)

   

   

   - 원본 서버의 80 포트로 접속이 불가능한 경우, 원본 서버의 설정을 확인해보시기 바랍니다.


ㅇ [step 2] 원본 서버에서 컨텐츠 다운로드 테스트

웹 브라우저 주소창에 http://원본서버도메인/contentsURL 입력 후 정상 출력 여부 확인 (예) http://origin-www.example.com/sample.jpg)
정상적으로 응답하지 않으면 CDN 서비스를 이용할 수 없습니다.

ㅇ [step 3] CDN 에서 컨텐츠 다운로드 테스트

1) 글로벌 CDN 도메인에서 컨텐츠를 정상적으로 응답하는지 확인
   - 웹 브라우저 주소창에 http://글로벌 CDN 도메인/contentsURL 입력 후 정상 출력 여부 확인
     Ex) http://example.ucloudcdnglobal.com/sample.jpg

2) 서비스 도메인에서 컨텐츠를 정상적으로 응답하는지 확인
   - 웹 브라우저 주소창에 http://서비스도메인/contentsURL입력 후 정상 출력 여부 확인
     Ex) http://www.example.com/sample.jpg


ㅇ step 1, 2 정상이나 step 3 실패 시 step 4 로 이동

ㅇ [step 4] 원본 서버가 incoming host header 에 정상 응답하는지 확인

   - 리눅스 서버에서 아래 명령어 수행 시 결과 확인 wget –S –O /dev/null –header=”Host:서비스도메인(또는 글로벌CDN도메인)”
     http://원본서버도메인/testURL

   

ㅇ 결과가 40x Bad Request 인 경우 아래 해결 방법 참조

해결 1) incoming host header에 원본서버가 응답하도록 원본 서버 설정

아래 가이드를 참고하시기 바랍니다.

ㅇ virtual host 가이드

- Nginx 기반 virtual host 설정 방법 http://wiki.nginx.org/ServerBlockExample

- Apache 기반 virtual host 설정 방법 http://httpd.apache.org/docs/current/vhosts/examples.html

- IIS 기반 virtual host설정 방법 http://support.microsoft.com/kb/308163/ko

 

해결 2) KT Cloud 포탈에서 오리진 서버 설정 변경

원본 서버의 설정을 바꿀 수 없다면 CDN에서 오리진 호스트네임을 호스트헤더 값으로 사용하도록 변경할 수 있습니다.

<Action -> 서비스 수정 -> 기본규칙 최적화 설정>에서 오리진 서버 설정의 호스트헤더의 전달 방식을 <Origin Hostname>으로 변경