웹 성능 향상 및 보안을 지원하는 회사
The Web Performance & Security Company
클라우드플레어. 보통 줄여서 클플이라고 부른다. 2009년에 설립된 미국의 웹 인프라 및 웹 보안 회사이다.
기본적으로 DNS와 CDN 서비스를 제공하며, SSL, 최적화, 캐싱, Ddos 방어 등의 서비스를 제공한다. 회사명이자 서비스명인 ‘클라우드플레어’는 기본적으로는 붙여쓰지만
낙타등 표기법을 이용해서 붙여놓은 것이라 한국에서는 ‘클라우드 플레어’로 띄어써도 무방하다.
기본적으로 클라이언트 측의 사용자 다수가 같은 페이지를 요청할 때 가장 큰 효과를 볼 수 있으며, 서버의 부하 및 데이터 전송량을 감소시켜 트래픽 절약효과가 있다. 또한 서버에 들어오기 전에 클라우드플레어 측에서 1차적인 처리를 할 수 있기 때문에 DDoS 공격 방어기능 또한 지원한다.
게다가 세계 여러 국가에 클라우드플레어 CDN 센터를 가지고 있어서 국제트래픽 제한이 있거나 해외 전송 속도로 고민하는 사용자라면 속도 증가의 효과도 누릴 수 있다는 장점이 있다.
무료인 베이직부터 유료인 프로, 비지니스, 엔터프라이즈 서비스를 제공하고 있다. 그러나 무료인 베이직 서비스에서 기본적인 서비스 대부분을 지원하기 때문에[* 무료/유료간의 대역 제한도 없다) 많은 개인 사용자들이 베이직 서비스를 이용하고 있다.
(1) 방화벽이나 보안관련 고급기능을 제공하는 유료모델의 경우 기업에서 상당히 많은 사용을 하고 있다.
SSL 서비스는 유료서비스였으나 2014년 9월 28일부터 무료로 유니버설 SSL 기능을 지원, SSL 인증서를 가지지 않은 서버라 할지라도 클라우드플레어를 통해서 SSL서비스를 이용할 수 있는 방법을 제공하고 있다.
(2) 상업용 사이트의 경우 의무적으로 인증서 채용을 요구받는 한국에서는 무료로 SSL서비스를 이용할 수 있는 길이 열린 셈이라 매우 유용하다 할 수 있다.
원래는 아는 사람만 아는 서비스였지만 2019년 7월 3일에 일어난 오류 덕분에
저명성이 높아졌다.
# 이후에도 점점 점유율이 높아지면서 여기에 문제가 생기면
인터넷의 유명 사이트 대부분에 문제가 발생하는 모습을 보이고 있다. 그래서 현재는 사실상 현대 인터넷 인프라의 대문 역할을 하고 있다고 해도 과언이 아니다.
클라우드플레어는 사용자가 클라이언트 브라우저 등에서 보낸 요청(리퀘스트)이 기본적으로 DNS를 거치는데 착안한 서비스다. 일명 리버스 프록시. 네임서버로서의 서비스를 온전히 제공하면서 부가기능으로서 캐시서버와 각종 방화벽 기능 등의 서비스를 제공하고 있다. 관리자가 통과(패스스루)를 설정할 경우에는 DNS로서의 역할만 하고 들어온 요청을 그대로 서버로 전달하며 기타 기능을 설정해둘 경우에는 클라우드플레어의 서버가 해당 값을 받은 후 설정한 서비스를 제공하게 된다.
즉 클라우드플레어가 서버로서의 1차적 역할을 맡고, 프록시 서버로서 실제 서버와 통신을 한다음 결과를 받아 클라우드플레어가 사용자에게 전달하는 구조가 되는 것이다. 이를통해 실제 서버의 정보를 외부에 전달하지 않고 클라우드플레어가 전면에 나서는 형태로 보안문제 또한 해결하고 있다. 주로 데이터를 중계하는 것이 주요 작업이다보니 이를 위해서 빠르고 가벼운 속도로 유명한 러시아산 NGINX(엔진엑스) 서버 기반으로 시스템을 사용하다가, 러스트 기반의 Pingora를 2024년 자체 개발해 전환하고 있다.
단순한 CDN을 넘어 종합 클라우드 플랫폼으로 진화하고 있다.
앞서 설명했듯 클라우드플레어는 기본적으로 들어온 클라이언트의 요청을 프록시 형태로 실제 서버에 전달해 결과를 되돌려 받은 후 클라우드플레어 서버에서 결과를 다시 클라이언트로 전달해준다. 단순히 해당 값을 클라이언트에 전달하는 것으로 끝이 아니라, 들어온 웹주소를 기반으로 결과를 캐시를 한 후 해당 값을 클라이언트에 전달한 데이터를 캐시로 남겨두는 것이다. 캐시가 살아있는 동안 동일한 요청이 들어올 경우 서버와는 데이터의 변경여부만 체크하고 바로 캐시서버에서 데이터를 전송함으로서 서버의 부하를 줄이고, 데이터 절약이 가능하게 하는 것이다.
클라우드플레어의 이 캐시 기능은 단순히 웹페이지(HTML), 자바스크립트(JS), 스타일시트(CSS) 뿐만 아니라 이미지까지 캐시를 지원하기 때문에 데이터의 절약은 더더욱 효과가 크다. 특히 최신글 일부에 뷰가 집중되는 커뮤니티 사이트의 경우에는 트래픽을 극적으로 절약할 수 있으므로 효과가 극대화 된다고 할 수 있다.
또한 전세계에 분산되어있는 클라우드플레어 CDN 센터(
#)간에 데이터를 빠르게 전달해 분산시키기 때문에 여러구간을 거치며 지연되는 문제를 회피할 수도 있고, 실질적으로는 서비스 속도 향상으로도 이어지는 효과를 기대할 수 있다. 원래 프록시 서버의 용도가 그러하듯.
클라우드 플레어를 CDN으로 사용하면 설정에 따라 정기적으로 웹사이트를 데이터센터에 캐싱한 뒤, 방문자의 접속 위치에 따라 가장 가까운 데이터센터에서 캐싱 데이터를 전송해준다.
캐시를 하는 방식은 크게 기본(Basic), 단순(Simplified), 공격적(Aggressive)의 세가지 등급으로 나뉘는데, 세가지 방식은 기본적으로 아래와 같은 특성을 가진다.
html, js, css, jpg등의 고정된 데이터에 한해서 캐시한다
?ignore=this-query-string
웹주소의 전달값(쿼리)을 삭제하고 단순화된 정적인 데이터만을 캐시한다. 게시판 등의 동적인 데이터의 주소를 캐시하지 않게 만든다. 쿼리값이 실제 페이지에 영향을 미치는 것이 별로 없을 때는 이쪽이 더 효율적일 수 있다.
?with=query
웹주소의 전달값(쿼리)를 포함한 캐시값을 만든다. 게시판 등의 동적 데이터를 포함해서 캐시한다. 웹 어플리케이션에 따라서 동적인 값과 캐시된 값 사이의 괴리가 발생하는 경우가 발생할 수 있다. 예를 들어서 로그인을 했는데 캐시값 때문에 로그인 안한 상태로 보인다던가 하는 식.
DDoS 방어는 클라우드플레어의 상징이라 할 수 있다. 전 세계 대역폭을 이용해 웬만한 공격은 그냥 몸으로 받아내서 흘려보낸다. 그리고 WAF로 SQL 인젝션, XSS 등 해킹 공격도 막아준다. CAPTCHA를 대체하기 위해 Turnstile을 만들어서 사용자 경험을 향상시키기도 한다.
CDN기능과 더불어서 서버에서 받아온 소스를 최적화함으로서 전송 속도를 높이고 오버헤드를 줄여주는 기능을 제공한다. 서버에서 전송된 HTML, JS, CSS 등의 텍스트파일을 최적화 시켜 용량을 줄이고, 데이터를 압축시켜 용량을 감소시킨다. 또한 여러개의 자바스크립트 파일을 하나로 융합시키거나 하는 방식으로 여러개의 커넥션을 소모하는 파일 전송을 최소화시켜 서버가 부담해야할 커넥션 수를 감소시키는 결과를 가져온다.
단순히 최적화와 압축이라는 단계가 중요한 것이 아니라, 최적화라는 전처리 과정을 넣음으로서 단순 캐쉬를 전송하는데 그치지않고 보안기능과 어플리케이션 융합기능을 추가할 수 있게 되는 것이다.
3.4. 서버리스 및 컴퓨팅 ✎ ⊖
2020년대 들어서 Cloudflare Workers, Cloudflare Pages, R2 등으로 주력하고 있는 분야다.
- Cloudflare Workers: AWS Lambda와 비슷한 서버리스 컴퓨팅 서비스. 별도의 서버 없이 엣지 네트워크에서 코드를 실행할 수 있다. 속도가 매우 빠르고 콜드 스타트가 거의 없어 개발자들에게 인기가 높다.
- Cloudflare Pages: 정적 사이트 호스팅 서비스. GitHub와 연동하여 무료로 웹사이트를 배포할 수 있다.
- R2: 아마존 S3에 대항하는 오브젝트 스토리지. 대역폭 비용이 0원이라는 파격적인 정책으로 시장을 뒤흔들고 있다.
- 1.1.1.1: 클라우드플레어에서 제공하는 DNS 서비스. 빠르고 개인정보를 저장하지 않는다고 홍보한다.
- WARP: 무료 VPN 서비스. IP 우회보다는 보안과 속도에 초점을 맞춘 VPN이다.
100개 이상의 국가에 250개의 도시에 데이터 센터를 보유하고 있으며, 여기에는
대한민국 서울도 포함된다. 단 한국의 비싼 네트워크 비용으로 인해 이를 이용하려면 유료 중에서도 고비용의 플랜을 사용해야 가능하다.
5. 쓰는 사이트 ✎ ⊖
보안을 너무 철저히 해주다 보니, 해커 그룹이나 불법 사이트들도 클라우드플레어 뒤에 숨어서 보호받는 경우가 있다. Kiwi Farms 사태라든지. 이에 대해 클라우드플레어는 표현의 자유를 내세우며 서비스를 중단하지 않겠다는 입장을 고수했으나, 사회적 압박이 심해지면 예외적으로 퇴출시키기도 한다.