- Webサイトのダウンタイムについて
- URL監視でダウンタイムを検出する方法
- ダウンタイムが発生したときの対処法
- サーバー構成を確認する
- Webサイトをホストしているサーバーとの疎通確認
- nslookupコマンドでサーバーのIPアドレスを確認する
- pingコマンドでPINGを送信してみる
- pingがtime outする場合
- SSL証明書を確認する
- サーバーコンソールに入って内部を確認する
- まとめ
Webサイトのダウンタイムについて
Webサイトのダウンタイムとは、Webサイトにアクセスできない状態のことを指します。
Webサイトは様々な技術によって提供されていますが、どれも人間が構築したものであるため、人為的な設定ミスであったり、時間経過によってデータ量が増えたりしてデータベースへ負荷がかかったり、アクセスごとにログファイルが出力されディスクを圧迫したり、SSL証明書の期限切れが発生した場合など、さまざまな要因で突然Webサイトにアクセスできなくなる場合があります。それらに起因して、Webサイトにダウンタイムが発生します。
ユーザーがお客様のサイトにアクセスする理由は何らかの情報を得ることであり、ユーザーにとって価値を提供しつづけるWebサイトは、常にオンラインでアクセス可能な状態を維持する必要があります。多くのインターネットビジネスでは、Webサイトのダウンタイムはお客様とユーザー双方にとって良くない事です。URL監視は、そういった予期しない問題を検出するための解決策となりえます。
URL監視でダウンタイムを検出する方法
URL監視とは、Webサイトの特定のURLに対して定期的にアクセスを行い、Webサイトが正常に稼働しているかどうかを確認し、ダウンタイムが発生した場合にはほぼリアルタイムに運営者へ通知する仕組みのことを言います。これにより、ダウンタイムの発生に気づくことができ、即時対応することが可能です。
ダウンタイムが発生したときの対処法
ダウンタイムの要因はさまざまですが、問題は意外にも単純な設定ミスである可能性があります。まずは問題がどこにあるかを特定するために、問題の切り分けを行う必要があります。問題の切り分けができると、ピンポイントな問題特定が可能になります。例えば、以下のポイントを確認するとよいでしょう。
サーバー構成を確認する
お客様のWebサイトがどのようなサーバー構成で提供されているかを知っておく必要があります。例えば、ドメインのAレコードに単一のパブリックなサーバーIPを指定している場合や、ロードバランサーなどを噛ませてプライベートなネットワークにWebサーバーが設定されていたりします。サーバー構成を把握することで、問題が発生していそうな場所について仮説を立てていくことができます。
また、サーバーがHTTP
Webサイトをホストしているサーバーとの疎通確認
Webサイトをホストしているサーバー自体がオンライン状態であるかどうか、サーバーとの疎通確認をするとよいでしょう。これによりネットワークに起因する問題であるかどうかを特定できます。
ドメインのAレコードに単一のIPアドレスが指定されている場合、そのIPアドレスでサーバーがホストされている可能性が高いといえます。IPアドレスに対してPINGを送信してみましょう。
Windowsであれば、コマンドプロンプトやWindowsTerminalなどのプリインストールされたアプリケーションをつかって以下のコマンドを実行できます。
nslookupコマンドでサーバーのIPアドレスを確認する
この時点で以下のようにIPアドレスが返ってこない場合、DNS関連の問題の可能性があります。DNSサーバーやDNSレコードの設定を見直してください。
- DNSサーバーの指定が間違えている
- DNSレコードのAレコードが設定されていない
PS C:\Users\XXX> nslookup url-hawkeye.com Server: UnKnown Address: 2404:1a8:7f01:b::3 Non-authoritative answer: Name: url-hawkeye.com Address: 163.44.97.23
pingコマンドでPINGを送信してみる
Reply fromからはじまる出力があれば、疎通確認は成功です。ネットワーク的にサーバーにはアクセスできる状態であるため、サーバー内部の問題である可能性が高いと言えます。
PS C:\Users\HG> ping 163.44.97.23 Pinging 163.44.97.23 with 32 bytes of data: Reply from 163.44.97.23: bytes=32 time=10ms TTL=112 Reply from 163.44.97.23: bytes=32 time=5ms TTL=112 Reply from 163.44.97.23: bytes=32 time=6ms TTL=112 Reply from 163.44.97.23: bytes=32 time=5ms TTL=112 Ping statistics for 163.44.97.23: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 5ms, Maximum = 10ms, Average = 6ms
pingがtime outする場合
pingがタイムアウトする場合は、以下の要因が考えられます
- サーバーの電源が入っていない
- ネットワークの問題
- ICMPのポートが閉じられている
PS C:\Users\HG> ping 163.44.97.23 Pinging 163.44.97.23 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 163.44.97.23: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
SSL証明書を確認する
期限切れになっていないか確認してください。
サーバーコンソールに入って内部を確認する
レンタルサーバーの場合は、これ以上確認できることがないため運営事業者に問い合わせを行って下さい。AmazonEC2やVPS、自社サーバー(いわゆるオンプレミス)の場合、サーバーコンソールにアクセスできる場合があり、詳細な問題特定が可能です。
Webサーバーにはいくつか種類があり、一般的には以下のようなものがあります。
- Apache
- Nginx
- ISS
これらのWebサーバーミドルウェアはアクセスログやエラーログを吐き出す設定になっているので、エラーログにエラーが出力されていないか確認してみましょう。また、Nginxなどの場合はプロキシしている場合があるため、アプリケーションサーバーのログも確認してみましょう。
まとめ
Webサイトが稼働状態であることを担保するために、URL監視は有用な手段です。ビジネス機会損失を最小化するために、URL監視を設定しておきましょう。問題解決にはさまざまな知識が必要ですが、問題の切り分けはできるようになると復旧までの時間を短縮することができます。