自身の管理しているWEBサイトにつながらなくなったりした場合、皆さんはどうしていますか。
サーバーの管理を全てサーバー会社にお任せしているのであれば、サーバー会社に問い合わせる、というのが一番多い答えだと思います。しかしWEBサイトにつながらなくなるといっても様々な原因があり、サーバー会社に問い合わせても解決しない事もよくあります。
サーバーのトラブルだけでなく、ネットワークトラブル、ドメインに関するトラブル、またはWEBサイト内のシステムトラブル等、WEBサイトにつながらなくなる理由は様々です。
WEBサイトの運営が会社の収益に直結している場合、障害の原因をいち早く見つけ、適切な処置をとらなければいけないのですが、トラブルシューティングに対する知識がなければなかなか原因を究明できず、復旧に時間がかかってしまうと思います。
今回はそんなWEBサイトにつながらなかったときのトラブルシューティング(原因究明)で役に立つ、Windowsに必ず入っているコマンドプロンプトで利用できるコマンドを紹介します。
WEBサイトとの疎通確認を取るPINGコマンド
WEBサイトへつながらなくなった際にサーバーにトラブルがないか調べるのに一番使われるのが「PING」コマンドです。
「PING」コマンドは少ないパケットでサーバーの疎通確認をとることができるため、定期的なサーバーの稼死チェックをする場合にもよく使われています。
※Firewall等でPINGの通信を遮断されている場合は利用できません。
コマンドプロンプトで次のようなコマンドを打つことで調べる事ができます。
ping [ドメインもしくはIPアドレス]
このように応答時間が返ってくればサーバーとの疎通確認が取れているといえます。
以下のように返ってきた場合は疎通確認が取れていないことになります。
PINGコマンドはサーバーだけでなく、サーバーとの間にあるネットワーク機器に対しても疎通確認をとることができるため、サーバーにつながらなかった場合は自分の所属するネットワーク上のゲートウェイに対してPINGコマンドで疎通確認をとってみるのもよいでしょう。
PING通信でドメイン、IPアドレスどちらでもサーバーにつながらない場合は、サーバーに障害が起きている可能性が高いため、サーバー会社に問い合わせてみたり、自社でサーバーを管理している場合はアクセスしてサーバーの状況を調べてみたりするのがよいと思います。
IPアドレス解決を調べる「nslookup」コマンド
サーバー障害以外でWEBサイトへの接続ができなる原因の一つとして考えられるのは、ドメインがIPアドレスに変換できているか、ということです。
昨今ドメインでWEBサイトにアクセスすることが当たり前になってしまい、WEBサイトにアクセスする際、WEBブラウザがドメインをIPアドレスに変換してからサーバーにアクセスしているということがあまり認識されていないと思います。当たり前ではありますが、ネットワークの性質上「ドメイン」が「IPアドレスに」変換できなければサーバーにアクセスできません。
ドメインの有効期限が切れていたり、DNSサーバーに何かしら障害があったりする場合には「ドメイン」→「IPアドレス」の変換が正常に行われず、WEBサイトにアクセスできなくなるということがよくあります。
「ドメイン」→「IPアドレス」の変換はコマンドプロンプトで
nslookup [WEBサイトのドメイン名]
とコマンドを打つことで調べる事ができます。
正しくIPアドレスが返ってくれば正常に「ドメイン」→「IPアドレス」の変換が行われています。
以下のようにIPアドレスが返ってこず、「No response from server」等とエラーが出る場合は、「ドメイン」→「IPアドレス」の変換がうまくいっていないために接続できていないことになります。
この場合、自身が参照しているDNSに問題がある可能性もあるため、念のため別のDNSサーバーでも同じように変換がうまくいっていないか調べます。
nslookup [WEBサイトのドメイン名] [別のDNSサーバー]
これでつながらないとわかったら、ドメインの有効期限が切れているか、ドメインを管理しているDNSに問題があるため、ドメイン管理画面で有効期限を調べたり、ドメイン管理会社に問い合わせるのがよいと思います。
まとめ
いかがでしたでしょうか。
今回はWEBサイトにつながらなかった際の問題の切り分けとして使えるコマンドを紹介してきました。
はじめに書きましたが、一概にWEBサイトにつながらないといっても様々な問題が考えられます。そのため、復旧作業自体はサーバー会社やドメイン会社の専門家に任せるにしても、原因がわからなければどこに問い合わせをすればよいかわからず、復旧に時間がかかってしまいます。
WEBサイトにつながらない原因がサーバーにあるのか、それともドメインにあるのか、だけでもわかれば、障害時の初動が変わってくると思います。コマンドプロンプトはちょっと苦手、という方も今回紹介した「ping」「nslookup」コマンドはそんなに難しくないため覚えておいてはいかがでしょうか。