# DNS : Cloudflare DNS

# Cloudflare?

namu.wiki 소개로 대체 합니다.

OSI 모형으로 따지면, 애플리케이션 구간에 해당되는 사업을 한다. 주로 고객들의 안전하고 원활한 웹 애플리케이션 사용을 지향한다. WAF<span class="_6gXybSmt">(웹애플리케이션 방화벽)</span>, DDoS, CDN, DNS 등을 주 사업으로 삼는다.  
  
특히 2021년 기준 전 세계 웹사이트 **5개 중 1곳**이 클라우드플레어의 [리버스 프록시서비스](https://w3techs.com/technologies/overview/proxy "https://w3techs.com/technologies/overview/proxy")와 [DNS 서버](https://w3techs.com/technologies/overview/dns_server "https://w3techs.com/technologies/overview/dns_server")를 사용할 정도로 이쪽 분야에서는 최강자 중 하나로 자리를 잡았다.[<span id="bkmrk-"></span>\[7\]](https://namu.wiki/w/Cloudflare#fn-7)  
  
[2023년](https://namu.wiki/w/2023%EB%85%84 "2023년") [3월](https://namu.wiki/w/3%EC%9B%94 "3월") 기준으로 [대한민국](https://namu.wiki/w/%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD "대한민국") [서울](https://namu.wiki/w/%EC%84%9C%EC%9A%B8 "서울")[<span id="bkmrk--1"></span>\[8\]](https://namu.wiki/w/Cloudflare#fn-8)을 포함한 285곳의 데이터 센터가 존재한다.([목록](https://www.cloudflare.com/network-map "https://www.cloudflare.com/network-map"))  
  
프리 플랜, 프로 플랜, 비즈니스 플랜, 엔터프라이즈 플랜이 있으며, 프리 플랜은 무료로 이용 가능하다.  
  
클라우드플레어의 서비스는 전세계를 대상으로 서비스를 제공하는 곳이거나 DDoS 공격을 자주 받는 곳이 주로 사용하며, 그 사이트의 수는 수십만개가 넘는다. 따라서 주된 공격을 받기도 하며 이를 최전선에서 방어하고 있다. 워낙 공격을 많이 받아 수시로 경로가 재지정되는 일이 흔하며, [Cloudflare 상태 페이지](https://www.cloudflarestatus.com/ "https://www.cloudflarestatus.com")를 통해 각 리전에 있는 서버 상태를 확인할 수 있다.  
  
당사는 사내, 하이브리드, 클라우드 및 SaaS(Software-as-a-Service) 애플리케이션 전반에 걸쳐 보안, 성능 및 안정성을 제공할 수 있는 통합 제어면을 기업에 제공한다. 회사의 제품 오퍼링은 성능과 신뢰성, 고급 보안, Cloudare for Developers, 비디오 스트리밍 및 전송, 도메인 등록으로 분류된다.  
  
게임, SaaS, 이커머스, 미디어 및 엔터테인먼트, 공공 부문, 공익 단체, 주 및 지방 정부 등과 같은 다양한 산업에 서비스를 제공하고 있다.  
  
2021년 부터 AWS(아마존), Azure(마이크로소프트), GCP(구글)의 뒤를 잇는 4대 클라우드 플랫폼 기업으로 성장하겠다고 선언하였다. 기존에는 CDN, DNS 시장의 선두 주자 였으나, 이후에는 JAMStack 시장으로도 진출하였다. 아무래도 JAMStack 에서는 후발 주자인 만큼 시장에서 신뢰를 제대로 얻지는 못해 아직까지는 경쟁사 대비 점유율은 낮지만 다른 모든 경쟁사(AWS, Azure, GCP, Vercel, Netflify 등) 대비 좋은 가격 경쟁력을 보여주는 Pages, Workers 를 보면 JAMStack 사업에서의 잠재력 또한 높게 평가할 수 있다.  
  
R2[<span id="bkmrk--2"></span>\[9\]](https://namu.wiki/w/Cloudflare#fn-9), D1[<span id="bkmrk--3"></span>\[10\]](https://namu.wiki/w/Cloudflare#fn-10), Duration Object[<span id="bkmrk--4"></span>\[11\]](https://namu.wiki/w/Cloudflare#fn-11), Worker KV[<span id="bkmrk--5"></span>\[12\]](https://namu.wiki/w/Cloudflare#fn-12)등 전 세계에 최저 지연 시간으로 서비스가 가능한 현대적인 JAMStack을 제공하기 위해 필요한 솔루션들을 급 속도로 출시 및 개발하고있다. 클라우드 플레어의 장점은 좋은 가격 경쟁력[<span id="bkmrk--6"></span>\[13\]](https://namu.wiki/w/Cloudflare#fn-13)과 낮은 진입 장벽이다. 또한 개인, 소규모 프로젝트에선 무료 플랜으로도 차고 넘칠 정도로 상당히 관대한 무료 플랜 정책을 고수하고 있다. 원래 클라우드는 하나의 지역이 아닌 전 세계에 높은 품질의 백엔드 서비스를 배포 하려면 성능을 희생하던가 가성비를 희생하던가 복잡한 시스템을 자체 구축 하던가를 선택해야 했는데, 클라우드플레어는 자유도[<span id="bkmrk--7"></span>\[14\]](https://namu.wiki/w/Cloudflare#fn-14)가 떨어지는 대신 별다른 노력이나 관련 전문 지식이 필요 없이 고성능의 글로벌 웹 서비스를 구축할 수 있다.

# DNS 설정

Cloudflare 로그인 후 활성화 되어 있는 도메인을 선택 합니다.

[![cf1.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/r8dtPbBmNQQJoTqA-cf1.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/r8dtPbBmNQQJoTqA-cf1.png)

"DNS 설정"으로 들어 갑니다.

이제 "DNS 레크드"를 등로할 차례 입니다

[![cf3.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/0hBIIlSp9awELJ5w-cf3.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/0hBIIlSp9awELJ5w-cf3.png)

[![cf4.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/tZzwSwFQc6ZFGfxP-cf4.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/tZzwSwFQc6ZFGfxP-cf4.png)

간단히 A 레코드와 CNAME 레코드만 설명 드리도록 하겠습니다.

먼저 용어에 대한 개념은 아래 Cloudflare 설명으로 대체 합니다.

> ## DNS A 레코드란?
> 
> "A"는 "주소"를 나타내며 이것은 [DNS](https://www.cloudflare.com/learning/dns/what-is-dns/) 레코드의 가장 기본적인 유형입니다. A는 주어진 [도메인의](https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/) [IP 주소](https://www.cloudflare.com/learning/dns/glossary/what-is-my-ip-address/)를 나타냅니다.예를 들어 cloudflare.com의 DNS 레코드를 끌어오면 A 레코드는 현재 IP 주소 104.17.210.9를 반환합니다.
> 
> A 레코드는 IPv4 주소만 보유합니다.웹 사이트에 IPv6 주소가 있는 경우 웹 사이트는 대신 ["AAAA" 레코드](https://www.cloudflare.com/learning/dns/dns-records/dns-aaaa-record/)를 사용합니다.
> 
> 다음의 A 레코드의 예입니다.
> 
> <div class="record-table"><table><tbody><tr><th>example.com</th><th>레코드 유형:</th><th>값:</th><th>TTL</th></tr><tr><td>@</td><td>A</td><td>192.0.2.1</td><td>14400</td></tr></tbody></table>
> 
> </div>이 예제의 "@" 기호는 루트 도메인에 대한 레코드임을 나타내고 "14400" 값은 초 단위로 나열된 [Time to Live(TTL)](https://www.cloudflare.com/learning/cdn/glossary/time-to-live-ttl/)입니다. A 레코드의 기본 TTL은 14,400초입니다. 이는 A 레코드가 업데이트되면 적용되는 데 240분(14,400초)이 걸림을 의미합니다.
> 
> 대부분의 웹 사이트에는 A 레코드가 하나만 있지만, 여러 개가있을 수도 있습니다. 일부 상위 프로필 웹 사이트에는 각각 동일한 콘텐츠를 호스팅하는 여러 IP 주소 중 하나에 요청 트래픽을 분산할 수 있는 [라운드 로빈 부하 분산](https://www.cloudflare.com/learning/dns/glossary/round-robin-dns/)이라는 기술의 일부로 여러 다른 A 레코드가 있습니다.
> 
> ## DNS A 레코드는 언제 사용될까요?
> 
> A 레코드의 가장 일반적인 용도는 IP 주소 조회, 즉 도메인 이름(예: "cloudflare.com")을 IPv4 주소와 일치시키는 것입니다.이를 통해 사용자의 장치는 사용자가 실제 IP 주소를 기억해서고 입력하지 않아도 웹 사이트에 연결하고 로드할 수 있습니다.사용자의 웹 브라우저에서는 [DNS 확인자](https://www.cloudflare.com/learning/dns/dns-server-types/)에 쿼리를 전송하여 이를 자동으로 수행합니다.
> 
> DNS A 레코드는 도메인 네임 시스템 기반 블랙홀 목록(DNSBL)을 운영하는 데에도 사용됩니다. DNSBL은 메일 서버에서 알려진 스팸 발송자 도메인의 이메일 메시지를 식별하고 차단하는 데 도움이 될 수 있습니다.
> 
> DNS A 레코드에 대해 자세히 알아보려면 [여기에서](https://tools.ietf.org/html/rfc1035) A 레코드 및 기타 여러 DNS 레코드 유형이 정의된 원래 1987 RFC를 볼 수 있습니다.도메인 네임 시스템의 작동 방식에 대한 자세한 내용은 [DNS란?](https://www.cloudflare.com/learning/dns/what-is-dns/)을 참조하세요.
> 
> ## DNS CNAME 레코드란?
> 
> '정식 이름'(CNAME) 레코드는 도메인 또는 하위 [도메인](https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/)이 다른 도메인의 별칭인 경우 [A 레코드](https://www.cloudflare.com/learning/dns/dns-records/dns-a-record/) 대신 사용됩니다.모든 CNAME 레코드는 [IP 주소](https://www.cloudflare.com/learning/dns/glossary/what-is-my-ip-address/)가 아닌 도메인을 가리켜야 합니다.각 단서가 다른 단서를 가리키고 마지막 단서가 보물을 가리키는 물건 찾기 게임을 상상해보십시오.CNAME 레코드가 있는 도메인은 다른 단서(CNAME 레코드가 있는 다른 도메인) 또는 보물(A 레코드가 있는 도메인)을 가리키는 단서와 같습니다.
> 
> 예를 들어 blog.example.com에 'example.com' 값이 있는 CNAME 레코드가 있다고 가정해 보겠습니다('블로그'없이).이는 [DNS](https://www.cloudflare.com/learning/dns/what-is-dns/) 서버가 blog.example.com에 대한 [DNS 레코드](https://www.cloudflare.com/learning/dns/dns-records/)에 도달하면,실제로 example.com에 다른 DNS 조회를 트리거하여example.com의IP 주소를 A 레코드를 통하여 반환함을 의미합니다.이 경우 example.com은 blog.example.com의 정식 이름(또는 실제 이름)이라고 말할 수 있습니다.
> 
> 종종, 사이트에 blog.example.com 또는 shop.example.com 와 같은 하위 도메인이 있는 경우, 이러한 하위 도메인에는 루트 도메인(example.com)을 가리키는 CNAME 레코드가 있습니다. 이런 방식으로, 호스트의 IP 주소가 변경되면 루트 도메인의 DNS A 레코드만 업데이트하면 되며, 모든 CNAME 레코드는 루트에 대한 변경 사항을 따릅니다.
> 
> CNAME 레코드는 항상 CNAME 레코드가 가리키는 도메인과 동일한 웹 사이트로 확인되어야 한다는 오해가 자주 생기지만, 그렇지 않습니다. CNAME 레코드는 클라이언트를 루트 도메인과 동일한 IP 주소로만 가리킵니다. 클라이언트가 해당 IP 주소에 도달하면 웹 서버는 그에 따라 URL을 처리합니다. 예를 들어 blog.example.com은 example.com을 가리키는 CNAME을 가질 수 있으며, 클라이언트에게 example.com의 IP 주소로 향하게 할 수 있습니다. 그러나 클라이언트가 실제로 해당 IP 주소에 연결하면 웹 서버는 URL을 보고 그 URL이 blog.example.com임을 확인하며, 홈 페이지가 아닌 블로그 페이지를 전달합니다.
> 
> CNAME 레코드의 예:
> 
> <div class="record-table"><table><tbody><tr><th>blog.example.com</th><th>레코드 유형:</th><th>값:</th><th>TTL</th></tr><tr><td>@</td><td>CNAME</td><td>이는 example.com의 별칭입니다</td><td>32600</td></tr></tbody></table>
> 
> </div>이 예에서는 blog.example.com이 example.com을 가리키는 것을 볼 수 있으며, 그것이 [예제 A 레코드](https://www.cloudflare.com/learning/dns/dns-records/dns-a-record/)를 기반으로 한다고 가정하면 결국 IP 주소 192.0.2.1로 확인된다는 것을 알 수 있습니다.
> 
> ## CNAME 레코드가 다른 CNAME 레코드를 가리킬 수 있을까요?
> 
> CNAME 레코드에서 다른 CNAME 레코드를 가리키는 것은 도메인을 로드하기 전에 여러 DNS 조회가 필요하므로 비효율적이고, 그에 따라 사용자 경험이 느려질 수 있지만, 가능합니다. 예를 들어 blog.example.com은 www.example.com의 CNAME 레코드를 가리키는 CNAME 레코드를 가질 수 있고 이 레코드는 다시 example.com의 A레코드를 가리킵니다.
> 
> blog.example.com 에 대한 CNAME:
> 
> <div class="record-table"><table><tbody><tr><th>blog.example.com</th><th>레코드 유형:</th><th>값:</th><th>TTL</th></tr><tr><td>@</td><td>CNAME</td><td>이는 www.example.com의 별칭입니다</td><td>32600</td></tr></tbody></table>
> 
> </div>www.example.com에 대한 CNAME을 가리킵니다.
> 
> <div class="record-table"><table><tbody><tr><th>www.example.com</th><th>레코드 유형:</th><th>값:</th><th>TTL</th></tr><tr><td>@</td><td>CNAME</td><td>이는 example.com의 별칭입니다</td><td>32600</td></tr></tbody></table>
> 
> </div>이 구성은 DNS 조회 프로세스에 단계를 추가하므로 가능하면 피해야 합니다. 대신 blog.example.com 및 www.example.com 모두에 대한 CNAME 레코드가 example.com을 직접 가리켜야 합니다.
> 
> ## CNAME 레코드 사용에는 어떤 제한이 있을까요?
> 
> MX 및 NS 레코드는 CNAME 레코드를 가리킬 수 없습니다. 이들 레코드는 A 레코드(IPv4의 경우) 또는 [AAAA 레코드](https://www.cloudflare.com/learning/dns/dns-records/dns-aaaa-record/)(IPv6의 경우)를 가리켜야 합니다. MX 레코드는 이메일을 메일 서버로 보내는 메일 교환 레코드입니다. NS 레코드는 '이름 서버' 레코드이며 해당 도메인에 대해 권한이 있는 DNS 서버를 나타냅니다.
> 
> [MX](https://www.cloudflare.com/learning/dns/dns-records/dns-mx-record/) 레코드 또는 [NS 레코드](https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/)에 대해 자세히 알아보세요.

가장먼저 A레코드를 설정해야 합니다.

<p class="callout success">**유형 :** A  
**이름(필수 항목)** : 도메인 주소 ("www" 등이 포함되지 않은 메인 도메인 값을 넣으샤야 합니다.)  
**IPv4 주소 (필수 항목)** : 도메인이 연결될 IP 주소 값입니다. 연결하려고 하는 서버의 외부 IP 값을 찾아 넣어주시면 됩니다.  
  
[![cf5.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/ftM29a4AkOiVAgxQ-cf5.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/ftM29a4AkOiVAgxQ-cf5.png)</p>

<p class="callout warning">유동 IP를 사용 중일 경우 "DDNS Updater" 문서를 참고하세요.</p>

서브 도메인 추가를 위한 "CNAME" 설정 방법 입니다.

<p class="callout success">**유형 :** CNAME  
**이름(필수 항목)** : 원하시는 이름을 입력하시면 됩니다.   
**대상 (필수 항목)** : 바인딩 될 도메인 입니다. A레코드에서 입력한 도메인을 넣어주시면 됩니다.  
[![cf6.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/q5mrqzqPCgkWnjhs-cf6.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/q5mrqzqPCgkWnjhs-cf6.png)</p>

위의 경우 cloud.dhcloud.me라는 서브도메인이 값이 DNS에 등록된 예제 입니다.

이후 단계는 "Nginx Proxy Manager" 설명을 참고하시면 됩니다.