可用性の向上

完了

Azure SQL Database と Azure SQL Managed Instance では、さまざまなサービス レベルにおいて、優れた可用性オプションが既定で用意されています。 データベースまたはインスタンスの可用性を向上させたり、変更したりするために、いくつかの追加の操作を実行できます。 サービス レベル アグリーメント (SLA) への影響を直接確認できます。 このユニットでは、Azure SQL のさまざまな可用性オプションについて詳しく説明します。

Availability Zones

Azure SQL Database の Business Critical レベルでは、(追加料金なしで) ゾーン冗長構成を選択できます (リージョンでそれがサポートされている場合)。 大まかに言えば、Business Critical のデータベースとマネージド インスタンスの背後で実行されている AlwaysOn 可用性グループ (AG) が、リージョン内の 3 つの Availability Zones にデプロイされます。 可用性ゾーンは、基本的に、特定のリージョン内の個別のデータセンターです。 Availability Zones の間は常に物理的に分離されています。 この機能により、リージョン内でデータセンターに発生する可能性のある致命的な障害から保護されます。

可用性ゾーンのアーキテクチャを示す図。

パフォーマンスの観点からは、ネットワーク待ち時間がわずかに増加することがあります。これは、ある程度離れているデータセンターの間に AG が分散されたためです。 このため、Availability Zones は既定では有効になっていません。 "マルチ AZ" または "シングル AZ" と一般的に呼ばれるデプロイのどちらかを選択して使用できます。 このオプションの構成は、PowerShell または Azure CLI のコマンドにパラメーターを追加するか、Azure portal 内でボックスをオンにするだけで、簡単に行うことができます。

Availability Zones は Azure SQL の比較的新しい機能であるため、現在は特定のリージョンとサービス レベルでのみ利用できます。 この機能は、やがてはさらに多くのリージョンでサポートされるようになる可能性が高く、より多くのサービス レベルでサポートされる可能性もあります。 たとえば、最近、Azure SQL Database の General Purpose レベルで、マルチ AZ デプロイのプレビューがリリースされました。

Azure SQL の SLA

Azure SQL では、サービス レベル アグリーメント (SLA) が維持されており、サービス レベルを達成して維持するというコミットメントに対して、金銭的な支援が提供されます。 SLA に記載されているとおりのサービス レベルが達成および維持されていない場合、お客様は月々のサービス料金の一部に対するクレジットを受けることができます。

現在、最高の可用性 (99.995%) は、Azure SQL Database の Business Critical のデプロイで Availability Zones が構成されている場合に実現できます。 Business Critical レベルは、RPO と RTO でそれぞれ 5 から 30 秒の SLA が提供される、業界内で唯一のオプションです。

  • RPO は、"目標復旧時点" を意味します。 最悪のシナリオで失われる可能性のあるデータの量を表します。
  • RTO は、"目標復旧時間" を意味します。 障害が発生した場合に、再度稼働状態になるまでにかかる時間を表します。

Azure SQL Database または Azure SQL Managed Instance の General Purpose またはシングルゾーンの Business Critical デプロイでは、SLA は 99.99% です。

Hyperscale レベルの SLA は、レプリカの数によって異なります。 Hyperscale では使用するレプリカの数を選択することに注意してください。 ない場合、フェールオーバーの動作は General Purpose に似たものになります。 レプリカがある場合、フェールオーバーの動作は Business Critical に似たものになります。 レプリカの数に基づく SLA は次のとおりです。

  • 0 レプリカ:99.5%
  • 1 レプリカ:99.9%
  • 2 つ以上のレプリカ:99.99%

geo レプリケーションと自動フェールオーバー グループ

サービス レベルを選択 (および該当する場合は Availability Zones を検討) した後は、読み取りスケールの取得や、別のリージョンにフェールオーバーする機能 (geo レプリケーションと自動フェールオーバー グループ) に関して、他のいくつかのオプションを検討できます。 オンプレミスの SQL Server では、これらのオプションのいずれかを構成することは、多くの計画、調整、時間を要するものです。

クラウドでは (特に Azure SQL の場合)、このプロセスがより簡単になっています。 geo レプリケーションと自動フェールオーバー グループのどちらも、Azure portal で数回クリックするか、PowerShell または Azure CLI でいくつかのコマンドを使用するだけで構成できます。

geo レプリケーションまたは自動フェールオーバー グループがシナリオに最適であるかどうかを判断するのに役立つ考慮事項がいくつかあります。

機能 geo レプリケーション フェールオーバー グループ
自動フェールオーバー いいえ はい
複数のデータベースを同時にフェールオーバーする いいえ はい
ユーザーがフェールオーバー後に接続文字列を更新する必要がある はい いいえ
SQL Managed Instance のサポート いいえ はい
プライマリと同じリージョンに存在できる はい いいえ
複数のレプリカ はい いいえ
読み取りスケールをサポートする はい はい