Open6

Route53からCloudflareに移行する(後に元に戻す)

catatsuycatatsuy

HTTPSレコードに対応していないRoute53を卒業してCloudflareに移行する。

https://zenn.dev/a24k/articles/20220527-cloudflare-dns

この記事を見ながらやれば結構簡単だった。ただ.coドメインに関してはCloudflareが非対応だったのでドメインのtransferはできなさそう。.orgドメインはtransferまで完了した。

CLIは公式のGo製CLIのflarectlがあって便利。

https://github.com/cloudflare/cloudflare-go/tree/master/cmd/flarectl

ただflarectl dns updateはidを指定する必要があり、flarectl dns createは存在していたらエラーになる。そしてflarectl dns updateでcontentを空にすることはできない。

flarectl dns create-or-updateは--nameにフルのドメインを指定できない(flarectl dns createなら指定できる)。ただこれについてには想定外な気がしているのでPRを送ってみた。

https://github.com/cloudflare/cloudflare-go/pull/1254

無理矢理やるならjq芸で

flarectl -json dns list --zone "${ZONE}" | jq --raw-output ".[] | select (.Name | startswith(\"_acme-challenge.${DOMAIN}\")).ID"

みたいな感じでIDを取得して指定すれば良い。面倒。

catatsuycatatsuy

感想としては

  • Cloudflareはサービス全体でインターネットを良くしたいと思っているように見える
    • 色んなサービスがあるので、DNSだけ使いたいみたいなのはちょっとやりにくい気がする
    • 色々な機能が入るし安いので、個人で使うならCloudflareが一番良さそう
    • Go製のCLIが公式であるのがよい
  • AWSはそれぞれのサービスが完全に独立しており、方針はそれぞれのチームで決めているように見える
    • だからCloudFrontはHTTP/3に対応しているのに、Route53はHTTPSレコードに対応していないというちぐはぐな対応が起こる
    • 各サービスが割と独立しているので、Route53だけ使うとかもやりやすいし、DNSだけ使うならRoute53の方が簡単そう
    • CLIが使いにくいし、Goも使っていないが、3rd partyの使いやすいGo製のツールが乱立しているので、結局Route53の方が使いやすいまでありそう

なので個人的には

  • 個人で色んな機能を試してみたいならCloudflare
  • とりあえずDNSが使えればよいだけならRoute53

がおすすめ。

catatsuycatatsuy

Cloudflare DNSはすべての設定が表示されていない。セキュリティの問題もあり、最悪。

https://zenn.dev/catatsuy/articles/648982dc345c26

ただ設定のExportは可能。テキストファイルをダウンロードできるので、そこからすべての設定を確認することができる模様。

ちなみにflarectlはメンテナンスモードを理由にしてmergeしてもらえなかった。つらい。

catatsuycatatsuy

Cloudflare DNSはどこかの段階でNS側がTTLの間、キャッシュするようになった。DNSを更新しても、そもそも大本のネームサーバーのレスポンスが書き換わらない。

これによってLet's Encryptの証明書更新処理はTTL以上のsleepを入れないと動かなくなった。地味につらい。しかもサイレントでこの変更が入った気がしている。

catatsuycatatsuy

Route53にもHTTPSレコードが来たので、現状大きな機能差はない。

https://aws.amazon.com/jp/blogs/networking-and-content-delivery/improving-security-and-performance-with-additional-dns-resource-record-types-in-amazon-route-53/

Cloudflare DNSは自動で色々やってくれる代わりに、今何が設定されているのかよく分からない。DKIMのレコードを勝手に分割したり、Proxyを有効にすると勝手にCloudflare経由にされたりする。NSは変更不可。

Route53は不親切で適切な設定をしないとそもそも保存ができないが、その代わり設定した通りの動きをする。変な動きはしない。NSも変更可能。

機能差がなくなった今、癖が強いCloudflare DNSは値段が安い以上のメリットを見いだせていない。現在Route53への移行を開始した。

そもそも自分の個人ドメインの1つはCloudflare DNSに移行失敗していて、NSだけ利用していた。理由は不明だが、推測に推測を重ねると、そのドメインは4文字ドメインのため、プレミアが付いており、Cloudflareの値段設定だと赤字になるから移行が拒否されているように見える。つらい。

catatsuycatatsuy

現在の感想

  • Cloudflare DNSのメリットは安さとCloudflareのサービスとの統合
    • サービスの統合についてはDNSだけ利用するなら、むしろ事故になる
    • flarectlは使いにくいし、改善する気もなさそう
  • Route53のメリットはDNSとして明確で使いやすいこと
    • 欠点は料金が高いこと
    • CLIは公式は使いにくいが、3rd partyで使いやすいツールがある

個人的にはCloudflareが好きならCloudflare、とにかく安いのがいいならCloudflare、それ以外の人はRoute53、という感じ。セキュリティの問題があるので個人的にはRoute53をおすすめする。