AzureのSLAと、可用性を高める方法とは?

    Azure上でシステムを安定的に稼働するためには、各サービスのSLAを確認する必要があります。
    そこでこの記事では

    「SLAの言葉の意味を知りたい」
    「Azureの各サービスのSLAが知りたい」
    「ダウンタイムの計算方法が知りたい」

    こういった方のために、Azureの主要サービスのSLAやダウンタイムの計算方法、さらにAzure VMの可用性を高める方法についてご紹介します。

    SLAとは

    SLAとは、サービスレベルアグリーメントの略で、サービス提供者がサービス利用者に補償するサービスレベル(内容、品質水準など)を定義したものです。

    サービスレベルを下回った場合は、月間サービス料金の一部についてクレジットの適用(返金)を受けることができます。

    画像出典:Microsoft「サービスレベルアグリーメント」

    Azureの主要サービスのSLA

    主要なAzureサービスのSLAは以下の通りです。各サービスにはそれぞれSLAが適用される条件が決まっていますので、自分の利用するサービスについては必ず公式サイトで確認してください。

    サービス名SLA補足
    仮想マシン99.99%同一リージョン内の2つ以上の可用性ゾーンにデプロイされた場合同じ可用性セットにデプロイした2つ以上の仮想マシンの場合は99.95%
    BLOBストレージ99.9%
    Managed Disksなしストレージおよび仮想マシンのSLAに基づく。
    Azure Active Directory99.99%

    ※上記はサービスクレジット10%適用の場合のSLA(2021年12月時点)

    単一インスタンスの仮想マシンのSLA

    仮想マシンのSLAは99.99%とありますが、補足に記載の通りこれは「同一リージョン内の2つ以上の可用性ゾーンにデプロイされた場合」の割合です。

    図で表すとこのような構成の場合です。

    <仮想マシンを2つの可用性ゾーンにデプロイした場合の構成図>

    しかし、インスタンスを同じ可用性セットにデプロイした場合や、そもそも冗長化せず単一のインスタンスでシステムを稼働している場合はSLAが下がってしまいます。

    可用性セット、ゾーンについては下記の記事をご覧ください。

    それでは、単一インスタンスの仮想マシンの場合のSLAを確認してみましょう。仮想マシン1台の場合のSLAはディスクタイプにより異なり、95%~99.9%に設定されています。なお各ディスクの違いはこちらから確認できます。

    お客様による単一インスタンス仮想マシンの使用には、サービス レベルおよびサービス クレジットがディスク タイプ別に適用されます。複数のディスク タイプを使用する単一インスタンス仮想マシンについては、仮想マシン上のすべてのディスクの中で最小限の SLA が適用されます。
    出典:仮想マシンのSLA

    仮想マシンの配置の違いによるSLA

    • 仮想マシン1台のみ 95~99.9%
    • 同一可用性セットに2台配置 99.95%
    • 同一リージョン内の2つ以上の可用性ゾーンに配置 99.99%

    ダウンタイムの計算方法

    稼働率は以下計算式から算出できます。

    月間稼働率 (%) = (最大利用時間 (分) – ダウンタイム) ÷最大利用時間 (分) x 100

    仮想マシンの配置の違いでダウンタイムにどれくらい差が出るのかを見てみます。

    仮想マシンの配置SLAダウンタイム
    1台のみ95%~99.9%36時間/月(2160分/月)~0.7時間/月(43.2分/月)
    同一可用性セットに2台配置99.95%0.4時間/月(21.6分/月)
    同一リージョン内の2つ以上の可用性ゾーンに配置99.99%0.1.時間/月(4.3分/月)

    24時間30日間稼働する場合

    可用性を高める方法

    1台のみのAzure VMのSLAはもっとも低い場合99.5%で、ダウンタイムが月に約36時間以内であれば返金がされません。短時間の停止がビジネス損失につながる、オンライン決済やECサイトのようなシステムの場合、返金されるかに関わらず36時間の停止は許容できないのではないでしょうか。

    可用性を高めるためには高い稼働率が保証されたディスクタイプを選び、2つ以上の可用性ゾーンに仮想マシンを配置すると良いでしょう。また、Azure VMが稼働していてもOSやアプリケーションが停止してしまっては意味がありません。システムを止めないためにはこれらの可用性についても考えておく必要があります。

    Azure VM上のシステムの可用性を高める方法として、HAクラスターによる冗長化があります。AzureはWindows系のシステムをAzure上で動かすケースも多いため、Windows Serverのクラスタリング機能であるWindows Server Failover Clustering(WSFC)の利用を検討する方も多いでしょう。仮想マシンを2つの可用性ゾーンに配置し、稼働系の仮想マシンに異常が発生するとWSFCがそれを自動で検知して待機系の仮想マシンに自動で切り替えます。

    複数の可用性ゾーンに同じ設定の仮想マシンをデプロイするだけでは可用性は不十分です。一方のゾーンに障害が発生した際、その障害を検知し別のゾーンに配置しておいた仮想マシンでシステムを稼働させる命令を出さなければいけません。このような場合にWSFCを使うと、障害発生を自動検知し、自動で切り替えをしてくれるのでSLAの99.99%に近い運用を実現できるのです。

    出典:Azure上でのHAクラスターの構築パターンとその特徴

    まとめ

    • SLAとはサービス提供者がサービス利用者に補償するサービスレベル(内容、品質水準など)を定義したもの
    • SLAはサービスごと、あるいは条件によって細かく設定されている
    • Azure仮想マシンはディスクタイプや配置方法によってSLAが異なる
    • 複数のゾーンに配置した仮想マシンを障害発生時にフェイルオーバーさせるのがHAクラスター

    「サービスの高可用性をAzureクラウド上で実現する方法」資料ダウンロード

    Azureの可用性セット・可用性ゾーンといった高可用性サービスの解説資料です。

    目次

                    • サービスの高可用性って何?
                    • Azureってそもそも可用性高いですよね?
                    • Azureって、障害が発生すれば復旧してくれますよね?
                    • Azureって、高い可用性を実現できる機能ありますよね?
                    • Azureって、サービスの高可用性はどうすれば実現できる?
                    • サイオステクノロジーが提供する価値
                    • まとめ

    関連記事

    SNSでもご購読できます。