본문 바로가기

NHN Cloud

[NHN Cloud] CDN 서비스 구성

반응형

1. 개요

CDN은 최종 사용자의 요청 콘텐츠에 대한 응답을 엣지 서버에 캐싱하여 최종 사용자의 요청 콘텐츠를 최적화 된 경로를 통해 전송할 수 있도록 한다. CDN 서비스를 이용해 배포할 콘텐츠를 원본 서버에 저장해 두면 전 세계에 분산되어 있는 캐시 서버로 콘텐츠가 배포된다. 엣지 서버는 전 세계적으로 분산되어 있으며 최종 사용자는 가장 가까운 캐시 서버에서 빠른 속도로 파일을 전송 받을 수 있다.

2. 구성

2.1 CDN 서비스 활성화

서비스 선택 > Content Delivery > CDN 을 차례로 선택하고 연결 되는 서비스 활성화 대화 상자에서 CDN 서비스를 활성화 시킨다.

 

 

2.2 CDN 서비스 생성 페이지 이동

Content Delivery > CDN > 생성 을 차례로 선택하여 연결되는 CDN 서비스 생성 창을 통해 생성 할 CDN 서비스의 세부 구성을 진행한다.

 

 

2.3 CDN 서비스 생성 항목 가이드

2.3.1 기본 정보

  • 서비스 지역: GLOBAL로 설정, NHN Cloud는 중국과 러시아를 제외한 전 세계 거점에 위치한 CDN 엣지 서버를 통해 CDN 서비스를 제공한다.
  • 도메인 별칭: 소유 중인 도메인을 서비스 도메인으로 이용을 원할 경우 해당 도메인 주소를 입력한다. 미입력 시 NHN Cloud에서 제공하는 [서비스ID].toastcdn.net 형식으로 자동 생성 된다.
  • 콜백: 콜백 URL로 변경 상태 및 CDN 설정 정보를 전달 받고 싶을 경우 설정한다.

 

2.3.2 원본 서버

오브젝트 스토리지, 인스턴스, 직접 입력 중 CDN 서비스로 배포할 원본 파일을 제공하는 오리진 서버를 선택한다.

해당 가이드에서는 원본 서버를 인스턴스로 설정하였다.

 

오브젝트 스토리지

원본 서버로 NHN Cloud 오브젝트 스토리지 컨테이너를 이용하고 싶을 경우 선택한다.

 

리전: 오브젝트 스토리지 컨테이너 정보를 조회할 리전을 선택한다.

이름: 컨테이너 접근 정책이 PUBLIC인 원본 서버 중 설정하고자하는 컨테이너의 이름을 입력한다.

원본서버 및 원본 경로: 컨테이너 지정 시 정보가 자동으로 입력된다.

 

 

인스턴스

원본 서버로 NHN Cloud Instance 서비스에서 생성한 인스턴스를 이용하고 싶을 경우 선택한다.

 

리전: 인스턴스 목록을 조회할 리전을 선택한다.

인스턴스: 선택한 리전에서 조회 된 인스턴스 중 원본 서버로 설정할 인스턴스를 선택한다. 플로팅 IP가 연결 된 인스턴스만을 원본 서버로 사용 가능하다.

원본 서버: 인스턴스 선택 시 인스턴스의 IP가 원본 서버에 자동으로 입력된다.

HTTP 및 HTTPS: 사용할 원본 서버의 포트 번호를 입력한다.

다운 그레이드: CDN 서비스 도메인으로 보안 전송을 위해서는 HTTPS 응답 지원 및 SSL 인증서가 필요하다. 만일 원본 서버가 HTTPS 응답 지원이 어렵다면 클라이언트에서 CDN 엣지 서버 구간은 보안 통신(HTTPS)으로 통신하고, CDN 엣지 서버에서 원본 서버 구간은 비보안 통신(HTTP)으로 통신하는 HTTP 프로토콜 다운그레이드 설정이 필요하다.

 

 

직접 입력

NHN Cloud의 오브젝트 스토리지, 인스턴스 외에 별도로 운영 중인 원본 서버를 설정할 수 있다.

 

 

2.3.3 루트 경로 접근 관리

CDN 서비스의 루트 경로에 대한 접근제어를 설정할 수 있다.

 

루트 경로 접근 설정: 루트 경로 접근 관리 기능을 활성화하여 루트 경로에 대한 요청을 차단하거나 다른 페이지로 리다이렉트하도록 설정할 수있다. 해당 기능에 대해 비활성화를 원할 경우 미사용 선택, 사용을 원할 경우 사용을 선택한다.

접근 제어 방식 (사용을 선택한 경우만 설정): Redirect 선택 시 루트 경로에 대한 요청을 사용자가 지정한 경로로 리다이렉트 하며 Deny 선택 시 루트 경로에 대한 요청에 HTTP 응답 코드 403을 응답한다.

Redirect 경로 (접근 제어 방식을 Redirect 선택한 경우만 설정): 루트 경로에 대한 요청을 리다이렉트할 경로를 입력한다. 경로는 /로 시작해야한다.

Redirect HTTP Response Code: 루트 경로에 대한 요청을 리다이렉트하고 전달할 HTTP 응답 코드를 301, 302, 303, 307 중 선택하여 설정한다.

 

 

 

2.3.4 메서드

