본문으로 건너뛰기
CivoCloudManager

Civo DNS와 도메인을 Mac 창에서 편집합니다.

도메인을 Civo 네임서버로 넘긴 다음, 존은 브라우저 탭이 아니라 네이티브 앱에 둡니다.

Civo는 다른 곳에서 등록한 도메인의 DNS를 호스팅합니다. 준비는 짧습니다. 등록기관에서 네임서버를 옮기고, Civo 안에 도메인을 만들고, 레코드를 추가합니다. 브라우저가 아파지는 쪽은 그다음의 유지 보수입니다. 정작 중요한 순간은 대체로 애매한 시각의 인증서 챌린지이고, 그때 웹 대시보드 세 단계 안쪽에서 TXT 값을 오타 없이 붙여 넣으려 애쓰게 됩니다. CivoCloudManager는 같은 존을 같은 Civo REST API v2 위에서, 이미 열려 있는 창 안에 둡니다.

도메인을 Civo로 넘기기, 처음부터 끝까지

  1. 01

    도메인은 다른 곳에서 등록합니다

    Civo는 도메인 등록을 판매하지 않습니다. 자체 문서에도 분명히 적혀 있습니다. DNS 서비스는 존 호스팅만을 위한 것입니다. 도메인은 구입한 등록기관에 그대로 남고, 옮기는 것은 네임서버 위임뿐입니다.

  2. 02

    네임서버를 ns0.civo.com과 ns1.civo.com으로 설정합니다

    등록기관의 관리 화면에서 현재 네임서버를 ns0.civo.comns1.civo.com으로 바꿉니다. Civo가 문서에 적어 둔 호스트명이 그 둘입니다. 변경이 얼마나 빨리 반영되는지는 Civo가 아니라 기존 위임의 TTL과 등록기관이 정하므로, 아래에서 추가하는 것들이 바깥에서 보이기까지는 기다림을 예상해 두세요.

  3. 03

    존이 생기도록 Civo에 도메인을 만듭니다

    네임서버를 위임해도 Civo에 답할 존이 없으면 아무 일도 일어나지 않습니다. CivoCloudManager에서는 Domains 화면이 그 자리입니다. 툴바의 플러스 버튼이 도메인을 만듭니다. 앱은 그것을 Civo REST API v2의 /dns 엔드포인트로 보냅니다. 도메인은 리전이 아니라 계정 단위라, 온보딩에서 고른 리전이 존을 가두지 않습니다.

  4. 04

    레코드를 추가합니다

    목록에서 도메인을 펼치면 그 아래에 레코드가 나타나고, 각각 타입과 이름과 값과 TTL을 보여 줍니다. Add Record를 누르면 편집기가 열립니다. 타입 선택기, 이름 칸(www, mail, 또는 apex를 뜻하는 @), 값 칸, 600에서 시작하는 TTL, 그리고 MX나 SRV를 골랐을 때만 나타나는 우선순위 칸입니다.

  5. 05

    리졸버가 아니라 API에 대고 확인합니다

    앱에서 도메인을 다시 불러와 Civo가 보낸 값을 저장했는지 확인합니다. 그 뒤에도 조회가 실패한다면 원인은 대개 잘못된 레코드가 아니라 위임이나 캐시입니다. 앱의 API Health 화면은 Civo의 DNS 엔드포인트가 응답하고 있는지를 한 화면으로 알려 주므로, 추측을 시작하기 전에 Civo 문제인지 리졸버 문제인지 갈라 줍니다.

앱이 쓰는 레코드 타입

타입 선택기는 A, AAAA, CNAME, MX, TXT, SRV, NS를 제공합니다. 우선순위는 MX와 SRV에서만 묻습니다. 그 값을 갖는 타입이 둘뿐이기 때문입니다. TTL은 600으로 미리 채워지며 Civo가 문서에 적어 둔 기본값입니다. Civo의 CLI 문서는 A, CNAME, TXT, SRV, MX를 이름으로 들고 있으니, AAAA나 NS 레코드를 쓴다면 들어갔겠거니 하지 말고 앱이 돌려주는 응답을 읽으세요. 레코드 삭제는 일부러 느리게 만들어 두었습니다. 확인 시트에서 레코드 라벨을 화면에 보이는 그대로 입력해야 삭제 버튼이 활성화됩니다.

