冗長化(Redundant)・冗長性(Redundancy)

冗長化(redundant)

冗長化(冗長性)とは

冗長化とは、障害の発生時などにもシステム全体の機能が維持できるように予備の装置・設備を準備しておくことです。

そのように予備装置など用いてシステム全体の可用性を高めている状態を冗長性があるといいます。

冗長化のレベルは、ハードディスク、電源、物理サーバー、ネットワーク機器、データセンターなど、非常に幅広いものです。

あらゆるものを冗長化すれば可用性は高まりますが、費用が高額になるため現実的ではありません。

必要となる可用性のレベルを明確にし、適切な冗長化を行うことが重要です。

物理サーバー単体の冗長化

物理サーバーの構成部品であるハードディスク(SSD)、電源、NIC(Network Interface Card)は、それぞれ冗長化できます。

ハードディスク(SSD)冗長化

ハードディスク(SSD)冗長化の仕組みとして一般的なのが RAID です。

レンタルサーバーサービス用の物理サーバーでは、耐障害性を重視して RAID 1 や RAID 10 が多く採用されています。

詳しくは RAID の記事をご覧ください。

RAID(レイド = Redundant Arrays of Inexpensive Disks)

2017.07.14

電源冗長化

電源装置が故障して電気が供給されなくなれば、サーバーは稼働を続けられません。

そのような電源故障に備えて、複数の電源装置を搭載したサーバーがあります。

ちなみに Google は自社でサーバーを設計しており、物理サーバーやデータセンターの電源に問題が発生してもサーバーがすぐに停止しないように、各サーバーにノートパソコンのようなバッテリーを搭載しているそうです。

「Googleを支える技術 巨大システムの内側の世界」の中で触れられています。

NIC 冗長化(ボンディング)

NIC(Network Interface Card)は、サーバーを LAN に接続するための部品です。

サーバーによっては NIC 冗長化(ボンディング)に対応している場合があります。

複数台のサーバーを利用した冗長化構成

物理サーバー単体ではなく、サーバーやネットワーク機器そのもの(クラウドの場合は物理ではなく、仮想サーバー)も冗長化は可能です。

またデータセンターレベルでも冗長性を持たせる場合があります。

サーバーやネットワーク機器の冗長化

複数台のサーバーやネットワーク機器を接続し、いずれかが故障してもシステムを維持できる、可用性の高い構成でシステムを運用することがあります。

物理的に複数台のサーバーやネットワーク機器を用いる場合は費用も準備期間もかかりますが、パブリッククラウドなら、同じ構成をオンラインですぐに構築可能で、構成の拡張や変更も簡単です。

このような可用性の高い複数台構成は「HA(High Availability)構成」と呼ばれています。

サーバーの冗長化

サーバーなどを冗長化することでシステムの可用性が高まる

データセンターレベルの冗長化

複数のデータセンターに同じサーバー構成を用意して、問題が発生した場合に別のデータセンターに切り替えることも可能です。

データセンターレベルの冗長化

データセンターレベルの冗長化は費用的な負担が大きい

切り替えたときに同じ内容を表示させるためには、異なるデータセンターに設置されたサーバーのデータを同期させなくてはいけません。

データセンター間の通信には費用がかかるため、データ量が増えるほど負担も増します。

データセンター全体の機能に問題が生じることは極めて稀で、そのために複数箇所に同じサーバー構成を用意するのは、非常に費用対効果が悪いです。

例えばいつも利用しているデータセンターでは複数台サーバー構成で運用していても、切り替え先では単体にしておいて、主として利用しているデータセンターが復旧するまで臨時の情報を表示させておくなどという使い方なら費用は抑えられるでしょう。

落雷や人災の影響で、データセンター内の一部のデータが消失したり、通信が途絶えたという前例はありますが、長期間に渡って完全に使えなくなったという事例は聞いたことがありません。

しかし日本においては東日本大震災のときに関東圏のデータセンターへの危機感が強まり、データセンターレベルでの冗長化や遠隔地バックアップが注目されました。

このような広域災害を想定した対応はディザスタリカバリーと呼ばれ、BCP(事業継続計画)の観点からも重要視されています。

東日本大震災が発生した 2011 年は AWS の東京リージョンが開設された年で、この頃から日本でもパブリッククラウドが急速に広まっていきました。

パブリッククラウドは複数のリージョン(データセンター)を持っている場合が多く、例えば日本とアメリカ、東京と大阪というように、国や地域が異なる場所に建てられたデータセンターが利用可能です。

パブリッククラウドの普及によって、データセンターレベルでの冗長化や遠隔地バックアップが、以前よりも現実的なものになっています。

冗長化のメリットとデメリット

冗長化のメリットは可用性を高められることですが、あらゆるものを冗長化してしまうとコストがかかることがデメリットです。

システムが停止することによって、大きな損失が発生するような場合は冗長化が必須ですが、どこまで冗長化するかは必要とされるレベルにより異なります。

一般的にパブリッククラウドは物理機器レベルでの冗長化を行っているので、通常のホスティングサービスに比べて可用性は高いといえるでしょう。

ただしパブリッククラウドでも絶対に止まらないわけではないので、ウェブ制作者が顧客のサーバーを選ぶときには必ず伝えなくてはいけません。

ウェブ制作者はサーバー停止のリスクをどうやって顧客に伝えればよいのか

2017.06.20

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です