it

可用性セットの概要は?仮想化環境での活用方法も(仮想マシン・クラスタ・負荷分散・障害切り替え)

当サイトでは記事内に広告を含みます

クラウドコンピューティング、特にMicrosoft Azureを使ったシステム構築において「可用性セット」という概念は非常に重要です。

可用性セットを正しく理解し活用することで、Azureの仮想マシン環境における高可用性を効率的に実現できます。

本記事では、可用性セットの概念・仕組み・Azureでの設定方法・活用する際のポイント・可用性ゾーンとの違いについて詳しく解説していきます。

Azureを活用したインフラ設計を担当するエンジニア・クラウドアーキテクトの方に特に役立つ内容をお届けします。

可用性セットとは何か?基本的な概念と仕組み

それではまず、可用性セットの基本的な概念と仕組みについて解説していきます。

可用性セット(Availability Set)とは、Microsoft Azureにおいて複数の仮想マシン(VM)を物理的に異なるサーバーラックや電源系統に分散配置することで、単一障害点をなくして高可用性を実現するための機能です。

障害ドメインとアップグレードドメインの概念

可用性セットの核心となる概念が「障害ドメイン(Fault Domain)」と「アップグレードドメイン(Update Domain)」です。

障害ドメイン(FD):共通の電源・ネットワークスイッチを持つ物理サーバーグループ。障害ドメインが異なる場所に仮想マシンを配置することで、ラック単位の電源障害やネットワーク障害が他のVMに影響しないようにする。

アップグレードドメイン(UD):Azureがプラットフォームの更新・メンテナンスを行う際に同時に再起動されるVMのグループ。異なるUDに配置されたVMは同時に再起動されないため、メンテナンス中もサービスを継続できる。

可用性セットはデフォルトで最大3つの障害ドメインと20のアップグレードドメインを使って仮想マシンを分散配置する仕組みを提供します

可用性セットが保護するシナリオ

可用性セットによって保護される主なシナリオは以下の通りです。

ハードウェア障害(特定のサーバーラックやネットワーク機器の故障)・Azureプラットフォームのメンテナンス(定期的な更新による再起動)・電源障害(特定の電源系統の停止)などが可用性セットで保護される主な障害パターンです。

一方で、可用性セットはあくまで同一データセンター内での分散であるため、データセンター全体の障害(大規模自然災害など)には対応できない点に注意が必要です。

可用性セットのSLA

Azureでは可用性セットを使って2台以上のVMを配置した場合、Azureが99.95%以上の接続性SLAを保証しています。

単一VMのSLAは使用するストレージの種類によって異なりますが、可用性セットを活用することでシステム全体の可用性を効果的に向上させることができるでしょう。

可用性セットの設定方法と仮想化環境での活用

続いては、可用性セットの設定方法と仮想化環境での具体的な活用方法を確認していきます。

可用性セットはVM作成時に設定する必要があり、既存のVMに後から追加することはできないため注意が必要です。

可用性セットの作成と設定手順

Azureポータルでの可用性セットの設定手順は以下の通りです。

手順1:Azureポータルにログインし「可用性セット」リソースを新規作成する

手順2:障害ドメイン数(1〜3)とアップグレードドメイン数(1〜20)を指定する

手順3:管理ディスクを使用するかどうかを選択する

手順4:仮想マシン作成時に「可用性セット」オプションで作成した可用性セットを選択する

手順5:同様の手順で2台目以降のVMも同じ可用性セットに追加する

可用性セットにはVM作成時にのみ参加できるため、システム設計の段階から可用性セットを考慮したVM構成を計画しておくことが非常に重要です。

Webサーバー・DBサーバーへの可用性セット適用例

典型的なWebアプリケーションの高可用性設計における可用性セットの適用例を見てみましょう。

Webサーバー層のVMを「Webサーバー可用性セット」に配置し、データベース層のVMを「DBサーバー可用性セット」に配置します。

各層のVMがAzureロードバランサーと組み合わせることで、特定のVMが障害を起こしても残りのVMでサービスを継続できる高可用性アーキテクチャが実現されます。

可用性セットとロードバランサーの組み合わせ

可用性セットを最大限に活用するためには、Azureロードバランサー(またはAzure Application Gateway)との組み合わせが不可欠です。

ロードバランサーはトラフィックを可用性セット内の複数のVMに分散し、ヘルスチェックによって障害VMへのトラフィックを自動的に切り離す機能を提供します。

可用性セットとロードバランサーを組み合わせることで、自動的なフェイルオーバーと負荷分散の両方を実現できるでしょう。

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

続いては、可用性セットと可用性ゾーンの違いと使い分けを確認していきます。

Azureには可用性セットに加えて「可用性ゾーン(Availability Zones)」という高可用性機能もあり、両者の違いを理解した上で適切に選択することが重要です。

可用性ゾーンとは何か

可用性ゾーンとは、Azure リージョン内の物理的に分離されたデータセンターの場所を指し、それぞれが独立した電源・冷却・ネットワークを持ちます。

可用性ゾーンにVMを分散配置することで、データセンター単位の障害(特定の建物への電力供給停止・冷却装置故障など)からシステムを保護できます。

可用性ゾーンはデータセンター単位の障害に対応できる点で可用性セットよりも高い耐障害性を持ち、Azureでは可用性ゾーンを使った場合に99.99%の接続性SLAが保証されます

可用性セットと可用性ゾーンの使い分け

可用性セットは同一データセンター内での冗長化であり、ラック単位の障害・メンテナンス時の影響回避に適しています。

可用性ゾーンはデータセンター単位での冗長化であり、より高いSLAが求められるクリティカルなシステムに適しています。

費用対効果と可用性要件のバランスを考慮した上で、適切な方式を選択することが現実的なクラウド設計の判断となるでしょう。

まとめ

本記事では、可用性セットの概念・仕組み・設定方法・可用性ゾーンとの違いについて解説してきました。

可用性セットはAzureにおいて障害ドメインとアップグレードドメインを使ってVMを物理的に分散配置し、ラック単位の障害やメンテナンスによるサービス停止を防ぐための重要な機能です。

VM作成後に変更できない設計上の制約があるため、システム設計の段階から可用性セットの活用を前提としたVM構成を計画し、ロードバランサーと組み合わせて高可用性アーキテクチャを構築することが重要となります。

Azureを使ったシステム設計において、可用性セットを積極的に活用して高可用性を実現していきましょう。