DNS(ドメインネームシステムの略)はウェブ上にあるすべてのページのアドレスです。ドメイン名を入力すると、DNSがブラウザに打ち込まれた言葉を、ウェブサーバーが理解できるアドレスへと変換します。

今回の記事では、DNSの重要性、変更方法、DNS伝播(浸透)に影響を与える方法、DNSファイルの安全性を確保する方法、プレミアムDNSサービスに移行することでWordPressサイトをまったく新しいレベルに引き上げることができる理由をご紹介します。

それでは参りましょう!

DNSとは?

ブラウザにkinsta.comと入力したとしても、Kinstaサイトのトップページが保存されているサーバーはその言葉を理解できません。

DNSは、ブラウザに入力されたドメイン名をIP(インターネット・プロトコル)アドレスに変換します。Kinstaを例にとると、DNSは「kinsta.com」を「216.3.128.12」に変換します。Kinstaトップページがサーバー上で実際に位置する場所がIPアドレスです。

すべてのウェブページがこのように機能します。

DNSとIPアドレスは、言わば「Webの電話帳」
DNSとIPアドレスは、言わば「Webの電話帳」

ウェブサイトのIPアドレスを覚えておくことは事実上不可能であるため、DNSがすべての大変な作業を担ってくれています。そしてもちろん、これにより、Webを人間が使いこなすのがはるかに簡単になりました。そんな理由で、DNSは「インターネットの電話帳」と呼ばれることがあります。

DNSの種類

知っておくべき主なDNSレコードにはいくつかの種類があります。以下をご覧下さい。

Aレコード

このレコードはIPv4ウェブアドレスとドメイン(またはサブドメイン)を紐付けるものであるため、サイト管理者であれば、ウェブサイトのDNS Aレコードの編集にある程度の時間を費やすことになります。サイトのウェブサーバーでIPv4ではなくIPv6が採用されている場合は、代わりにDNS AAAAレコードを編集します。IPv6とIPv4が何かわからない場合は、次の項目をご覧ください。

CNAMEレコード

サブドメインを使用している場合は、CNAMEレコードを使って、そのサブドメインをプライマリドメインに関連付けます。

MXレコード

ウェブサイトとメールサービスを接続するのが、MXレコードの役割です。レコードを使用して、Gmailなどの特定のメールサービスを割り当てることができます。

TXTレコード

スパムは相変わらずWeb上の大きな問題です。TXTレコードを使用して、無防備なドメインに狙いを定めるスパムと戦うことができます。スパムとして扱われないためのメール認証についてはこちらをご覧ください。

大事な用語—IPとDNS

ウェブサイトのIPアドレスを一度も見たことがない場合には、MyKinstaダッシュボードからウェブサイトのIPアドレスを確認できます。

ウェブサイトのIPアドレスを表示するには、ダッシュボードの左側にある「サイト」をクリックし「情報」タブを選択します。すると、ウェブ上でウェブサイトを識別するための基本情報が表示されます。

ちなみに、まだの場合は、Kinstaを使って、既にお持ちのドメインを接続する方法もご覧下さい。

WordPressサイトのIPアドレス(MyKinstaでの表示)
WordPressサイトのIPアドレス(MyKinstaでの表示)

IPアドレスは電話番号に似ています。いつかは番号が足りなくなり、それを扱うシステムを変更する必要があります。IPアドレスも同じです。IPv6の導入により、さらに多くのWebサイトにIPアドレスを割り当てることが可能になりました。Webの拡大に伴い、IPv4にあるIPアドレスでは間に合わなくなったということです!

こんな話を聞いたことはあるでしょうか。固定IPアドレスと共有IPアドレスが存在します。専用IPアドレスは、固定電話や携帯電話番号のようなものです。あなた、つまり、あなたのサイトに固有のものが与えられます。

共有IPアドレスは、その名が示すように、複数のサイトで共有されます。共有IPアドレスは、WordPressを使用するサイトで一般的です。ちなみに、共有IPアドレスであっても「ウェブサイトが他のリソースも共有しているわけではない」ので、勘違いしないようにご注意ください。Kinstaでは、LXDマネージドホストとLXCソフトウェアコンテナを採用しています。

ここまでで、サイトのIPアドレスが何であるか、そして、これがDNSとどのように関係しているかをご理解いただけたはずです。次に考えるべきは、ウェブサイトのネームサーバーです。

