
Azure の障害 / 更新ドメインの概念を理解するのに苦労しています。助けていただければ幸いです。同じ可用性セットの下に、それぞれ 2 つの障害ドメインと 2 つの更新ドメインを持つ 2 つの VM をプロビジョニングしました。
Fault Domain Update Domain
server_iis1 0 0
server_iis2 1 1
私が知っている限り、障害ドメインは実際にはラックですが、次の点が私を混乱させます。
障害ドメイン 0 が完全に失われた場合、server_iis1 は失われますか? ラック障害 (障害ドメイン 0) が発生した場合に 99.95% の SLA を提供する、稼働している必要がある server_iis1 の 2 番目のインスタンスはどこにありますか?
同様に、 server_iis2 の場合、障害ドメイン 1 が失われた場合、 server_iis2 はどのようにして稼働するのでしょうか?
Server_iis1 と Server_iis2 は、提供するデータと顧客が異なる 2 つの異なる VM です。
答え1
障害ドメインは、予期しないハードウェア障害が発生した場合にワークロード (VM 上で実行されているアプリケーション) を保護するように設計されています。上記の例では、iis1 と iis2 は、同じ物理データセンター (可用性ゾーン) で実行されている 2 つの別々の VM ですが、異なる障害ドメインにあります。つまり、何らかの理由で VM のサポート インフラストラクチャの物理コンポーネント (ラック電源、スイッチ、物理ホストなど) に障害が発生した場合、他の iis VM は同じデータセンター内の別のハードウェア クラスター (障害ドメイン) にあるため、稼働したままになります。
多くの人にとって明確でないのは、アプリケーションが両方のマシンで同時に実行できるほどスマートでなければならないということです。iis1 に 1 つのアプリ (非常に基本的な例として Excel があります (冗談で言ってください)) があり、iis2 に別のアプリ (PowerPoint) がある場合、iis1 がダウンすると、VM が別のホストにフェールオーバーするまでアプリ (Excel) にアクセスできなくなります。フェールオーバーには数分かかる場合があります。iis2 の場合はその逆で、iis2 がダウンすると (PowerPoint) も利用できなくなります。障害ドメインを本当に機能させるには、Excel と PowerPoint が iis1 と iis2 の両方で実行されている必要があります。そうすれば、1 つの VM に障害が発生しても、もう 1 つの VM が引き続きアプリケーションを処理できます。もちろん、アプリケーションは障害/フェールオーバーを処理できるほどスマートでなければなりません。
障害ドメインは、インフラストラクチャ内の予期しない予測不可能な障害から保護します。
更新ドメインは、メンテナンス ウィンドウ (顧客または Microsoft が開始) 中にすべてのマシンが一度に再起動/更新されないように設計されています。
たとえば、5 台のフロントエンド Web サーバーが 5 台のバックエンド サーバーに接続されている場合、5 台のフロントエンド サーバーを同じ更新ドメインに配置して、同時に再起動されることがないようにし、常に Web トラフィックを処理できるようにします。これは、バックエンド サーバーにも当てはまります。それらを更新ドメインにまとめて配置して、同時に再起動されることがないようにする必要があります。こうすることで、メンテナンス期間中にサーバーのパフォーマンスが低下しても、サーバーを実行し続けることができます。
可用性セットは99.95%のSLAを提供します。可用性ゾーンは99.99%のSLAを提供します。
VM をアベイラビリティ ゾーンにデプロイすると、VM が別の物理データセンター (ゾーン) に複製されます。このフェイルオーバーは、何か問題が発生した場合に顧客が何もしなくても自動的に実行されます。
可用性セットは、VM コストだけでなく、ゾーン間のデータ複製に関連するコストも発生するため、可用性ゾーンの展開コストは高くなりますが、コストはわずか数セントです。
お役に立てれば幸いです