何年も前からやろうと思っていたことをようやく実行しました。
きっかけは、Google Domainsが無くなることでした。
Google Domainsの移管先であるSquarespaceでは、ドメイン更新の費用が約2倍になってしまいます。
また、Google Domainsではドメインの管理だけではなく、メール転送機能やワイルドカードSSL証明書発行の機能を利用しているので、その代わりを探さないといけなくなりました。
調べてみたところ、Cloudflareなら解決できそうでした。
そこで、Cloudflareはドメインを移管しなくても機能を使えるので試してみました。
Google Domainsがなくなって困ること
Google Domainsがなくなることで困ってしまうことは以下の3点です。
- ドメインの維持料金が高くなること
- メール転送機能が使えなくなること
- ワイルドカードSSL証明書の更新が自動でできなくなるかもしれないこと
この3点をカバーできそうなのがCloudflareでした。
実現できそうか、実際にCloudflareで試してみました。
ドメインの維持料金が高くなること
Cloudflareは卸の料金で実施しているとのことで格安です。
現在の.netドメインの料金は$11.84のため、150円換算で1,776円となります。
Google Domainsでは1,400円なので、Cloudflareでは少し高くなります。
それでも$11.84は安いので、移行先としては申し分ありません。
しかし、Google Domainsが一番安いので、Google Domainsで最大となる9年分を更新しました。
更新した年数は移管先にも適用されるので、1年後にCloudflareに移管しようと思います。
現在は、ドメインはGoogle Domainsのまま管理して、DNS(ネームサーバー)のみCloudflareを使っています。
円が118円まで上がれば安くはなりますが・・・
わからないので納得のできる1,400円で更新しました
メール転送機能が使えなくなること
Cloudflareにも「Email Routing」というメール転送機能があります。
Google Domains同様に100個のメールまで転送することができます。
Catch Allの機能もあるため、存在しないエイリアスのメールを取得することもできます。
こちらの機能を使ってみたところ、Google Domains同様に使うことができました。
ただし、1点だけ注意するところがありました。
- Cloudfalreでは「+」が入るメールアドレスは使えない
この点には注意が必要なので、Google Domainsで「+」が入るものを使っていた場合は変更が必要です。
Catch Allで拾うことはできますが、メール転送先が複数の場合は大元の変更が必要です。
例えば次のような場合です。
[email protected]を[email protected]へ転送
[email protected]を[email protected]へ転送
このような場合は、Catch Allでは一つのメールアドレスへの転送となってしまいますので要件を満たしません。[email protected]を使っているところは[email protected]などに変更する必要があります。
もともと無料版Google Workspaceを使っていたため「+」アドレスを使っていました。
そのため、Google Domainsでも「+」アドレスのままメール転送をしていましたが、Cloudflareに移行する前には変更の必要がありました。
ワイルドカードSSL証明書の更新が自動でできなくなるかもしれないこと
これは、Google Domainsよりも簡単になります。
最初に設定をしてしまえば、Cloudflare側で実施してくるため更新の必要がなくなります。
よりセキュアにする場合は15年に1度の更新が必要です!
Cloudflareを利用するには2つの証明書(ブラウザとCloudflare間、Cloudflareとオリジンサーバー間)が必要になります。
証明書を持ち込むこともできますが、Cloudflareで用意してくれる証明書を使えば無料です。
今回はCloudflareで準備してくれる証明書を利用します。
ブラウザとCloudflare間はCloudflareが自動更新をしてくれますので特別な設定は不要です。
発行される証明書もGoogleが発行するものとなるので、Google Domainsの時と同じ証明書となります。
Cloudflareとオリジンサーバーの間は3種類の設定が選べます。
- フレキシブル:平文でのやりとりとなるがサーバ側での設定不要
- フル:15年有効の自己証明書を使って暗号化
- フル(厳密):15年有効の自己証明書と信頼できるCA証明書で暗号化
フレキシブルの場合、.htaccessや設定ファイルでhttpをhttpsへ転送していた場合はループするので転送部分を削除する必要があります。
nginxを使っていてフルの設定の場合、自己証明書だけでCA証明書がないと以下のようなエラーがログに出ます。
そのため、CA証明書を用意してフル(厳密)にした方が良いです。
nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/xxx/origin.pem"
というわけで、選択肢はあるもののフル(厳密)が一番良い設定となります。
自己証明書もCloudflareで作れますし、CA証明書も用意されていますので大変ではありません。
Cloudflareの自己証明書は、左メニューの「オリジンサーバー」から作ります。
ECCとRSAが選べますが、Cloudflareとオリジンサーバー間なので、特別なこだわりがなければ、軽量なECCで作るのがおすすめです。
期間もいろいろと選べますが15年で良いと思います。
CA証明書はこちらから取得できます。
こちらもECCとRSAで違いますので、作成した自己証明書に合わせてダウンロードします。
証明書が計3つ手に入りましたのでnginxやapacheの設定を変更します。
/etc/certs/に3つのファイルを配置したとします。(もちろん好きな場所で良いです。)
nginx.confやhttpd.confなどに記載してあるSSL証明書の設定箇所を以下のように変更します。
ssl_trusted_certificate /etc/certs/origin_ca_ecc_root.pem;
ssl_certificate /etc/certs/origin.pem;
ssl_certificate_key /etc/certs/private_key.pem;
SSLCertificateFile /etc/certs/origin.pem
SSLCertificateKeyFile /etc/certs/private_key.pem
Cloudflareでの便利な機能
懸念していたことはCloudflareで問題なく解決できました。
他にもCloudflareには無料プランでも十分過ぎる機能が備わっていました。
- キャッシュ機能
- WAF機能
- DMARC管理機能
キャッシュ機能
この機能のためにCloudflare傘下に入るのが目的の方が多いと思います。
キャッシュルールも細かく設定できますし、オリジンサーバの負荷も下がりました。
実際のキャッシュ状況はPro以上にアップグレードしないと見られないものの、無料版でも十分すぎるほど便利です。
WAF機能
簡易なWAF機能が備わっています。
細かく設定するにはPro以上にアップグレードをしないといけませんが、基本的なブロック機能はあるので良いです。
ただし、抜けてくるものもあるのでサーバ側で制御するのも必要です。
さくらのVPS
DMARC管理機能
DMARCの管理機能がbeta機能ではありますが備わっています。
DMARCの可視化は自分のサーバや他のサービスを使う必要がありますが、Cloudflareで管理できるのはとても便利です。
今までは、個人なら無料で使えるPowerDMARCを使っていましたが、Cloudflareへと変更しました。
まとめ
いろいろと便利な機能が備わっているので、Cloudflareを利用するのは良さそうです。
Cloudflareが落ちたら終わりですが、その時はその時です。
今まで手作業や複雑な設定が必要だった機能が無料で簡単に使えるのはとても魅力的です。
あとは、時期をみてドメインを移管したら完了です。
Cloudflareには、想定していた以上の便利な機能が備わっていました。