Azure SLA と複合 SLA
Azure サービスの SLA を読み、複数サービスのアーキテクチャにおける複合 SLA を計算し、冗長性の追加によって全体の SLA が上昇または低下する仕組みを理解します。
「Azure SLA と複合 SLA」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
SLA とは
Service Level Agreement (SLA)とは、各 Azure サービスの最小稼働時間と接続性を保証する、Microsoft の正式なコミットメントです。SLA は割合で表されます。たとえば、99.9%とは、ある月にサービスが少なくとも 99.9% の時間利用可能であることを意味します。Microsoft が SLA を満たせなかった場合、顧客は補償としてサービス クレジットを受け取る資格があります。
Azure SLA ドキュメントの読み方
各 Azure サービスには、azure.microsoft.com/en-us/support/legal/sla/で公開されている独自の SLA ドキュメントがあります。SLA を読むときは、稼働率、その稼働率を達成するために必要な条件(2 つ以上のインスタンスにデプロイするなど)、そしてパフォーマンスが基準を下回ったレベルごとに受け取れるクレジット額を示すクレジット表に注目してください。
# Common Azure SLA percentages:
# Azure Virtual Machines (single instance, Premium SSD): 99.9%
# Azure Virtual Machines (two instances, different AZs): 99.99%
# Azure SQL Database (Business Critical): 99.99%
# Azure Blob Storage (RA-GRS): 99.99%
# Azure App Service: 99.95%SLA の割合からダウンタイムを計算する
SLA の割合は、1 か月あたりに許容されるダウンタイムに換算できます。
- 99.9% = 1 か月あたり最大 43.8 分のダウンタイム
- 99.95% = 1 か月あたり最大 21.9 分
- 99.99% = 1 か月あたり最大 4.38 分
- 99.999% = 1 か月あたり最大 26 秒
これらの数値を理解すると、サービスの SLA がビジネス継続性の要件を満たすかどうかを評価しやすくなります。
複合 SLA とは
アプリケーションがそれぞれ独自の SLA を持つ複数の Azure サービスに依存している場合、全体の可用性は個々の SLA をすべて掛け合わせた値になります。これを複合 SLAと呼びます。いずれか 1 つのサービスが利用できなくなるとアプリケーションも利用できなくなるため、複合 SLA は常に、連鎖する個々の SLA のうち最も低い値を下回ります。
# Composite SLA formula for services in series:
# Composite SLA = SLA_service1 * SLA_service2 * SLA_serviceN
# Example: Web App (99.95%) + Azure SQL Database (99.99%)
# Composite SLA = 0.9995 * 0.9999 = 0.9994 = 99.94%複合 SLA の例:3 つのサービス
Azure App Service (99.95%)、Azure SQL Database (99.99%)、Azure Cache for Redis (99.9%) を使用するアプリケーションを考えます。複合 SLA は次のようになります。0.9995 × 0.9999 × 0.999 = 0.9984 = 99.84%。つまり、各サービス単体の SLA が高くても、アプリケーションは1 か月あたり最大 2.4 時間利用できなくなる可能性があります。連鎖にサービスを追加するほど、このリスクは高まります。
# Composite SLA calculation:
# App Service: 0.9995
# Azure SQL: 0.9999
# Redis Cache: 0.9990
# Composite: 0.9995 * 0.9999 * 0.9990 = 0.9984 (99.84%)
# Allowed downtime at 99.84%:
# 0.0016 * 43800 minutes/month = ~70 minutes/month冗長化による SLA の向上
冗長化を追加すると、複合 SLA を向上させることができます。つまり、サービスのインスタンスを並列で実行し、一方が障害を起こしてももう一方が処理を継続できるようにします。サービスを並列に配置する場合、計算式が変わります。合算した利用不能率は、各サービスの利用不能率を掛け合わせた値になります。たとえば、99.95% の App Service インスタンス 2 つを並列に配置すると、次のようになります。1 - (0.0005 × 0.0005) = 99.9997%。
# Parallel SLA formula (higher availability):
# Combined unavailability = unavailability_A * unavailability_B
# Combined availability = 1 - (combined unavailability)
# Two App Service instances at 99.95% each:
# Combined unavailability = 0.0005 * 0.0005 = 0.00000025
# Combined availability = 1 - 0.00000025 = 99.99997%Free レベルと SLA がないサービス
Azure サービスの中には、無料または共有レベルで使用するとSLA がないものがあります。たとえば、Free (F1) または Shared (D1) レベルの Azure App Service には稼働時間の保証がありません。開発やテストでは問題ありませんが、本番ワークロードで SLA の対象となるには有料レベルを使用する必要があります。本番リソースをデプロイする前に、必ず SLA の条件を確認してください。
SLA と単一インスタンス VM
Azure Virtual Machines の SLA は構成によって異なります。Premium SSD を使用する単一インスタンス VMの SLA は 99.9% です。同じ VM を可用性セットに配置すると 99.95% になります。2 台の VM を可用性ゾーンにまたがって配置すると 99.99% に達します。これは、アーキテクチャの選択が、保証できる SLA と自社の顧客に約束できる SLA に直接影響することを示しています。
サービス クレジットと補償
Microsoft が SLA を満たせなかった場合、顧客はサービス クレジットを請求できます。これは、今後の請求額に適用される割合割引です。違反の重大度が高いほどクレジット額も増えます。通常、稼働率が 99.0% 以上 99.9% 未満の場合は 10%、99.0% 未満の場合は 25%、場合によっては 100% のクレジットが適用されます。サービス クレジットが唯一の救済措置であり、Microsoft が SLA 違反に対して現金で補償することはありません。
SLA と独自の RTO/RPO 目標
Microsoft の SLA はサービスの可用性に関する保証であり、アプリケーション固有の Recovery Time Objective (RTO) や Recovery Point Objective (RPO) に関する保証ではありません。サービスが SLA を満たしていても、独自のビジネス継続性目標を達成するには、マルチリージョン フェールオーバーや定期的なバックアップなど、追加のアーキテクチャ パターンが必要になる場合があります。SLA は下限であり、上限ではありません。
SLA 準拠の監視
Azure MonitorとAzure Service Healthを使用して、サービスが SLA を満たしているか追跡します。Azure Service Health は、サービスの停止、計画メンテナンス、リソースに影響する可能性がある正常性に関するアドバイザリの通知を提供します。リージョン内の Azure サービスに問題が発生したときにすぐ通知を受け取れるよう、正常性アラートを設定してください。
# Create a Service Health alert:
az monitor activity-log alert create \
--name 'ServiceHealthAlert' \
--resource-group myRG \
--condition category=ServiceHealth \
--action-group myActionGroup理解度チェック
このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、SLAは Microsoft が提供する、割合で表された正式な稼働時間の保証であること、直列に接続されたサービスの複合 SLAは個々の SLA をすべて掛け合わせて計算すること、そして並列構成の冗長化によって複合 SLA を大幅に向上できることを学びました。次は、可用性セットと可用性ゾーンについて学び、VM ワークロードで高い SLA を実現する方法を理解します。
よくある質問
「Azure SLA と複合 SLA」レッスンは無料ですか?
はい。「Azure SLA と複合 SLA」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Azure SLA と複合 SLA」で何を学びますか?
Azure サービスの SLA を読み、複数サービスのアーキテクチャにおける複合 SLA を計算し、冗長性の追加によって全体の SLA が上昇または低下する仕組みを理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Azure SLA と複合 SLA」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Azure SLA と複合 SLA
- 可用性セットと可用性ゾーン
- マルチリージョンのアクティブ/アクティブ アーキテクチャ
- 正常性プローブとグレースフルデグラデーション