인증서 챌린지 중에 네이티브 편집기가 이기는 이유

ACME DNS-01 챌린지는 긴 무작위 문자열과 짧은 시간을 줍니다. 앱에서는 도메인이 제자리에서 펼쳐지고, 작업하는 동안 기존 레코드가 계속 보이며, 레코드에서 Edit을 고르면 현재 타입과 이름과 값과 TTL이 이미 채워진 시트가 열립니다. 그래서 TXT 값을 고치는 일은 선택, 붙여 넣기, 저장입니다. 어디로도 이동하지 않고, 무엇도 다시 로드되지 않고, 비교 대상인 레코드는 여전히 화면에 있습니다. 저장할 때마다 페이지를 초기화하는 웹 폼은 그 순간 가장 없는 것을 빼앗아 갑니다. 주의력입니다.

역방향 DNS는 존이 아니라 인스턴스에 있습니다

역방향 DNS는 문서가 얇을 뿐 실재하는 Civo 기능이고, DNS 존의 일부가 아예 아닙니다. 인스턴스의 속성이라 인스턴스 상세 화면에서 설정합니다. Reverse DNS 행이 현재 호스트명이나 Not set을 보여 주고, 클릭하면 그 행이 텍스트 필드로 바뀝니다. 저장하면 인스턴스의 reverse_dns 필드가 기록되고, 변경은 앱의 로컬 활동 로그에 시각과 함께 남습니다. 메일을 보내는 쪽이라면 이게 가장 중요합니다. 받는 서버가 IP를 그럴듯한 호스트명으로 되돌려 푸는지 흔히 확인하기 때문입니다.

이건 external-dns를 대체하지 않습니다

external-dns는 Civo 제공자를 내장한 Kubernetes 컨트롤러입니다. CIVO_TOKEN으로 인증하고 Service와 Ingress에서 레코드를 자동으로 만듭니다. CivoCloudManager는 그중 아무것도 하지 않습니다. 클러스터 쪽 구성 요소가 없고, 무엇에도 반응하지 않으며, Service가 생겼다는 이유로 레코드를 만드는 일은 앞으로도 없습니다. 레코드가 워크로드를 따라가야 한다면 external-dns를 돌리고 계속 돌리세요. external-dns가 관리하는 이름만 건드리지 않으면 둘은 같은 도메인에서 충돌 없이 공존합니다. 사람이 소유하는 레코드, 그러니까 apex, 메일, 검증 문자열, 위임 같은 것에 앱을 쓰고 나머지는 컨트롤러에 맡기면 됩니다.

레코드가 퍼지지 않을 때는 API부터 지웁니다

DNS 엔드포인트는 앱이 Account 섹션에서 상태를 확인하는 16개 Civo REST 엔드포인트 중 하나입니다. 각각을 10초 타임아웃으로 차례로 호출하고, HTTP 상태 코드와 왕복 시간을 밀리초로 보여 줍니다. 200 ms 미만은 녹색, 500 ms 미만은 주황, 그 위는 빨강입니다. 헤더는 전체 결과를 All Systems Operational로 요약하거나 사용할 수 없는 엔드포인트 수로 보여 줍니다. 작은 기능이지만 특정한 종류의 허비된 한 시간을 막아 줍니다. 방금 쓴 레코드가 보이지 않을 때, 캐시를 비우고 리졸버를 탓하기 전에 Civo가 쓰기를 받아들이기는 했는지 확인할 수 있습니다.

자격 증명이 놓이는 자리

이 모든 것을 Civo API 키 하나가 움직이고, 그 키는 macOS 키체인에 있으며, 앱이 키를 화면에 드러내기 전에 Touch ID를 요구합니다. Mac과 Civo 사이에 게시자의 서버는 없고 텔레메트리도 없습니다. 앱은 엔타이틀먼트 네 개로 샌드박스에서 돌고, Apple Silicon이나 Intel에서 macOS 15 이상이 필요하며, 설명을 믿는 대신 요청 코드를 직접 읽고 싶다면 소스는 github.com/marcelrgberger/civo-cloud-manager에 있습니다.

