Webサイトをダウンさせない方法

Webサイトがダウンしないようにするには、多角的な戦略とある程度の努力が必要ですが、ダウンタイムに伴うコンバージョン損失やSEO上のペナルティのリスクを軽減することは価値があります。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ダウンタイムとは何か、ダウンタイムが重要な理由を学ぶ
  • ダウンタイムの原因を説明する

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

ダウンタイムとは?

ウェブにおいて、ダウンタイムとはWebサイトが一部のユーザー(または全部)から利用できない期間のことを指します。ダウンタイム中、サイトにアクセスしようとするユーザーは、エラーページにリダイレクトされるか、ブラウザによって作成されたエラーページを見ることになります。このようなダウンタイム期間は、コンバージョン数の減少や検索エンジン最適化(SEO)ランキングの低下など、サイトにとって大きな痛手となる可能性があります。

Webサイトがダウンするのはなぜか?

  • ホスティングメンテナンス:Webホストは、Webサイトのファイルが保存されているサーバーのメンテナンスを行わなければならないことがあります。場合によって、このメンテナンスはダウンタイムを必要とします。優良なホストでは、このメンテナンス時間は事前に公表され、最小限かつあまり利用されていない時間帯に予定される必要があります。
  • サーバーの過負荷:Webサーバーは一度に多くのリクエストを処理するができますが、トラフィックが急増するとサーバーが過負荷になり、ユーザーがサイトにアクセスできなくなる可能性があります。ホスティング会社がマルチテナンシー(1台のサーバーで複数のサイトをホストすること)を採用している場合もあります。マルチテナンシーでは、一つのサイトへのトラフィックが急増すると、別の無関係なサイトにダウンタイムが発生してしまう可能性があります。
  • ハードウェアの故障:ホスティングサーバーは一般的に保護され管理された環境に置かれていますが、それでもハードウェアが故障することがあります。ファンの故障、ストレージディスクの破損、停電や自然災害によってデータセンター全体がダウンする可能性もあります。バックアッププランがなければ、このようなハードウェアの故障により、長期に渡るダウンタイムが発生する可能性があります。
  • 悪意のある攻撃:サイトは、分散サービス妨害(DDoS) やその他の種類の攻撃によってもオフラインになることがあります。DDoS攻撃は、意図的にサイトをトラフィックで圧倒し、サービス拒否を引き起こすことを目的としています。より悪質な攻撃では、ブルートフォースなどの手段を用いて、ドメイン名レジストラまたはサイトに関連するホスティングアカウントへのアクセス権を取得します。そして、攻撃者はこの偽造された認証を使って、Webサイトをダウンさせたり、変更したりします。
  • プログラミングのバグ:Webサイトの機能は、コードが正しく実行されるかどうかにかかっており、このコードに1つでもエラーがあると、Webサイトがダウンしてしまう可能性があります。ある種の稀な条件が満たされないと発動しないバグもあり、これらは「エッジケース」と呼ばれます。このようなエッジケースのバグは、悪質なコードがサイトにプッシュされてから、数時間、あるいは数日経たないと現れないかもしれません。
  • 期限切れドメイン:サイトのドメイン名の登録期限が切れると、レジストラはそのサイトのIPアドレスとドメイン名との間のリンクを切断します。この時点で、ユーザーはそのドメイン名を使用してサイトにアクセスすることができなくなります。

ダウンタイムを回避する方法

稼働率100%を達成することは困難ですが(GoogleやFacebookでさえ、さまざまな問題によりダウンタイムが発生することがあります)、サイト所有者は、サイトのダウンタイムを最小限に抑えるための措置をとることができます。ここでは、いくつかの重要な戦略をご紹介します。

適切なホストとホスティングプランを選択する

予定外のサーバーメンテナンス、ハードウェア障害などの問題は、どのWebホストにも影響しますが、中には他より優れた稼働率の記録を誇るものもあります。アップタイムをさまざまなホスティングプロバイダーと比較した情報はオンライン上で見ることができ、より優れた稼働時間の記録を誇るホストを選択することは、サイト維持の向上に役立ちます。また、適切な監視サービスを提供しているホストを選ぶことも重要です。ダウンタイムを軽減するための最初のステップは、ダウンタイムが存在するということを認識することです。

ハード的な使用量制限のあるホスティングプランは避けるべきです。一部のホストは、ユーザーに日次または月次の帯域幅制限を適用します。これは、トラフィックが急増した場合、サーバーに負荷をかけるほどではない場合でも、ホストによってアカウントが停止され、サイトがオフラインになる可能性があることを意味します。ダウンタイムを避けるには、帯域幅が無制限のホスティングプラン、または帯域幅超過に対する従量課金制が最も理にかなっています。

また、一部のホストでは、フェイルオーバー(「冗長」)プランを提供しています。これは、サイトをホスティングしているサーバーに障害が発生した場合、ホストが自動的に別のサーバーを使用してそのサイトのホスティングを開始することを意味します。これは、ホスティングに関連するダウンタイムへの適切な保護対策と言えます。フェイルオーバーに好ましいプランは、異なる物理的な場所にあるサーバーを利用することに留意すべきです。フェイルオーバーに使用するサーバーがすべてオリジナルのホストと同じデータセンターにある場合、停電のようにデータセンター全体に影響を及ぼす障害時には、あまり役に立ちません。

DDoS攻撃対策を有効にする

多くの組織は、攻撃によって多大なダウンタイムが発生してから、DDoS攻撃対策に目を向けることが多いようです。DDoS軽減サービスを事前に有効にして、DDoS攻撃に迅速に対処し、ダウンタイムを最小限に抑えることができます。

Web開発のベストプラクティスを実践する

コーディングのバグによってサイトが停止するリスクを最小限に抑えるために、開発者はいくつかの基本的な予防策を講じる必要があります。ローカル環境での開発、バージョン管理の使用、またエッジケースを含む本番環境におけるすべての変更点を即座にテストすることは、本番環境でのバグによるサイトダウンのリスクを軽減するのに役立ちます。

適切なレジストラを選択する

ドメイン名レジストラの中にはドメイン名の有効期限に関して、他のレジストラよりも寛容なところがあります。ドメインの有効期限が近づいたときに顧客に適切な通知を行い、有効期限が切れた後も余裕のある猶予期間を設けているレジストラがアップタイムを最大化するために最適なレジストラであると言えます。これを判断するための詳細については、最良のドメイン名レジストラを選択する方法をご覧ください。

CDNの利用

コンテンツ配信ネットワーク(CDN)は、Webサイトのデータをネットワークエッジにキャッシュして、ホスティングされているオリジンサーバーに問い合わせることなく、一時的にキャッシュされたWebサイトファイルをユーザーに提供することができる仕組みです。CDNは、ホスティングサーバーが応答しない場合でも、キャッシュからサイトを提供することにより、軽微なダウンタイム発生時の補填となることができます。

キャッシュされたWebサイトのファイルにはTime-To-Live(TTL)があるため、ダウンタイムのわずかな隙間時間程度しか補填できないことに留意してください。TTL時間の経過後、CDNは再びホストサーバーと通信し、新しいファイルの複製を要求します。このTTLは通常、30秒から5分の間です。

慎重なモニタリング

ダウンタイムを意識することは、ダウンタイムを軽減するために重要です。ホスティングプロバイダーが提供する監視に加え、独立したアップタイムモニタリングサービスを利用することをお勧めします。これらのサービスは、何らかの理由でWebサイトがダウンすると、瞬時に開発者にアラートを送信することができます。