ネームサーバーは、ウェブサイトのドメイン名とIPアドレス(ウェブサイトのウェブサーバー上での場所)の間で橋渡しの役割を果たす、不可欠な存在です。権威DNSサーバーと呼ばれることもあります。

特定のウェブサイトのドメインにアクセスするために、サイト訪問者の使用するブラウザは、DNSを使用してドメインのネームサーバーを探します。この際には、Aレコードという情報欄が参照されます。

Aレコードから、ウェブサーバーのIPアドレスが確認できます。ちなみに、ウェブサーバーがIPv4ではなくIPv6を使用している場合は、Aレコードの代わりにDNS AAAAレコードが参照されるのでご注意ください。

ネームサーバーは通常、ドメイン購入時にドメインレジストラ(登録事業者)の使用するものに設定されます。一般的には、このネームサーバーをご利用のレンタルサーバーにあわせて変更することが推奨されます。この変更を行うには、サイトのDNSファイルを編集します。

ネームサーバーは、ウェブ全体の交通整理をする警察のようなものであり、サイト訪問者のブラウザに対して適切なドメインが行き届くようにしています。

ネームサーバーをレンタルサーバーが使用するものに変更すると、DNSに対するその後の変更は全て、元のドメインレジストラのそれではなく、レンタルサーバーのネームサーバーに反映されますのでご注意下さい。ウェブサイトで使用しているネームサーバーがわからない場合は、Whois確認ツールで確認できます。

Whois情報から使用しているネームサーバーを確認する
Whois情報から使用しているネームサーバーを確認する

DNSルックアップとは?

サイトを検索するときのことを考えてみてください。エンターキーを押してからブラウザにウェブサイトが表示されるまでにかかる時間は、DNSルックアップと大きく関係しています。ご存知のとおり、ウェブサイトが素早く表示されるに超したことはありません

誰かがウェブサイトのドメイン名をブラウザに入力すると、そのサイトの「場所探し」が始まります。ウェブサイトに紐付けられたDNSファイルには、ネームサーバーやIPアドレスなどの情報が含まれています。