CDN은 기본적으로 GET, HEAD, OPTIONS 메서드 외 메서드에 대해서는 거절 처리가 된다. 세 메서드 이외에 허용하고자하는 메서드가 있다면 메서드 항목에서 선택하여 설정한다. 허용 설정한 메서드 요청은 캐싱되지 않고 원본 서버로 전달된다.

 

 

2.3.5 캐시

CDN 캐시 동작 설정 및 만료 시간을 설정한다.

 

캐시 설정: 원본 설정 사용을 선택할 경우 원본 서버의 응답에서 제고한 캐시 제어 헤더를 우선 적용한다. 사용자 설정 사용을 선택할 경우 캐시 만료시간에 지정한 시간 동안 캐시된다.

Bypass Cache 및 No Store를 선택할 경우 캐시 기능이 비활성화된다. Bypass Cache는 Bypass Cache 설정 이전에 생성된 캐시는 유지하고 No Store는 기존의 캐시도 모두 제거한다.

 

캐시 만료 시간(초): 캐시 설정을 사용자 설정 사용으로 지정한 경우 지정 가능하며 캐시 만료 시간(초)에 원하는 캐시 만료 시간을 입력한다.

 

캐시 키 쿼리 문자열 포함 설정: URL 기반으로 생성되는 캐시 키에 요청 쿼리 문자열을 포함할지 설정할 수 있다.

Large File Optimization: CDN에서 허용하는 파일의 최대 용량은 1.8GB 미만이므로 1.8GB 이상의 대용량 파일을 서비스하려면 Large File Optimization 를 사용으로 선택한다.

 

 

2.3.6 리퍼러 헤더 접근 관리

리퍼러 요청 헤더는 현재 요청된 페이지의 링크 이전의 웹 페이지 주소를 포함하며 어떤 경로에서 요청이 유입되었는지 알 수 있다. 리퍼러 헤더 접근 관리 설정하여 특정 리퍼러 요청 헤더만 사용자 콘텐츠에 접근할 수 있도록 설정할 수 있다.

 

접근 제어 방식: 특정 리퍼러 요청 헤더만 접근을 제한할 때에는 블랙리스트 타입, 특정 리퍼러 요청 헤더만 접근을 허용할 때는 화이트리스트 타입을 사용한다.

리퍼러요청 헤더가 없는 경우 접근 허용: 리퍼러(referer) 요청 헤더가 없는 경우 콘텐츠 접근 허용 여부를 선택한다.

 

2.3.7 Auth Token 인증 접근 관리

Auth Token 인증 접근 관리는 요청에 인증 토큰을 추가하여 CDN 엣지 서버에 검증된 토큰만 콘텐츠 접근을 허용하는 보안 기능으로 필요에따라 사용 및 미사용을 선택한다.

해당 항목까지 설정 후 확인 버튼을 선택해 CDN 서비스 생성을 완료한다.

 

 

3. 결과

3.1 서비스 확인

생성한 CDN 서비스는 Content Delivery > CDN 에서 조회 할 수 있다.

배포 상태 및 서비스 상태에 초록 불이 들어오면 생성한 CDN 서비스를 이용할 수 있다.

서비스 이름 주소와, 원본 서버인 인스턴스 IP를 통해 외부에서의 접근을 테스트해보도록한다.

 

 

3.2 접속 확인

서비스 이름 주소 접속 및 원본 서버 접속 시 동일한 값이 보여진다.

원본 서버로 지정해 준 인스턴스의 index.html 내용을 hello CDN으로 구성하였다.

 

 

서비스 이름 주소 접속

 

 

원본 서버(인스턴스) IP 접속

 

 

3.3 캐시 만료 시간 변경 후 접속 확인

CDN 캐시 서버는 캐시 만료 시간 설정에 따라 지정된 만료 시간 동안 원본 서버의 파일을 캐시한다. 즉 원본 콘텐츠에 변경이 있어도 캐시가 만료되기 전까지는 변경 전 내용을 유지한다.

변경 된 내용을 캐시가 만료되기 전 적용시키는 방법으로는 캐시 재배포를 통해 재배포를 시키는 방법, 캐시 만료 시간을 단축 시키는 방법이 있다.

 

3.3.1 캐시 만료 시간 수정

CDN 캐시 만료 시간을 60초로 단축 시킨 뒤 index.html 내용을 수정하여 다시 테스트해보도록한다.

원본 서버로 지정해 준 인스턴스의 index.html 내용을 hello CDN 2로 구성하였다.

 

 

원본 서버(인스턴스) IP 접속

원본 서버 IP를 통해 접속 시 변경 내용이 거의 즉시 적용 되는걸 확인할 수 있다.

 

서비스 이름 주소 접속

서비스 이름 주소를 통해 접속 시 변경 내용이 캐시 만료 시간 이후에 적용되는 것을 확인할 수 있다.

 

3.3.2 캐시 재배포

CDN 서비스 목록에서 변경하고자하는 CDN 서비스 선택, 캐시 재배포 탭을 선택하여 캐시 재배포를 진행할 파일을 지정 하고 캐시 재배포 버튼을 선택해 재배포를 요청한다.

캐시 재배포를 진행하면 요청한 콘텐츠의 오래된 캐시 데이터를 삭제하고 원본 서버에서 새 원본 파일을 다시 캐시하게되어 캐시 만료 시간을 기다리지 않아도 된다.

 

 

 

 

캐시 재배포 내역은 캐시 재배포 탭에서 확인할 수 있다.

 

 

 

 

반응형