Civo 레코드를 바꾸는 세 가지 방법

경쟁이라기보다 서로 다른 일입니다. 정직하게 나누면 하나는 자동화를 위한 것이고 둘은 사람을 위한 것입니다.

기능 Civo 대시보드(브라우저)external-dnsCivoCloudManager
레코드 하나를 손으로 편집 용도가 아님예, 미리 채워진 편집기에서
Kubernetes Service와 Ingress에서 레코드 자동 생성 아니요예, 그게 존재 이유입니다아니요, 앞으로도 없습니다
동작 중인 Kubernetes 클러스터가 필요 아니요아니요
인스턴스의 역방향 DNS 아니요예, 인스턴스에서 인라인으로
API 키가 사는 곳 브라우저 세션클러스터 안의 Kubernetes SecretmacOS 키체인, 표시에 Touch ID
Civo API 엔드포인트 상태 아니요아니요16개 엔드포인트의 상태와 지연

Civo DNS 질문, 답변

도메인을 Civo로 어떻게 넘기나요?
등록기관에서 네임서버를 ns0.civo.comns1.civo.com으로 바꾸고, 답할 존이 생기도록 Civo 안에 도메인을 만듭니다. Civo는 DNS를 호스팅하지만 도메인을 등록하지는 않으므로 도메인 자체는 구입한 곳에 남습니다. 두 절반이 모두 필요합니다. 존 없는 위임은 아무것도 돌려주지 않고, 위임 없는 존은 아무도 묻지 않습니다.
CivoCloudManager에서 어떤 DNS 레코드 타입을 편집할 수 있나요?
타입 선택기는 A, AAAA, CNAME, MX, TXT, SRV, NS를 제공합니다. 우선순위 칸은 MX와 SRV에만 나타나고, TTL은 Civo가 문서에 적어 둔 기본값 600으로 미리 채워집니다. Civo의 CLI 문서는 A, CNAME, TXT, SRV, MX를 나열하므로, 첫 AAAA나 NS 레코드를 쓴 뒤에는 응답을 확인하세요.
브라우저 없이 Civo DNS를 편집할 수 있나요?
가능합니다. Civo CLI가 터미널에서 하고, CivoCloudManager는 같은 Civo REST API v2를 써서 네이티브 macOS 창에서 합니다. 앱에서는 도메인이 제자리에서 펼쳐지며 레코드를 보여 주고, Edit은 현재 값이 채워진 시트를 열며, 삭제에는 레코드 라벨을 입력하는 확인이 필요합니다.
CivoCloudManager가 external-dns를 대체하나요?
아니요. external-dns는 Civo 제공자를 내장한 Kubernetes 컨트롤러로, Service와 Ingress가 바뀔 때마다 레코드를 자동으로 만들고 지웁니다. CivoCloudManager에는 클러스터 쪽 구성 요소가 없고 스스로 만드는 것도 없습니다. 같은 도메인에서 둘 다 돌리세요. 컨트롤러가 관리하는 이름은 컨트롤러의 것이고 나머지는 내 것입니다.
역방향 DNS는 무엇에 쓰고, Civo에서는 어디서 설정하나요?
역방향 DNS는 인스턴스 IP를 호스트명으로 되돌려 풀어 줍니다. 메일 수신 측이 메시지를 받아들이기 전에 이를 확인하는 일이 흔합니다. Civo에서는 존의 항목이 아니라 인스턴스의 속성이므로, CivoCloudManager에서는 인스턴스 상세 화면에서 설정합니다. Reverse DNS 행을 클릭하고, 호스트명을 입력하고, 저장하면 됩니다.

손이 이미 있는 자리에 존을 두세요.

CivoCloudManager는 Mac App Store에서 일회성 구매이고, 첫 실행부터 7일간 전체 기능이 열리며, 그 뒤에도 메뉴 막대 방화벽 티어는 무료로 남습니다.