Azureの可用性ゾーンとは?可用性セットの違いや冗長化の方法を解説

     可用性ゾーン、可用性セットは、高可用性を提供するMicrosoft Azureのサービスです。可用性ゾーンとはAzureリージョン内で物理的に独立したゾーン(データセンター)のことで、可用性セットは1つのゾーン内で可用性を高めるための仕組みです。

    名称が似ているため混同してしまいがちですが、この2つはそれぞれ異なる意味や役割を持っています。この記事では、まずAzureについて、つぎに可用性ゾーンと可用性セットについて詳しく解説します。

    Azure(アジュール)とは?

    AzureMicrosoftが提供するクラウドサービスです。世界中に多くのデータセンターを持ち、日本でも西日本と東日本に拠点があります。サーバーやネットワークなどのインフラ環境をクラウド上で提供しており、IoTAIなど多種多様なサービスも用意されています。ここでは、Azureについて詳しく解説します。

    Azureのサービス形態

    クラウドサービスはIaaSPaaSSaaS3つが一般的なサービス形態ですが、このうちAzureIaaSPaaSを提供しています。IaaSInfrastructure as a Serviceの略で、クラウド上でマシンやネットワークなどのインフラ環境を提供するサービスです。PaaSPlatform as a Serviceの略で、OSなどのプラットフォームをクラウド上で提供します。これらはすべてインターネット経由でアクセスすることができます。 

    AzureではIaaSPaaS それぞれ多岐にわたるサービスを提供しており、ユーザーはこれらのサービスの中から必要なものを選択して利用することができます。画像解析やデータに基づく未来予測などの人工知能を活用できる「Azure AI」、アプリの開発からリリース、テスト、監視まで行える開発環境を提供する「Azure DevOps 」、シングル サインオンと多要素認証の「Azure Active Directory  など、幅広い用途に合わせたサービスが用意されています。

    Azureの特徴

    Azureの一番の特徴は、Windows OSとの親和性が高いという点です。Windowsはパソコンなどの端末だけでなく、サーバーのOSとしても広く使われています。そのため、既存システムとの連携のしやすさを考慮してAzureを採用したという企業も少なくありません。

    無料で利用できる部分が多いという特徴もあり、Azureの無料アカウントを作成すると、最初の30日間利用できる約2万円分のクレジットと、人気サービスの12ヶ月無料アクセス権が付与されます。毎月の送信データ転送が5GBまでは無料など、常に無料で利用できるサービスも用意されており、スタートアップ企業などクラウドサービスをなるべく安価に使いたいという場合にも適しています。また、長期契約割引やエンタープライズ向けの割引なども利用することが可能です。

    Azureを利用するメリット

     ここでは、Azureを利用するメリットについて解説します。

    クオリティの高い環境

     Microsoftはネットワーク環境への投資を積極的に行い、世界トップクラスのバックボーンネットワークを構築しています。この強大なネットワークで、世界中にあるAzureデータセンターが繋がっており、グローバルなサービス展開を可能にしています。太いバックボーンネットワークにより、通信の遅延が致命的となるVDI環境などでも効果を発揮しており、安定した通信が可能です。

    コンプライアンス対策やネットワークセキュリティ対策によって、Azureのクラウド環境は常に高いセキュリティが保たれています。また、データセンター外部からの脅威だけでなく、データセンター内に存在するリスクへの対策も行われている点もメリットです。入館者の制限、複数のセキュリティゲートの設置、ヒューマンエラーを防ぐための作業の自動化など、様々な対策が行われています。このように、高い品質が保たれた環境を自社で用意することなくインターネット経由で利用できる点が、Azureを利用するメリットのひとつです。

    日本企業でも使いやすい

    Azureは、日本企業が使いやすいという点もメリットです。世界でのシェア が高いクラウドサービスは海外の企業がサービス提供しているものが多いため、日本企業では使いにくいと感じるケースがあるのをご存じでしょうか。例えば、準拠法や管轄裁判所、支払い通貨などが日本のものではないケースが少なくありません。 

    その点Azure また、海外の一部のクラウドサービスは日本円で支払いが可能ですが、Azureも日本円で支払いができます。米ドルなど海外の通貨で支払いを行う場合は為替の影響を受ける可能性があるため、日本円で支払いができるのは大きなメリットです。

    既存システムとの連携

    先述の通り、AzureMicrosoft製品との親和性が高いという特徴があります。 既存システムがWindows環境の場合、Azureとの連携や乗り換えがスムーズに行えるというメリットに繋がります。Office365SharePointなどのアプリケーションやOSはもちろん、サーバーなどのインフラに関してもWindows製品を採用している企業は多いです。 

    Windows系のオンプレミスサーバーを利用している場合も、Azureであればスムーズな連携や乗り換えが可能です。オンプレミスサーバーのバックアップ先としてAzureを利用する 方法 もあり、親和性の高さによって活用の幅がさらに広がります。

    Azureの可用性を高める仕組み

    ここまでAzureの特徴やメリットについて解説してきましたが、Azureにはもうひとつ特筆すべき特徴があります。それは、Azureのインフラには可用性を高めるために様々な仕組みが組み込まれている、という点です。

    可用性とは、システムが問題なく稼働するための能力のことをいい、可用性が高いことを「HAHigh Availability)」「高可用性」と表現することもあります。可用性の指標は稼働率で表され、一定期間でシステムが問題なく稼働していた時間によって算出されます。例えば「31日のうち、計20分システムが停止した 」という場合、月間稼働率は99.955%です。

    Azureでは一定の稼働率を保証するSLAが定められており、システム停止時間を最小限にするために様々な対策が取られています。高可用性を実現するための方法として一般的なのが「冗長化」で、同じシステム環境を複数用意しておくという手法です。冗長化しておくことで、一方に問題が発生した際にもう一方の環境に切り替え、システムの停止を防ぐことが できます

    Azureではこの冗長化という手法を使って可用性を高める、可用性ゾーンや可用性セットと呼ばれる仕組みが用意されています。可用性ゾーンと可用性セットについては、以下でそれぞれ詳しく解説します。

    可用性ゾーンとは?

    Azureデータセンターがある拠点のことを、「リージョン」と呼びます。例えば、日本には東日本と西日本にAzureの拠点がありますが、それぞれ「東日本リージョン」「西日本リージョン」と呼ばれています。

    各リージョン内には独立した電源、ネットワーク、冷却装置を備えた一意の物理的な場所があり、これを可用性ゾーンと呼びます。

    クラウドを利用する場合、その可用性に関して無視はできません。クラウドの場合、インフラやサービスの管理をクラウドサービス提供会社に任せているため、万が一障害が発生したとしても自分たちにできることはほとんどなく、復旧を待つしかありません。そのため、可用性を上げるためにどのような対策が取られているかを確認することは、クラウドサービスを比較検討する際には非常に重要です。

    可用性ゾーン間の冗長化

    可用性を高めるための「冗長化」という手法は、あらゆる場面で多く使われています。ハードディスクやネットワーク回線など、故障や障害がシステムの利用可否に大きく影響する部分については、ほとんどが冗長化 されています Azureの場合、複数の可用性ゾーン間で冗長化すると、データセンターそのものの障害からシステムを保護することができます。

    データセンター規模の障害というと、あまりイメージできないという人もいるかもしれません。システム障害といえばディスクやサーバーの故障などが原因であり、地震などの災害を除けばデータセンターごと利用ができなくなるという事態は稀だと考える人もいるでしょう。しかし、国内外問わずデータセンター規模の障害は発生しています。例えば、光ファイバーが損傷したことによるネットワーク障害や、電源系統の火災によるシステム停止など、データセンターが丸ごと被害を受ける障害も実際に起こっています。このような場合でも、複数の可用性ゾーンを利用していれば、物理的に離れた場所にある別のデータセンターに切り替えてサービスやシステムの利用を 継続することが できます

    リージョンペア

    リージョン単位の可用性を高める可用性ゾーンだけでなく、Azureにはリージョンペアという高可用性の仕組みも備わっています。 すべてのリージョンにはペアとなるリージョンが設定されていて、たとえばAzure Geo 冗長ストレージ (GRS) では、データがセカンダリ リージョンに自動的にレプリケートされるため、プライマリ リージョンが復旧できない場合でもデータの持続性を保つことができます

    ペアリージョンは最低300マイル離れた場所に設定すると定められており、例えば日本では東日本リージョンと西日本リージョンがペアリージョンです。同じリージョン内にある可用性ゾーンは比較的近い場所に設置されるため、地震などの大規模災害の際にはリージョンごと被害を受けてしまう可能性があります。そのため、Azureではペアリージョンとして一定距離以上離れた場所にあるリージョンを設置することによって、さらなる高可用性を実現しています。

    Azure GEO,Region Pair概念図

    出典:Microsoft ビジネス継続性とディザスター リカバリー (BCDR):Azure のペアになっているリージョン

    可用性ゾーンの特徴

    可用性ゾーンの特徴は、 データセンター単位で リソースを冗長化できることです。それぞれのゾーンは電源、冷却手段、ネットワークが完全に独立しており、リージョン内のどこかのゾーンで障害などが起こったとしても、他のゾーンに影響を与えることはありません。複数の可用性ゾーンにリソースを配置することで、1つのゾーンで何かしらの問題が発生したとしても別のゾーンが処理を引き継いでシステムの停止を防ぐことができます。各ゾーンはロードバランサーを使用して仮想ネットワークが作成されており、リージョン内のゾーン同士が密接に連携しているため、このような高可用性を実現することが可能です。可用性ゾーンの提供によって、Azureの仮想マシンではSLAとして99.99%の稼働率を実現しています。

    可用性ゾーンの冗長化方式

     可用性ゾーンの冗長化方式は2つあり、サービスによってどちらの冗長化方式が使えるのかが異なります。

    ひとつは、ゾーンサービスという方式です。これはリソースを配置するゾーンを任意で指定する方式で、仮想マシンの場合は作成時に任意の可用性ゾーンを1つ選択する必要があります。利用者側でどの可用性ゾーンにリソースを配置するかあらかじめ決めておかなければなりません。

    もうひとつはゾーン冗長サービスと呼ばれる方式です。こちらは、リソースが複数のゾーンにわたって自動的にレプリケートされ ます。 SQL Databaseを利用する場合は、「このデータベースゾーンに冗長性を持たせますか?」という項目で「はい」を選択することで、ゾーン冗長サービスを利用することができます。

     どちらの冗長化方式を利用するかは、アプリケーションの設計時に計画しておく必要があります。どのレベルの冗長性を求めるかは、ビジネス要件や取り扱うデータの内容によって異なるためです。リージョン規模の障害に備えることは大切ですが、すべてのアプリケーションに対して冗長化が必要というわけではないでしょう。高可用性を突き詰めることはコストの増加にもつながってしまうため、それぞれの要件に適した対策を講じることが大切です。

    可用性ゾーンが使用可能なリージョン

    可用性ゾーン は全てのリージョンで使用できるというわけではありません。 日本では、2019年に東日本リージョンで可用性ゾーンの一般提供が開始されましたが、西日本リージョンでは提供されていません。可用性ゾーンを利用したい場合は、最新のサービス提供状況を確認してからリージョンを選択するようにしましょう。

    可用性ゾーンの利用料金

    可用性ゾーン を利用すること自体に料金はかかりません。同じ可用性ゾーン内でのデータ転送なども無料で利用できます。ただし、 2つの可用性ゾーンに2台の仮想マシンを展開すると、仮想マシンの料金は2台分になります。また、20212月より可用性ゾーンをまたいだ仮想マシン間のデータ転送の課金が開始されるなど、一部機能においては料金が発生するケースもあります。

    可用性セットとは?

    可用性セットとは、同一データセンター内の別のサーバーラックに配置された仮想マシンを配置する設定のことです。物理サーバーや電源装置、ネットワークスイッチなどラック内で障害が発生しても別ラックに配置された仮想マシンに切り替えることでシステム停止を防ぐことができます。また、保守員によるメンテナンスの際にも、可用性セットを使えば不意の停止を避けることができます。

    可用性セットの利用料金

    可用性セットの使用には、可用性ゾーン同様料金はかかりません。可用性ゾーンの場合はロードバランサーを冗長構成するためStandard Load Balancer 費用がかかることがありますが、可用性セットの場合は無料のBasic Load Balancer で機能が十分なため、 費用はかかりません。

    可用性ゾーンと可用性セットの違い

    可用性ゾーンはデータセンターそのものの障害によるシステム停止を防ぎ、可用性セットはデータセンター内のサーバーラックやサーバー機の障害からシステムを保護します。

    可用性ゾーンを設定した場合の仮想マシンのSLA99.99%、可用性セットを設定した場合は99.95%です。システム停止許容時間に応じて可用性ゾーンと可用性セットのどちらを設定するかを設計しましょう。

    Azure上 のシステムの可用性をさらに高める方法とは?

    これまで紹介してきたように、Azureには「可用性ゾーン」や「可用性セット」といった可用性を高める仕組みが用意されています。しかしIaaSの場合、Microsoftの責任範囲は基盤部分のみで、OSより上のアプリケーションやミドルウェアは利用者による可用性対策が必要です。

    OSやアプリケーションの異常を検知し、稼働するノードを切り替えてサービスを継続する仕組みにHAクラスターがあります。HAクラスターを使ってAzureの可用性を高める方法については以下の動画も参考にしてみてください。

    動画アジェンダ

    – サービスの高可用性とは?
    – クラウド上で、本当に対策は必要なのか?
    – サービスの高可用性をAzureクラウド上で実現するには?
    – まとめ

    関連記事

    SNSでもご購読できます。