雑記:Cloudflareを使い始めた

投稿者: | 2020年8月26日

きっかけはcertbotのサブドメインのワイルドカード認証を行うのに
DNSにTXTレコードを登録するためであった。

このドメイン(nekolove.jp)の登録・管理はvalue-domainになるんですが
ドメイン設定を変更してから反映されるまでがやたらと遅くて
DNS認証用の鍵登録やら新しいレコード入れるのがストレスでしか無く
※Cartbotのスクリプトが開いたまま待たないといけない
余所に移管しようかなと思ってCloudflareを選んでみた。
反映されるまで30分から1時間ぐらいかかるんですよね。
DNSってそういうモノかなと個人的に思っていたんですが・・・。

結論を先に書くと、ドメイン自体の契約はVALUE-DOMAINのままとして
ネームサーバを指定されたCloudflareに振るだけで良かった。
めんどくさそうと思ったドメインの移管はいらなかった。

※value-domainってTTLの設定と無関係にそもそもDNSの反映が遅いのでなんでやと思ってたらこういうことらしい

VALUE-DOMAIN(バリュードメイン)のDNS設定反映時間
https://qiita.com/CLCL/items/a142f96e01462e767e47

なるほどね、完全に理解したわ・・・使うのやめよ・・・となったわけです。

以下は乗り換え検討したときに考えたあれこれ

乗り換え先の条件は以下2点で
1)DNS設定の反映が早いこと
2)APIが使えてcertbotのプラグインで対応可能なこと

上記をふまえて公式ドキュメントのリストを眺めていたところCloudflareが目にとまったのでした。

DNS Plugins
https://certbot.eff.org/docs/using.html#dns-plugins

※どこも有名どころだけど、何故か印象に残ってたのがCloudflareだった。

Welcome to certbot-dns-cloudflare’s documentation!
https://certbot-dns-cloudflare.readthedocs.io/en/stable/

Cloudflareはスタートアップが超絶簡単で
アカウント登録してドメイン指定すると
NSを切り替えるように指示され
value-domainの管理パネルからNSをCloudflareのものに変更してしばらく待つと
DNSのレコードがある程度読み込まれた状態で稼働開始となる。
※ただしメールアドレスの”認証後”に有効となるので、下手するとそれまで名前解決に失敗する
何これちょう簡単・・・しかもお金がかからない・・・CDNっぽいサービスまでついてくるおまけ付き
あれやこれやのWebサイトがCloudflareのCDNをよく使っているのは見かけてたけど
正直ふーんとしか思ってなかったわけけど、これは流行るわ・・・
いくつか特有の問題はあるものの、うちみたいなところが適当にやる程度なら問題は無さそうなので
しばらく運用してみることにした。

で、Cloudflareでの運用をスタートして気づいた点を箇条書き

・DNSにレコード入れるとデフォルトでproxyed(CDNサービス)がつくが、原則としてhttp or httpsのみと考えてよさそう。
 つまりftpやssh、mailなどのプロトコルは使えなくなるのである
 これをうっかり忘れるとメールが届かないしサーバーにSSH出来ないという問題が発生する
 ※我の場合、某死活監視から大量に到達不可のメールが届いた
 このサービスを使うならドメインもっているはずなのでサブドメインで別名入れておくのが回避方法となる

・CDNを経由したアクセスの場合、サーバーから見たソースIPはCDNのアドレスになるが、これがマズい
 まずログにソースIPが出なくなるので、アクセス元が全部CDNのアドレスになる
 アクセス元がCDNになる関係でAdSenseに影響が出るとか出ないとか
 仕組みを完全に理解しているわけではないが、proxyの影響を受けるのだと思う

<参考用>
Restoring original visitor IPs: Logging visitor IP addresses with mod_cloudflare
https://support.cloudflare.com/hc/en-us/articles/200170786
※ubuntuのnginxはモジュール込みでbuildされてた。

# nginx -V
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.1 11 Sep 2018
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-GkiujU/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/build/nginx-GkiujU/nginx-1.14.0/debian/modules/http-auth-pam --add-dynamic-module=/build/nginx-GkiujU/nginx-1.14.0/debian/modules/http-dav-ext --add-dynamic-module=/build/nginx-GkiujU/nginx-1.14.0/debian/modules/http-echo --add-dynamic-module=/build/nginx-GkiujU/nginx-1.14.0/debian/modules/http-upstream-fair --add-dynamic-module=/build/nginx-GkiujU/nginx-1.14.0/debian/modules/http-subs-filter

IP Ranges
https://www.cloudflare.com/ips/
※最新のアドレスレンジはここ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください