Cloudflare DNS 및 Cloudflared 터널 홈랩 호스팅 실무

💡 핵심 요약 (Executive Summary)

본 가이드는 dns Cloudflare 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.

📑 Table of Contents
Reference & Guidelines (NOTE)

URL 구매부터 Application 라우팅까지의 필수 및 권장요소는 *빨간색으로 표기

Impliments
Links

Godaddy

*Godaddy 도메인 구매
  1. 도메인 구매
Feature: Godaddy에서 포워딩 추가 (Cloudflare를 사용하지 않는 경우)

Cloudflare Dashboard

*Cloudflare로 이전
*1. Godaddy에서 Cloudflare 네임서버로 변경
bash
archer.ns.cloudflare.com
lisa.ns.cloudflare.com
DNSSEC 확인
Reference & Guidelines (NOTE)

DNSSEC이 켜져있으면 Cloudflare에서 Godaddy DNS를 읽는데에 문제가 발생할 수 있음. Godaddy에서 DNSSEC을 Off 한 후에 Cloudflare에서 활성화 하는것을 권장함.

*2. Cloudflare에 도메인 등록

*HTTPS 설정
*에지 인증서 설정
  • 항상 HTTPS 사용 ON
  • nextcloud 클라이언트 인증시 이슈가 있었으므로 off처리함
  • Rule 적용으로 도메인 필터처리할수 있으나, 자세한 기능적인 제약을 알지 못하므로 아래의 설정만 유지.
  • 자동 HTTPS 다시 쓰기 ON
  • http://:80 요청을 https://:443으로 redirect함
이메일 라우팅
하위도메인 추가
라우팅 설정
DNS 설정
DNSSEC 활성화
Feature: Github Pages 커스텀 도메인 사용
  1. Github Pages 커스텀 도메인 등록시, 리포지토리 최상단에 CNAME파일이 생성된다. Actions 사용시에 자동생성이 되지 않는 경우 직접등록 하면 됨

  2. Cloudflare 등의 DNS Provider 대시보드에 접속하여 DNS 레코드 등록

Reference & Guidelines (NOTE)

IPv4 및 IPv6 모두 사용하기 위해서 A와 AAAA모두 추가하면 된다.

IPv4: A레코드를 생성하려면 Apex 도메인을 GitHub 페이지의 IP 주소로 지정하세요.

txt
185.199.108.153
   185.199.109.153
   185.199.110.153
   185.199.111.153

IPv6: AAAA레코드를 생성하려면 Apex 도메인을 GitHub 페이지의 IP 주소로 지정하세요.

txt
2606:50c0:8000::153
   2606:50c0:8001::153
   2606:50c0:8002::153
   2606:50c0:8003::153
보안 설정
bot

Cloudflare – Zero Trust(Cloudflare One Dashboard)

*Application Routing 설정
*Zero Trust 무료플랜 구매 및 대시보드 이동
*Network 설정 – Tunnel
  1. 생성

  2. 서버 내에서 커넥터 설치시 Status INVICTED → HEALTHY 변경됨

  3. sudo cloudflared service install $token
  4. public hostname 등록
개인 설정 – AuthN 등록
  • 필수 아님
Access – Application 등록
  • 필수 아님
Root CA 인증서 관리

Using Terraform

관련 페이지
토큰 및 인증수단 관리
  • zone id & account id

  • 개요에서 zone_id와 account_id를 확인할 수 있다.

  • 아래의 API 토큰 가져오기링크 클릭시 토큰관리화면으로 이동
  • token management

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *