コンテンツへスキップ
CivoCloudManager

Civo の DNS とドメインを、Mac のウィンドウで編集する。

ドメインを Civo のネームサーバーに向けたあと、ゾーンはブラウザのタブではなくネイティブアプリで持つ。

Civo は、ほかで登録したドメインの DNS をホストします。準備は短くて済みます。レジストラでネームサーバーを移し、Civo 側にドメインを作り、レコードを足す。つらくなるのはそのあとの運用です。肝心の瞬間はたいてい都合の悪い時間帯の証明書チャレンジで、ウェブダッシュボードを 3 クリック潜ったところで、TXT の値を打ち間違えずに貼ろうとしている。CivoCloudManager は同じゾーンを同じ Civo REST API v2 の上で、すでに開いているウィンドウの中に置きます。

ドメインを Civo に向ける、最初から最後まで

  1. 01

    ドメインはよそで登録する

    Civo はドメイン登録を売っていません。Civo 自身のドキュメントもその点を明記していて、DNS サービスはゾーンをホストするためだけのものです。ドメインは買ったレジストラに置いたままで、動くのはネームサーバーの委任だけです。

  2. 02

    ネームサーバーを ns0.civo.com と ns1.civo.com にする

    レジストラの管理画面で、いまのネームサーバーを ns0.civo.comns1.civo.com に置き換えます。Civo がドキュメントで示しているのはこの二つのホスト名です。切り替えがどれだけ早く効くかは、古い委任の TTL とレジストラ次第で、Civo は関係ありません。これから足すものが外から見えるまでには待ち時間があると思ってください。

  3. 03

    ゾーンができるよう Civo にドメインを作る

    ネームサーバーを委任しても、Civo 側に応答するゾーンがなければ何も起きません。CivoCloudManager では Domains ビューで、ツールバーのプラスボタンがドメインを作ります。アプリはそれを Civo REST API v2 の /dns エンドポイントに POST します。ドメインはアカウント全体のもので、リージョンには紐づきません。オンボーディングで選んだリージョンがゾーンを囲い込むことはありません。

  4. 04

    レコードを足す

    一覧でドメインを展開すると、その下にレコードが並び、それぞれタイプ、名前、値、TTL が見えます。Add Record を押すとエディタが開きます。タイプのピッカー、名前の欄(www、mail、頂点なら @)、値の欄、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 は Kubernetes のコントローラで、Civo プロバイダを内蔵し、CIVO_TOKEN で認証して Service や Ingress からレコードを自動で作ります。CivoCloudManager はそのどれもしません。クラスタ側のコンポーネントを持たず、何にも反応せず、Service が現れたからといってレコードを作ることは絶対にありません。レコードがワークロードに追従すべきなら、external-dns を動かし、そのまま動かし続けてください。同じドメインの上で両方を使っても、external-dns が管理する名前に手を出さない限り衝突はしません。人が持つレコード、つまり頂点、メール、検証用の文字列、委任はアプリで扱い、残りはコントローラに持たせてください。

レコードが伝わらないときは、まず API を疑いから外す

DNS のエンドポイントは、アプリが Account セクションからヘルスチェックする 16 個の Civo REST エンドポイントの一つです。それぞれを 10 秒のタイムアウトで順に呼び、HTTP のステータスコードと往復時間をミリ秒で返します。200 ms 未満は緑、500 ms 未満は黄、それ以上は赤です。ヘッダは実行結果を All Systems Operational か、利用できないエンドポイントの数としてまとめます。小さな機能ですが、特定の種類の無駄な 1 時間を節約します。書いたばかりのレコードが出てこないとき、キャッシュを流してリゾルバを疑い始める前に、Civo が書き込みを受け付けたのかどうかが見えます。

認証情報の置き場所

これらすべてを動かすのは一つの Civo API キーで、macOS Keychain に保管され、アプリがそれを表示する前に Touch ID を求めます。Mac と Civo の間に発行元のサーバはなく、テレメトリもありません。アプリはエンタイトルメント 4 つでサンドボックス化され、Apple シリコンでも Intel でも macOS 15 以降が必要です。ソースコードは github.com/marcelrgberger/civo-cloud-manager にあるので、説明を信じるよりリクエストのコードを自分で読みたいなら、そちらをどうぞ。

Civo のレコードを変える 3 つの方法

競合というより、役目が違います。正直に分ければ、一つは自動化のためのもので、二つは人のためのものです。

できること Civo ダッシュボード(ブラウザ)external-dnsCivoCloudManager
レコードを手で 1 件編集する 対応そのための道具ではない対応、値が入った状態のエディタで
Kubernetes の Service と Ingress からレコードを自動生成する 非対応対応、これがその目的非対応、今後も予定なし
動いている Kubernetes クラスタが要る 不要必要不要
インスタンスの逆引き DNS 対応非対応対応、インスタンスの画面でその場で
API キーの置き場所 ブラウザのセッションクラスタ内の Kubernetes SecretmacOS Keychain、表示に 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 日間はフルアクセス、そのあともメニューバーのファイアウォールは無料のまま残ります。