最近、あるサイト運営者がGoogle Cloud Platform(略称GCP)傘下のCloud DNSサービスを利用しているのを見て、なぜわざわざDNSを自前で構築・管理するのか非常に興味を持ちました。快感以外に、自前構築の長所が短所を上回るとは限らないからです。
DNSが提供するサービスはいわゆるネームサーバー(Domain name server)で、ドメイン名とネットワークアドレスの対応関係を解決する役割を担い、商用サービスを提供するネットワーク事業者(例:GoDaddy、NameCheap)が内蔵管理するほか、自分でDNSドメインサービスサーバーを構築することもできます。
一般に、大企業や学術機関が基盤ネットワークインフラを構築する際にのみDNSドメイン解決サービスサーバーを自前で構築する必要があります。運用コストは高まります。例えばDNSへのDDoS攻撃は特別に対処してネットワークのクラッシュを避けなければならず、サイト障害で404エラーが発生し検索エンジンから降格されることもあります。しかし自前構築は管理が比較的便利で、需要(例えば数百万規模のサイト)に応じて最高のスペック性能、安定性、安全性を追求できます。
しかし一般のサイト運営者にDNSネームサーバーを自前で構築する必要があるのでしょうか?
その答えは否です。
以前DNSを構築するには少なくとも2台のコンピュータホストが必要で、各ホストにはそれぞれ独立したネットワークアドレス(略称アドレス、Internet protocol address、略称IP address)が必要でした。しかもその機能はドメイン名(略称ドメイン)の解決のみに使われ、Webサーバーやデータベースの構築管理には使えず、ましてやハッカーにハイジャックされて企業事業全体のネットワークサービスを乗っ取られる心配までありました。ここまで聞くと少し理不尽に感じませんか?しかし自前DNSは大規模ネットワークシステムにとっては依然として必要性が存在します。
そこで後にCloud DNSが登場しました。必要なハードウェアとネットワーク環境をすべてクラウドに移し、私たちはCloud DNSサービスで設定するだけでよく、コストを大幅に削減でき、拡張の柔軟性も備え、世界水準のセキュリティ規範にも適合します。入門はずっと簡単になりましたが、問題は同じく存在します。なぜ自分でDNSをやるのか?
多くの人が使うGoDaddy内蔵DNSサーバーを見ると、連続正常稼働時間(Uptime)[1]は99.98%に達しますが、それは0.02%の時間は正常稼働していないことも意味します。NameCheapに至っては99.9%しかなく、60秒ごとに0.6秒のエラーが発生する計算になります。
リバースプロキシのコンテンツデリバリネットワーク(Content Delivery Network、略称CDN)で世界的に有名なCloudflareでさえ、彼らのDNSの正常稼働時間は99.99%(非常に高いほうです)に達するだけです。
一見超微小なエラー率ですが、ひとたび世界規模になると、1万人あるいは数十万人がオンラインになる大規模サイトにとっては、そのエラー率はさらに拡大します。したがって大企業にとって必要なのは100%安定した環境です。
内部で大金を投じてハードウェア資源と人材を確保するほか、高いSLAを持つと謳うGCP Cloud DNS(あるいはAmazonのAWS Route 53などの高階ネームサーバーサービス)が、多くのネットワークエンジニアやスタートアップチームがネットワーク開発時に選ぶ第一候補となっています。
「サービスレベル契約」(Service Level Agreement、SLA)は、サービス提供者と顧客の間で定義できる正式な約束です。サービス提供者と被サービスユーザーの間で具体的に合意されたサービス指標——品質、可用性、責任は、ユーザーが迅速にサプライヤーを評価・選定するための標準的な手法です。
計算方法:サービスレベル = uptime(時間)/ 一定期間(月/年)* 100%。
ただしサイト運営者の中にはGoogleやAmazonが100%のSLAを提供できると誤解する人もいますが、これは誤解で、正確には100%のSLAに達していなければ賠償を申請できるという意味です。強力なGoogle Cloud Platformの連続正常稼働時間(uptimes)でさえ、実は99.91%に達するだけです。
以上からわかるように、DNSネームサーバーを自前で構築できないとしても、少なくとも価格が安く柔軟性と安全性を備えたCloudDNSを選べます。しかし筆者が先にDNSネームサーバーを自前で構築する必要もなく、Cloud DNSを使う必要もないと言ったのはなぜでしょうか?
一般のサイト運営者にとってはまったく使う必要がないからです。
よくある論点は、DNSサービス事業者が攻撃されたりハードウェアが故障したりすると、サイト業務に深刻な影響を与えるというものです。まあ、そのような大規模事業者でさえ守れないのなら、なぜ自前構築なら安全だと思えるのでしょうか?
最高の品質、規模の柔軟性、安全性を追求するためにCloud DNSを使うとしても、実際にはGoogle Cloud DNSであれAmazonのAWS Route 53であれ、彼らも同じくより大規模な(しかも老舗専門業者に劣ることもある)サービス提供者にすぎず、攻撃でクラッシュしたりバグ障害が発生したりします。
したがって最も簡単な方法は、ドメイン登録サービス提供者(例:GoDaddy、NameCheap)を見つけ、彼らのデフォルトDNSネームサーバーを利用してドメインアドレス解決サービスを行えばよいのです。0.01%のホストオフライン状態は人品を試すものだと思うことにしましょう。
参考文献
- DNS Performance Analytics and Comparison.
- Cloud …
独自の視点と客観的な報道を、あなたの温かい支援で
表面的なトレンドやアルゴリズムに流されず、事実と深い洞察に基づいた独立した記事をお届けし続けるために。
質の高いオリジナル記事と独立した運営を続けるため、1回のみ、または毎月のご支援をGoogleの安全な決済でお願いいたします。
お支払いはGoogleにより安全に処理されます · いつでも管理・解約できます



コメント