Azureのマネージドディスクのオプションである共有ディスクを有効にすることによって、1つのディスクから複数のVMに接続が可能になります。
また、Windowsの機能であるWindows Server Failover Clustering(以下WSFCと記載)と組み合わせることによって、片方のVMに障害が発生した場合でもダウンタイムなしでディスクに接続することが可能となります。
今回は、共有ディスクを利用したWSFCの構築方法を記載します。
用語説明
共有ディスクとは
共有ディスクとは、Azureマネージドディスクを複数のVM に同時に接続できるようにする機能です。
共有ディスクの詳細や制約は以下のURLをご参照ください。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/disks-shared
WSFCとは
WSFCとは、Windows Serverに搭載されている機能の1つで、複数のVMでWSFCを利用してクラスターを組むことによって高可用性を実現することが可能となります。
WSFCの前提条件は以下のURLをご参照ください。
前準備
前準備として以下のリソースを作成します。
- WSFC参加用のVM×2台
- 以降リソース名で記載します(testvm01、testvm02)
- 共有ディスク接続用のVM×1台
- 以降リソース名で記載します(testvm03)
- ドメイン参加用のVM×1台
- WSFCを利用しクラスター参加させるためにはドメイン参加が必須となるため、ドメインコントローラーを用意します
- Azure Load Balancer
- バックエンドにtestvm01とtestvm02を設定します
- ストレージアカウント
- WSFCのクォーラム用に作成します
- クォーラムについての説明は以下のURLをご参照ください
- マネージドディスク
- 共有ディスクを有効にし、testvm01とtestvm02に設定します
- 共有ディスクの設定方法については以下のURLをご参照ください
WSFC作成手順
- (testvm01、testvm02で実施)VMにRDP接続をして役割と機能より[Failover Clustering]にチェックを入れ、インストールを行います。
※インストール後、OSの再起動が必要です。

- (testvm01、testvm02で実施)再起動後、VMにRDP接続をしてドメイン参加を行います。
- (以降testvm01で実施)ドメイン参加後、フェールオーバークラスターマネージャーを開き、[フェールオーバークラスターマネージャー]を右クリックし、[クラスターの作成(C)…]をクリックします。

- サーバの選択でtestvm01、testvm02を選択します。

- クラスター名で任意の名前を入力し、クラスターを作成します。

- クラスター作成後、[<クラスター名>]を右クリックし、[他のアクション]を展開後、[クラスター クォーラム設定の構成(Q)…]をクリックします。

- [クォーラム監視を選択する(S)]を選択します。

- [クラウド監視を構成する(L)]を選択します。
- クラウド監視の構成で以下情報を入力し、クォーラムを作成します。
- Azure 記憶域アカウント名(A):<ストレージアカウント名>
- Azure 記憶域アカウント キー(K):<ストレージアカウントのアクセスキー>※
- Azure サービス エンドポイント(E):core.windows.net (デフォルト値)
※ストレージアカウントアクセスキーはAzureポータルにログインし、ストレージアカウントの[アクセス キー]-[key1]-[キー]をコピーして入手します。

- [<クラスター名>]をクリックし、[クラウド監視]が[オンライン]になっていることを確認します。

- [役割]を右クリックし、[空の役割の作成(E)]をクリックします。

- 作成した役割を右クリックし、[リソースの追加(A)]を展開し、[クライアント アクセス ポイント]をクリックします。

- クライアントアクセスポイント名を任意で入力し、クライアントアクセスポイントを作成します。

- 作成されたクライアントアクセスポイントを展開し、[IP アドレス: Cluster Network 1 のアドレス]を右クリックし、[プロパティ(R)]をクリックします。

- IP アドレスの[静的 IP アドレス(S)]にチェックを入れ、[アドレス(E):]にAzure Load BalancerのフロントエンドIPを入力します。

- 役割を右クリックし、[記憶域の追加(S)]をクリックします。

- 対象の共有ディスクにチェックを入れ、ディスクを追加します。

- [<クライアントアクセスポイント名>]を右クリックし、[オンラインにする(B)]をクリックします。

- (以降testvm03で実施)VMにRDP接続をしてエクスプローラーを開きます。
- エクスプローラーの検索欄に[\\<Azure Load BalancerのフロントエンドIP>\<共有ディスクのドライブ文字>$]を入力し、Enterを押下します。

- 共有ディスクにアクセスできることを確認します。

終わりに
今回は、共有ディスクを利用したWSFCの構築方法を記載しました。クラスター内の共有ディスクにAzure Load BalancerのフロントエンドIPでアクセスできることが確認できました。
また、今回は共有ディスクを例に構築方法を記載しましたが、今回の手順を応用してサービスやアプリケーションなどを役割に設定して高可用性を実現することも可能です。
Azure上でのWSFCの構築時に参考になれば幸いです。