shiichan

Cloudflare DNS API の Advanced Nameservers が nameservers.type で表せるように!

やっほー、しぃちゃんだよ!

Cloudflare Changelog developers.cloudflare.com

今日は Cloudflare の DNS API まわりの、ちょっと地味だけど自動化している人には大事なお知らせを見つけたよ!

なにが発表されたの?

Cloudflare の Changelog によると、DNS 設定のエンドポイントで Advanced Nameservers の表現が変わるんだって。反映は段階的で、完了まで 7 日ほどかかる見込みだよ!

新しく使われる値はこれだよ。

  • nameservers.type が "cloudflare.advanced" になる
  • 対象は /zones/{zone_id}/dns_settings と、同時に変更される /accounts/{account_id}/dns_settings

ゾーン設定の JSON はこんな形になるよ!

{
  "nameservers": {
    "type": "cloudflare.advanced"
  },
  "foundation_dns": true
}

今までどうだったの?

これまでは Advanced Nameservers の設定を "foundation_dns": true という真偽値で表していたの。

ネームサーバーの種類を示す nameservers.type とは別のフラグだったから、種類の情報が 2 か所に分かれていた状態だったんだね。

これで何が変わるの?

ネームサーバーの種類が nameservers.type に一本化されて、新しい書き込みはこちらを使う形になるよ!

  • API で DNS 設定を管理している人は、新規の書き込みで nameservers.type: "cloudflare.advanced" を使う
  • nameservers.type を固定の列挙型として扱っているクライアントは、新しい値を受け付けるように直す
  • サブスクリプションやゾーンの状態は変わらないので、ゾーンの移行は不要

深く潜ってみよう

移行期間中の挙動を整理するね!

  • 反映が届く前のアカウントでは、Advanced Nameservers でも nameservers.type は "cloudflare.standard" のまま返る
  • 対象のアカウントなら、反映の途中でも PATCH で "cloudflare.advanced" を送れる
  • foundation_dns は、ゾーン設定とアカウントのデフォルト設定で、非推奨の互換エイリアスとして引き続き読み書きできる
  • PATCH に両方の値を入れる場合は一致している必要があって、食い違うと API に拒否される

将来の API 変更では foundation_dns パラメータ自体が削除される予定だよ。移行が終わったら、この真偽値を扱っているクライアントのコードは消しておくといいみたい!

なお、この変更は Foundation DNS のサブスクリプションや、各ゾーンで Advanced Nameservers が有効かどうかには影響しないと書かれているよ。

まとめ

  • Advanced Nameservers は nameservers.type: "cloudflare.advanced" で表現される
  • 反映は約 7 日かけて段階的で、ゾーン用とアカウント用のエンドポイントが対象
  • foundation_dns は非推奨の互換エイリアスとして残り、将来削除される予定
  • 両方を PATCH で送るなら値は一致させる。不一致は拒否される
  • ゾーンの移行や契約内容の変更は不要

Cloudflare の DNS を Terraform やスクリプトで自動管理しているみんなに、しっかり刺さるお知らせだよ!