DNSは、ドメインが検索されるたびに適切なウェブページが配信されるように重要な役割を果たしている(画像参照元:
DNSは、ドメインが検索されるたびに適切なウェブページが配信されるように重要な役割を果たしている(画像参照元: Jolt Wiki)

Pingdomなどのサイト速度テストツールを使用して、DNSルックアップの動作を確認し、この作業の速度がウェブサイトのパフォーマンスにどのように影響するかを確認できます。

ウェブサイトのパフォーマンスに影響を与えるあらゆる要素と同じように、DNSルックアップの速度も管理できたら素敵ですよね。実際、DNSルックアップにかかる時間を削減するには、いくつかの方法があります。

DNSの伝播(浸透)とは?

必要な基礎知識を獲得したところで、今度は「DNSの伝播」とは何か、そして、これがパフォーマンスにどのように影響を与えるのか見ていきましょう。

ウェブサイトのDNSに変更を加えても(例えば、サイトを別のレンタルサーバーに移行する時など)その内容は、すぐには反映されません。更新(いわゆる伝播または浸透)が完了するまでにある程度の時間がかかることがあります。つまり「DNS浸透にかかる時間」です。

サイトの構築やホスティングの方法が千差万別であるため、DNS伝播が完了するまでの決まった時間はありません。その好例は、TTL(Time To Live)です。TTLは、ウェブサイトのパフォーマンスに根本的な影響を及ぼします。そしてDNSレコードに関連付けられたTTL値は、DNS伝播速度を左右します。

DNSの伝播(浸透)には実際どのくらい時間がかかるのか

デフォルトでは、DNSレコードの大半のTTLは、1〜4時間といったところです。たとえば、Kinstaでドメインの接続を行うと自分でTTLを設定することができます。

Kinstaでは、ウェブサイトのTTLを1時間に設定(デフォルト値)することをお勧めしています。これにより、ウェブサイトの読み込みが可能な限り高速になります。

TTLを短くすることで、ウェブサイトの読み込み時間を短縮
TTLを短くすることで、ウェブサイトの読み込み時間を短縮

ネームサーバーもTTLの値に影響を与えることがあり、ひいてはサイトの読み込み時間を左右する可能性があります。KinstaはDNS伝播速度に影響を及ぼしません。

ただし、ドメインをKinstaに移行する時には、実際に移行を開始する前にTTLを低くすることで、可能な限り迅速な伝播の完了を後押しできます。

DNS伝播が完了したかどうか確認する方法

インターネットは、言わば、膨大な数のサーバーで構成されるネットワークです。ウェブサイトのDNSレコードは、たくさんのサーバーにキャッシュされる可能性があります。伝播は、そのようなキャッシュされたDNSファイルがすべて更新されたときにはじめて完了します。

だからこそ、場合によっては、DNSの伝播に数時間〜数日かかることがあるのです。時間に敏感でウェブサイトのパフォーマンスに影響を与え得るDNSファイルの変更を加える場合は、この点に注意してください。

DNSの伝播が完了したかどうか確認するには、 whatsmydns.netというツールが利用できます。

Kinstaでドメインの接続を行う

レンタルサーバー変更(サイトの引っ越し)時にウェブサイトのDNSファイルが活躍します。たとえば、Kinstaに乗り換える際の設定方法は複数あります。

まずは、DNSのAレコードを使用する方法です。

二つ目は、ネームサーバーを使用する方法です。こちらの高性能DNSについては以下をご覧下さい。

二つ目の方法を使用すると、DNSをより細かく制御できます。Kinstaは、グローバルエニーキャストネットワークであるAmazon Route 53を採用することで、お客様のウェブサイトの稼働時間を最大にしながら、待機時間を短縮し、世界トップクラスの速度とパフォーマンスを実現しています。ちなみに、Amazon Route 53を用いた高性能DNSは、Kinstaの全ホスティングプランに標準(無料)で組み込まれています。

MyKinstaダッシュボードからドメインを追加
MyKinstaダッシュボードからドメインを追加

トラブルシューティング—DNSキャッシュをクリアする方法

ウェブサイトのDNSファイルに変更を加え、DNSの伝播が完了したことを確認したものの…実際にサイトを見ると、変更が反映されていない。

そんな時には、DNSキャッシュの問題を疑うべきです。

ブラウザは閲覧したサイトのデータを記憶します。前に訪れたことのあるページを開き、読み込みが少し速くなっている…と感じたことはありますか?これは、ブラウザがサイトの場所を記憶(キャッシュ)しているためです。これにより、ブラウザはサイトのホストされているサーバーの場所を探す必要がなくなります。

キャッシュによって、ウェブサイトのIPアドレス、ホスト名、およびDNS AまたはAAAAレコードが一時的に保存されます。

ウェブサイトのDNSキャッシュは、サイトに関する情報を保存する時と同じように機能します。ウェブサイトに問題がある場合には、DNSキャッシュが破損しているか、DNSキャッシュに含まれるデータが正しく更新されていない可能性があります。

DNSキャッシュのクリアとはつまり、このデータを空にすることです。これにより、ウェブサイト管理に際して発生する問題の多くを解決できます。DNSキャッシュをクリアする方法は、オペレーティングシステム(OS)ごとに異なります。使用しているOSごとに、以下の手順に従ってください。

特にウェブサイトのレンタルサーバー変更時には、サイトのDNSキャッシュを一度クリアすることをお勧めします。たとえば、DNS Aレコードに変更を加える場合、キャッシュをクリアすることで、変更反映後のサイトを確認し、移行完了後の正しい表示が確保できます。

DNSのセキュリティ

WordPressサイトはあらゆる策を講じてセキュアにしたいものです。サイト訪問者は、安全に使用できるという安心感を求めています。DNSのセキュリティについて言えば、DDoS(分散型サービス拒否)攻撃には、細心の注意を払う必要があります。

大規模なDNS攻撃が2016年10月21日に発生し、TwitterやeBayなど世界最大規模のサイトがいくつもダウンしました。これを一種の世界の終末になぞらえる人も出たほどです。このDDoS攻撃は、大手オンラインサイトのネームサーバーを標的にしました。ここまでで学習したように、ネームサーバーが機能しないと、DNSはユーザーのブラウザから要求されているウェブサイトのIPアドレスを見つけることができません。

WordPressサイトへのDDoS攻撃を回避する(または少なくとも軽減する)ために、できることはいくつもあります。まずはセキュリティ強化策の整ったWordPress向けレンタルサーバーを使用することから。

Kinstaでは、お客様のウェブサイトのセキュリティを重要視しています。サイトの安全性を引き上げる数ある方策の1つが、2要素認証(2FA)です。

オンラインバンキングを既にお使いであれば馴染み深い言葉かもしれません。銀行口座にアクセスするには、自分が本人であることを証明する2つ以上の情報を入力する必要があります。Kinstaは、同様のシステムを使用して、全てのお客様のサイトの守りを固めています。

2FAは、WordPressサイトを保護するための大事な装備の一つです。WordPressは世界的に非常に人気の高いCMSであるため、ハッカーは日夜、WordPressに狙いを定めた攻撃に精を出しています。

攻撃に対する第一の防御は、サイトを保護するために使用するパスワードです。恐ろしいことに、セキュリティレベルの低いパスワードが使用されているサイトは少なくありません。実際、National Cyber Security Centreによるパスワードの年次調査では、「123456」に続いて「qwerty」や「password」が未だに一般的に使用されていることが判明しました。

123456は未だに最も広く使用されているという事実(画像参照元:NCSC)
123456は未だに最も広く使用されているという事実(画像参照元:NCSC)

あなただけの知っている2つの情報を使用することで、ウェブサイトの守りを一気に固めることができます。これは、もちろん、DNSファイルに影響を及ぼしサイトをダウンさせる攻撃に対する防御です。ほとんどの2FAでは、SMSを使用した認証コードの送信が採用されており、これが第二の守りとなります。

しかしKinstaでは、携帯電話を標的とする攻撃を回避するためにさまざまな方法を採用しています。認証コードベースの方法では、Google Authenticator、1Password、その他2FAアプリで動的に生成されるコードを使用します。まだ設定をしていないお客様は、2要素認証(2FA)を有効にする方法をご覧下さい。

次世代のDNS

ウェブサイトのDNSファイルを攻撃から保護するためにできることをいくつかご紹介しましたが、さらに一歩進むことができたらどうでしょうか?

企業でのリモートワーク普及につれて、サイバーセキュリティの重要性は日に日に増しています。ITチームやユーザーが今後もリモートでの作業を続ける場合には特に、WordPressサイトとそれを支えるDNSファイルを徹底的に保護することが必須です。

Canopyの共同創設者であるBrian Armstrong氏は、2014年のブログ記事で「おそらく読者の皆さんも、私たちが過去に経験したのと同じDNSの間違いを犯している」と述べています。彼は、サイトのDNSプロバイダーであるDNSimpleを無効にするDDoS攻撃を受けた経験を機に、この記事を書きました。

多くの無料のDNSサービスプロバイダーが適切な仕事をしています。ただし、ポストコロナの世界ではサイバーセキュリティがより重要になるため、サイトで使用するDNSサービスをアップグレードすることが重要です。

Kinstaは、すべての高品質DNSサービスプロバイダーを比較検討した結果、Amazon Route 53との提携を選択しました。DNSフェイルオーバーとジオロケーションルーティング搭載で、ウェブサイトの稼働を支えます。

まとめ

DNSファイルがサイトをどのように支えているのか理解することは、信頼性が高く、安全で、効率的なウェブサイト維持のために不可欠です。DNSファイルに変更を加える場合は、注意の上実行する必要があります。DNS伝播の仕組み、パフォーマンスに影響を与える要素を理解することで、最小限の遅延でサイトを更新できます。

DNSの伝播は、適切なウェブサイトのメンテナンスに欠かせません。そしてDNSの伝播を効率化するためには、TTL値を単に低く設定するだけでは不十分です。

ウェブが進化し、ネームサーバーのエコシステムが拡大する中で、DNSはシステム円滑化のための重要な歯車の一部になりました。そして、すべてのDNSサービスプロバイダーが同じというわけではありません。

今まで無料のDNSサービスを数年間、何の問題もなく使用してきたでしょうか。サイバーセキュリティの重要性が見直される今日、ウェブサイトの長期的な安全性を確保するために、プレミアムDNSサービスに移行するのは賢い判断かもしれません。

David Howell

技術とビジネスを専門とするフリーライター、ジャーナリスト。全国紙や主要な技術・ビジネス誌に寄稿。