Azureのフェールオーバーとは?

はじめに

Azureにはフェールオーバーという機能があります。この機能のおかげでAzureの耐障害性は高く、信用性の保証となっています。今回はこのフェールオーバーとは何か?どのような時に必要になるかなどを解説します。

フェールオーバーとは

フェールオーバーとはサーバーやシステムに障害が発生した際、あらかじめ用意してある別の待機システムに切り替える事を指します。万が一メインシステムに障害が発生して稼働できなくなった時、もう一つの待機システムに切り替えれば稼働を継続する事が出来ます。

Azureにおいては、リージョンという離れた地域に設置してあるデータセンターが存在しており、障害発生時にはこのリージョンを切り替えフェールオーバーする事が可能です。

リージョンと冗長化オプション

AzureではAzure Storageというファイル共有サービス内にて使用されます。しかし、全ての利用状況で使用される訳ではありません。Azure Storage利用時には必ず冗長性オプションを選択しますが、その中でリージョン間で冗長化できるオプションを選択している場合のみフェールオーバーが行われます。

オプションの種類は以下です。

ローカル冗長:LRS
・プライマリリージョンの1つのゾーン内にデータのコピーが3つ作成される
・データセンターに障害が起きるとデータを利用出来なくなる

ゾーン冗長:ZRS
・プライマリリージョン内の3つのゾーンにぞれぞれに1つコピーが作成される
・1つのゾーンに障害が発生しても利用可能

geo冗長ストレージ :GRS
・プライマリリージョンの1つのゾーン内にローカルコピーを3つ作成後、セカンダリリージョンに3つをコピー
・離れた場所で管理される為、自然災害などの重大な障害が発生しても利用可能

geo冗長ストレージ :GZRS
・ライマリリージョン内の3つのゾーンにぞれぞれに1つコピーが作成後、全てをセカンダリリージョンにコピー
・最も安全性が高い

以上の冗長性オプションのうちGRS、GZRSがリージョン間で冗長化を行うオプションです。これらのオプションを選択している場合で、プライマリリージョンに障害が発生した際はセカンダリリージョンにフェールオーバーが行われます。リージョンは可用性ゾーンと異なり、大きく離れた地域に設置されています。その為大規模な災害などでプライマリリージョンが設置されている地域全体が被害を受けてもセカンダリリージョンへのフェールオーバーが可能です。ゾーン間のみの冗長化オプション選択時より高い耐障害性が保証されます。

ユーザー判断によるフェールオーバー

フェールオーバーは通常Microsoftの判断により行われます。プライマリリージョンが稼働停止した際にフェールオーバーが行われますが、優先順位的にはプライマリリージョンの復旧が優先されます。その為、原因不明の障害が発生した場合、即座にフェールオーバーが行われない場合があります。

そこで、Azure Storageではユーザーが任意のタイミングで手動フェールオーバーを行うことが出来ます。これにより、Microsoftのフェールオーバーを待たずにシステムを復旧出来る為、緊急の場合でもすぐにシステムの再開が可能です。

注意点として、セカンダリリージョンへのバックアップがされる前にプライマリリージョンが停止した場合、フェールオーバーを行ってもバックアップ前のデータは復旧しないという点があります。フェールオーバーを行う際には、どの時点のデータまで残っているかを確認する必要があります。

セカンダリリージョンのデータへのアクセス

Microsoftのフェールオーバー前に復旧する方法として、手動フェールオーバーの他にセカンダリリージョンへの直接アクセスという方法もあります。

冗長ストレージ (GRS または GZRS) は、リージョン障害から保護するために、セカンダリリージョンにデータをレプリケートします。ただし、そのデータが読み取れるのはプライマリリージョンからセカンダリリージョンへのフェールオーバーを開始した場合だけとなり、通常セカンダリリージョンへ直接のアクセスは出来ません。しかし以下の派生オプションを選択すると、読み取りのみで書き込みは出来ませんが、フェールオーバーすることなく、直接セカンダリリージョンのバックアップにアクセスする事が可能です。

読み取りアクセス geo冗長ストレージ:RA-GRS
・geo冗長ストレージ(GRS)のセカンダリリージョンへのアクセスを有効にした状態

読み取りアクセス geoゾーン冗長ストレージ:RA-GZRS
・geo冗長ストレージ(GZRS)のセカンダリリージョンへのアクセスを有効にした状態

まとめ

今回はAzureのフェールオーバーについて解説しました。フェールオーバーは万が一の緊急事態に対応するための重要な機能です。使用するには上位のオプションを選択する必要がある為、採用するにはコストと相談する必要はありますが、大事なデータやサービスを守るためには非常に有効です。ぜひ、Azureをご使用の際はご検討下さい。

コメントを残す

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

次の記事

Azureへの移行プロセス