HOME > PRESS RELEASE > 케이투시스템즈 자료

케이투시스템즈 소식

제목 [기본] cloudflare(클라우드플레어) DNS 등록일 2020.10.19 16:39
글쓴이 신석훈 조회 1065

빠르고, 안전하고, 복원력이 있는 DNS

DNS는 모든 온라인 비즈니스의 중요한 구성 요소입니다. 하지만, 문제가 발생하기 전까지는 이 구성 요소는 간과되고 잊혀지는 경우가 많습니다.

Cloudflare Managed DNS는 신뢰할 수 있는 엔터프라이즈급 DNS 서비스로서 가장 빠른 응답 시간, 최고의 이중화, 기본 제공 DDoS 완화 및 DNSSEC를 통한 첨단 보안을 제공합니다.


클라우드플레어(Cloudflare) 동작 원리


사용자가 http://example.com 주소를 입력했을때 일반적으로는 DNS example.com을 조회하면 그에 해당하는 서버의 IP주소를 알려주고, 해당 IP주소로 실제 HTTP요청이 일어난다. 하지만 클라우드플레어(Cloudflare)를 사용하게되면 모든 요청이 클라우드플레어 서버를 먼저 한번 거친 후, 필요한 경우에만 실제 서버의 IP주소까지 요청이 도달한다.

·         일반적인 접근: DNS -> Server IP

·         클라우드플레어 설정 후: DNS -> Cloudflare Server(CDN) -> Your IP (Origin)


Cluldflare.jpg

일반적인 경우 자주 바뀌거나, 유저 별로 다르게 보여줘야하는 동적인 컨텐츠(dynamic content)들에 대한 요청은 CDN(Content Delivery Network)을 거치지 않고 직접 오리진으로 향하게 한다. 대신 해당 컨텐츠안에 링크로 포함된 JS, CSS, 이미지 파일 요청 등은 정적 컨텐츠(static content)이기 때문에 잘 변하지 않으므로 별도의 CDN을 설정해서 제공한다.

하지만 특이하게도 클라우드플레어가 설정된 경우 사이트로 향하는 모든 traffic이 정적/동적 컨텐츠와 무관하게 클라우드플레어 서버를 일단 한번 거치도록 되어있다. 이로 인해서 다음과같은 다양한 장/단점들이 생겨난다.

클라우드플레어의 장점


·         CDN을 별도로 설정해줄 필요 없이 네임서버 설정 변경만으로 모든 컨텐츠를 CDN을 통해 전달이 가능하다.

·         파일 확장자들을 기준으로 정적인 컨텐츠들은 origin에서 한번만 로드한 후 캐시해서 자동으로 CDN처럼 동작한다 (커스텀하게 규칙을 설정이 가능하다.) HTML은 캐싱하지 않는다.

·         안타깝게도 동적인 컨텐츠의 주소들만 따로 분류해서 클라우드 플레어를 거치지 않도록 따로 설정하는것은 불가능하다.

·         클라우드플레어 서버를 거칠때 악성 트래픽 필터링, DDoS 완화 등의 작업을 할 수 있게되어 실제 서버로 들어오는 부하를 많이 줄일 수 있다. 예를들어 의심되는 트래픽에 대해서 자동입력 방지 문자 등을 보여주고 이 부분을 통과할 경우에만 정상적으로 요청을 처리해 준다던가 하는 식으로 중간 차단을 해준다.

·         실제 서버는 클라우드플레어 서버의 뒤쪽으로 숨겨져있기 때문에 IP를 완전히 숨길 수 있어서 추가적인 보안상의 이점이 있다.

·         일반적으로 생각했을때 동적인 컨텐츠의 경우 캐시가 불가능하기 때문에 직접 서버로 연결하지 않고 클라우드플레어 서버를 한번 거쳐서 오게되면 속도가 더 느려질 것으로 보인다. 하지만 클라우드플레어가 전세계에 운영중인 Edge들과 해당 Edge들을 이어둔 전용 네트워크 회선을 사용하면, 실제 인터넷 상에서 엔드투엔드(End-to-End)로 가기위해 거쳐야 할 “hops” 수가 훨씬 줄어든다고 클라우드플레어 측에서 설명 하고 있다. 이 부분은 네트웍 상황에따라 장점이 될 수도있고 단점이 될 수도 있는 부분이라 자신의 상황에 맞게 사용해야 할 것 같다


클라우드플레어의 단점

·         정적인 컨텐츠 경우에는 일반적인 CDN과 동일하게 속도가 매우 빠르지만, 동적인 컨텐츠의 경우 클라우드플레어서버를 통해 실제 서버(origin) 에서 컨텐츠를 가져와야 한다. 앞서 장점쪽에서 언급했듯이 네트워크 환경에따라 이 부분이 더 빠를때도 있지만 항상 그렇다는것을 보장 할수 없다. 때문에 페이지가 열리는 속도와 직결되는 TTFB(Time To First Byte)가 느려질 가능성이 충분히 존재하고TTFB 느려질수록 구글 등의 검색엔진의 SEO에서 페널티를 받을 가능성도 있기때문에 주의해서 사용해야 한다.

·         서버로 들어오는 모든 요청이 클라우드플레어를 통해서 전달되기때문에 정확한 액세스 로그기록이 힘들어진다. 때문에 특정 사용자의 기록을 정확히 찾아내서 문제점을 파악한다거나 할 때 좀더 어려움을 겪을 수 있다.


다음글 | AWS 웹 구축 FILE