Cloudflare | |
![]() | |
설립 | 2009년 |
상장 | 2019년 9월 13일 |
www.cloudflare.com |
웹 성능 향상 및 보안을 지원하는 회사
The Web Performance & Security Company
1. 개요 ✎ ⊖
클라우드플레어. 보통 줄여서 클플이라고 부른다. 2009년에 설립되었다. 기본적으로 DNS와 CDN 서비스를 제공하며, SSL, 최적화, 캐싱, Ddos 방어 등의 서비스를 제공한다. 회사명이자 서비스명인 ‘클라우드플레어’는 기본적으로는 붙여쓰지만 낙타등 표기법을 이용해서 붙여놓은 것이라 한국에서는 ‘클라우드 플레어’로 띄어써도 무방하다.
기본적으로 클라이언트 측의 사용자 다수가 같은 페이지를 요청할 때 가장 큰 효과를 볼 수 있으며, 서버의 부하 및 데이터 전송량을 감소시켜 트래픽 절약효과가 있으며 서버에 들어오기 전에 클라우드플레어 측에서 처리를 할 수 있기 때문에 DDoS 공격 방어기능 또한 지원한다.
게다가 세계 여러 국가에 클라우드플레어 CDN 센터를 가지고 있어서 국제트래픽 제한이 있거나 해외 전송 속도로 고민하는 사용자라면 속도 증가의 효과도 누릴 수 있다는 장점이 있다.
무료인 베이직부터 유료인 프로, 비지니스, 엔터프라이즈 서비스를 제공하고 있다. 그러나 무료인 베이직 서비스에서 기본적인 서비스 대부분을 지원하기 때문에(무료/유료간의 대역 제한도 없다) 많은 개인 사용자들이 베이직 서비스를 이용하고 있다. 방화벽이나 보안관련 고급기능을 제공하는 유료모델의 경우 기업에서 상당히 많은 사용을 하고 있다.
SSL 서비스는 유료서비스였으나 2014년 9월 28일부터 무료로 유니버설 SSL 기능을 지원, SSL 인증서를 가지지 않은 서버라 할지라도 클라우드플레어를 통해서 SSL서비스를 이용할 수 있는 방법을 제공하고 있다. (단 2차 서브 도메인까지만 지원. 3차 서브 도메인 이상은 지원 안함) 상업용 사이트의 경우 의무적으로 인증서 채용을 요구받는 한국에서는 무료로 SSL서비스를 이용할 수 있는 길이 열린 셈이라 매우 유용하다 할 수 있다.
원래는 아는 사람만 아는 서비스였지만 2019년 7월 3일에 일어난 오류 덕분에 저명성이 높아졌다. # 이후에도 점점 점유율이 높아지면서 여기에 문제가 생기면 인터넷의 유명 사이트 대부분에 문제가 발생하는 모습을 보이고 있다.
기본적으로 클라이언트 측의 사용자 다수가 같은 페이지를 요청할 때 가장 큰 효과를 볼 수 있으며, 서버의 부하 및 데이터 전송량을 감소시켜 트래픽 절약효과가 있으며 서버에 들어오기 전에 클라우드플레어 측에서 처리를 할 수 있기 때문에 DDoS 공격 방어기능 또한 지원한다.
게다가 세계 여러 국가에 클라우드플레어 CDN 센터를 가지고 있어서 국제트래픽 제한이 있거나 해외 전송 속도로 고민하는 사용자라면 속도 증가의 효과도 누릴 수 있다는 장점이 있다.
무료인 베이직부터 유료인 프로, 비지니스, 엔터프라이즈 서비스를 제공하고 있다. 그러나 무료인 베이직 서비스에서 기본적인 서비스 대부분을 지원하기 때문에(무료/유료간의 대역 제한도 없다) 많은 개인 사용자들이 베이직 서비스를 이용하고 있다. 방화벽이나 보안관련 고급기능을 제공하는 유료모델의 경우 기업에서 상당히 많은 사용을 하고 있다.
SSL 서비스는 유료서비스였으나 2014년 9월 28일부터 무료로 유니버설 SSL 기능을 지원, SSL 인증서를 가지지 않은 서버라 할지라도 클라우드플레어를 통해서 SSL서비스를 이용할 수 있는 방법을 제공하고 있다. (단 2차 서브 도메인까지만 지원. 3차 서브 도메인 이상은 지원 안함) 상업용 사이트의 경우 의무적으로 인증서 채용을 요구받는 한국에서는 무료로 SSL서비스를 이용할 수 있는 길이 열린 셈이라 매우 유용하다 할 수 있다.
원래는 아는 사람만 아는 서비스였지만 2019년 7월 3일에 일어난 오류 덕분에 저명성이 높아졌다. # 이후에도 점점 점유율이 높아지면서 여기에 문제가 생기면 인터넷의 유명 사이트 대부분에 문제가 발생하는 모습을 보이고 있다.
2. 원리 ✎ ⊖
클라우드플레어는 사용자가 클라이언트 브라우저 등에서 보낸 요청(리퀘스트)이 기본적으로 DNS를 거치는데 착안한 서비스다. 네임서버로서의 서비스를 온전히 제공하면서 부가기능으로서 캐시서버와 각종 방화벽 기능 등의 서비스를 제공하고 있다. 관리자가 통과(패스스루)를 설정할 경우에는 DNS로서의 역할만 하고 들어온 요청을 그대로 서버로 전달하며 기타 기능을 설정해둘 경우에는 클라우드플레어의 서버가 해당 값을 받은 후 설정한 서비스를 제공하게 된다.
즉 클라우드플레어가 서버로서의 1차적 역할을 맡고, 프록시 서버로서 실제 서버와 통신을 한다음 결과를 받아 클라우드플레어가 사용자에게 전달하는 구조가 되는 것이다. 이를통해 실제 서버의 정보를 외부에 전달하지 않고 클라우드플레어가 전면에 나서는 형태로 보안문제또한 해결하고 있다. 주로 데이터를 중계하는 것이 주요 작업이다보니 이를 위해서 빠르고 가벼운 속도로 유명한 러시아산 NGINX(엔진엑스) 서버 기반으로 시스템을 이루고 있다고 한다.
즉 클라우드플레어가 서버로서의 1차적 역할을 맡고, 프록시 서버로서 실제 서버와 통신을 한다음 결과를 받아 클라우드플레어가 사용자에게 전달하는 구조가 되는 것이다. 이를통해 실제 서버의 정보를 외부에 전달하지 않고 클라우드플레어가 전면에 나서는 형태로 보안문제또한 해결하고 있다. 주로 데이터를 중계하는 것이 주요 작업이다보니 이를 위해서 빠르고 가벼운 속도로 유명한 러시아산 NGINX(엔진엑스) 서버 기반으로 시스템을 이루고 있다고 한다.
3. 서비스 ✎ ⊖
3.1. CDN ✎ ⊖
앞서 설명했듯 클라우드플레어는 기본적으로 들어온 클라이언트의 요청을 프록시 형태로 실제 서버에 전달해 결과를 되돌려 받은 후 클라우드플레어 서버에서 결과를 다시 클라이언트로 전달해준다. 단순히 해당 값을 클라이언트에 전달하는 것으로 끝이 아니라, 들어온 웹주소를 기반으로 결과를 캐시를 한 후 해당 값을 클라이언트에 전달한 데이터를 캐시로 남겨두는 것이다. 캐시가 살아있는 동안 동일한 요청이 들어올 경우 서버와는 데이터의 변경여부만 체크하고 바로 캐시서버에서 데이터를 전송함으로서 서버의 부하를 줄이고, 데이터 절약이 가능하게 하는 것이다.
클라우드플레어의 이 캐시 기능은 단순히 웹페이지(HTML), 자바스크립트(JS), 스타일시트(CSS) 뿐만 아니라 이미지까지 캐시를 지원하기 때문에 데이터의 절약은 더더욱 효과가 크다. 특히 최신글 일부에 뷰가 집중되는 커뮤니티 사이트의 경우에는 트래픽을 극적으로 절약할 수 있으므로 효과가 극대화 된다고 할 수 있다.
또한 전세계에 분산되어있는 클라우드플레어 CDN 센터1)간에 데이터를 빠르게 전달해 분산시키기 때문에 여러구간을 거치며 지연되는 문제를 회피할 수도 있고, 실질적으로는 서비스 속도 향상으로도 이어지는 효과를 기대할 수 있다.(원래 프록시 서버의 용도가 그러하듯)
100개 이상의 국가에 250개의 도시에 데이터 센터를 보유하고 있으며, 여기에는 대한민국 서울도 포함된다.(1) 클라우드 플레어를 CDN으로 사용하면 설정에 따라 정기적으로 웹사이트를 데이터센터에 캐싱한 뒤, 방문자의 접속 위치에 따라 가장 가까운 데이터센터에서 캐싱 데이터를 전송해준다.
캐시를 하는 방식은 크게 기본(Basic), 단순(Simplified), 공격적(Aggressive)의 세가지 등급으로 나뉘는데, 세가지 방식은 기본적으로 아래와 같은 특성을 가진다.
웹주소의 전달값(쿼리)을 삭제하고 단순화된 정적인 데이터만을 캐시한다. 게시판 등의 동적인 데이터의 주소를 캐시하지 않게 만든다. 쿼리값이 실제 페이지에 영향을 미치는 것이 별로 없을 때는 이쪽이 더 효율적일 수 있다.
웹주소의 전달값(쿼리)를 포함한 캐시값을 만든다. 게시판 등의 동적 데이터를 포함해서 캐시한다. 웹 어플리케이션에 따라서 동적인 값과 캐시된 값 사이의 괴리가 발생하는 경우가 발생할 수 있다. 예를 들어서 로그인을 했는데 캐시값 때문에 로그인 안한 상태로 보인다던가 하는 식.
클라우드플레어의 이 캐시 기능은 단순히 웹페이지(HTML), 자바스크립트(JS), 스타일시트(CSS) 뿐만 아니라 이미지까지 캐시를 지원하기 때문에 데이터의 절약은 더더욱 효과가 크다. 특히 최신글 일부에 뷰가 집중되는 커뮤니티 사이트의 경우에는 트래픽을 극적으로 절약할 수 있으므로 효과가 극대화 된다고 할 수 있다.
또한 전세계에 분산되어있는 클라우드플레어 CDN 센터1)간에 데이터를 빠르게 전달해 분산시키기 때문에 여러구간을 거치며 지연되는 문제를 회피할 수도 있고, 실질적으로는 서비스 속도 향상으로도 이어지는 효과를 기대할 수 있다.(원래 프록시 서버의 용도가 그러하듯)
100개 이상의 국가에 250개의 도시에 데이터 센터를 보유하고 있으며, 여기에는 대한민국 서울도 포함된다.(1) 클라우드 플레어를 CDN으로 사용하면 설정에 따라 정기적으로 웹사이트를 데이터센터에 캐싱한 뒤, 방문자의 접속 위치에 따라 가장 가까운 데이터센터에서 캐싱 데이터를 전송해준다.
캐시를 하는 방식은 크게 기본(Basic), 단순(Simplified), 공격적(Aggressive)의 세가지 등급으로 나뉘는데, 세가지 방식은 기본적으로 아래와 같은 특성을 가진다.
- 기본(Basic)
- 단순화(Simplified)
웹주소의 전달값(쿼리)을 삭제하고 단순화된 정적인 데이터만을 캐시한다. 게시판 등의 동적인 데이터의 주소를 캐시하지 않게 만든다. 쿼리값이 실제 페이지에 영향을 미치는 것이 별로 없을 때는 이쪽이 더 효율적일 수 있다.
- 공격적(Aggressive)
웹주소의 전달값(쿼리)를 포함한 캐시값을 만든다. 게시판 등의 동적 데이터를 포함해서 캐시한다. 웹 어플리케이션에 따라서 동적인 값과 캐시된 값 사이의 괴리가 발생하는 경우가 발생할 수 있다. 예를 들어서 로그인을 했는데 캐시값 때문에 로그인 안한 상태로 보인다던가 하는 식.
3.2. 데이터 최적화 ✎ ⊖
CDN기능과 더불어서 서버에서 받아온 소스를 최적화함으로서 전송 속도를 높이고 오버헤드를 줄여주는 기능을 제공한다. 서버에서 전송된 HTML, JS, CSS 등의 텍스트파일을 최적화 시켜 용량을 줄이고, 데이터를 압축시켜 용량을 감소시킨다. 또한 여러개의 자바스크립트 파일을 하나로 융합시키거나 하는 방식으로 여러개의 커넥션을 소모하는 파일 전송을 최소화시켜 서버가 부담해야할 커넥션 수를 감소시키는 결과를 가져온다.
단순히 최적화와 압축이라는 단계가 중요한 것이 아니라, 최적화라는 전처리 과정을 넣음으로서 단순 캐쉬를 전송하는데 그치지않고 보안기능과 어플리케이션 융합기능을 추가할 수 있게 되는 것이다.
단순히 최적화와 압축이라는 단계가 중요한 것이 아니라, 최적화라는 전처리 과정을 넣음으로서 단순 캐쉬를 전송하는데 그치지않고 보안기능과 어플리케이션 융합기능을 추가할 수 있게 되는 것이다.