災害対策に!LifeKeeperを使ったAzureクロスリージョンHAクラスタについて

こんにちは。SCSKの津田です。
今回は、LifeKeeperによるAzureのリージョンを跨いだHAクラスター構成についてご紹介いたします。

はじめに

昨今の自然災害の増加に伴い、AWSやAzureといったパブリッククラウド環境では、リージョンを跨いだHAクラスター構成(クロスリージョン構成)のニーズが高まっています。

LifeKeeperでは、2023年頃よりAWSでのクロスリージョン構成のサポートが開始されました。
さらに、2025年1月からはAzureでもクロスリージョン構成に対応しています(LifeKeeper for Linux:v9.9.0以降、LifeKeeper for Windows:v8.10.2以降)。

今回はAzureのクロスリージョン環境上にLifeKeeperを構築し、簡単な動作確認を行ってみました。
本記事では、クロスリージョン構成における処理の流れや、LifeKeeper構築のためのAzure設定のポイントについてご紹介します。

▼AWSのクロスリージョン構成について気になる方はこちらもご参照ください▼

LifeKeeper × Azureクロスリージョン構成 について

LifeKeeper構築の観点で単一リージョン構成とクロスリージョン構成を比較すると、
Azureのロードバランサーによるヘルスチェックプローブを利用する点では同様になりますが、単一リージョン構成では内部ロードバランサーを利用するのに対し、Azure クロスリージョン構成は、グローバルロードバランサーを使用します。

▼単一リージョン構成については以下をご参照ください。▼

以下は、今回検証で構築した環境の構成図です。
(※Windows環境)

  

MEMO
●「東日本」、「東南アジア」リージョン間のHAクラスタを想定して構成。
● クライアントはパブリックIPアドレス(仮想IP)を使用してHAクラスタにアクセス。
●「東日本」、「東南アジア」リージョン間ロードバランサー(グローバルロードバランサー)を、その近辺の「東アジア」リージョ
   ンに配置し、そのバックエンドロードバランサーとして、「東日本」リージョン、「東南アジア」リージョンのそれぞれにパブリ
   ックロードバランサー
を作成。
   ※グローバルロードバランサーが配置されるリージョンは「ホームリージョン」、グローバルロードバランサーのバックエンド
      ロードバランサーが配置されるリージョンは「参加リージョン」といい、「ホームリージョン」については選択に制限がある
      ので注意が必要。 (https://learn.microsoft.com/ja-jp/azure/load-balancer/cross-region-overview)
   ※ホーム リージョンは、あくまでグローバル ロード バランサーのパブリック IP アドレスがデプロイされる場所であり、
      このリージョンがダウンしても、トラフィック フローは影響なし。
●LifeKeeper コミュニケーションパスとして必要な「東日本」、「東南アジア」リージョン間の通信には、VNet Peering を利用。

それではLifeKeeperを利用したAzure クロスリージョン構成での処理について、簡単に説明します。

まず、グローバルロードバランサーからパブリックロードバランサーを介してヘルスチェックが行われます。
単一リージョン構成での内部ロードバランサ―(ILB)同様、ヘルスチェックは「LB Health Check Kit」リソース(以下図『lbhc』)の機能でヘルスチェック用ポート(今回は26001)に対して行われます。

続いて、ヘルスチェックに応答した稼働系ノードに対して、グローバルロードバランサーから仮想IPにむけた通信が行われます。
LifeKeeperの仮想IPリソース作成時に、グローバルロードバランサーのPublic IPを登録することにより、HAクラスタの稼働系ノードでは、グローバルロードバランサーのPublic IPが仮想IPとして割り当てられています。
これによりクライアントから稼働系ノードへは、グローバルロードバランサーのPublic IP(=仮想IP)を利用して通信を行います。

※アクティブ・スタンバイが切り替わると、仮想IPリソースとLB Health Check Kitの両リソースが待機系ノードに切り替わるため、
ヘルスチェックは待機系ノードから応答があり、待機系ノードの仮想IPに向けて通信します。

環境構築・検証

環境構築流れ

構築については、以下の順序で作業を行いました。

作業順 作業内容 備考
仮想ネットワーク作成 東日本、東南アジアリージョンにそれぞれ作成
仮想マシン作成 東日本、東南アジアリージョンで1台ずつ作成
OS:Windows Server 2025 Datacenter
ピアリング設定 Azure Vnet Peering ( 東日本 ⇔ 東南アジア間 )
ロードバランサ―作成 パブリックロードバランサー:東日本、東南アジアリージョンで1つずつ作成
グローバルロードバランサー:東日本、東南アジアのリージョン間に1つ作成
OS設定 hosts設定、IISインストールなど
LifeKeeper・DataKeeperインストール Version 8.11.0
リソース作成 仮想IP、IIS、lbhcを作成

次に、③ピアリング設定、④ロードバランサー作成について設定例をご紹介していきます。

③④以外の作業につきましては、以下をご参照ください。
(※2025年10月時点リンク。基本的にAzure単一リージョンでのLifeKeeper構築と差異はありません。)
※リソースにつきましては、この構成特有のリソース作成方法はないため、各ARKのリソース作成手順をご参照ください。

Windows : https://docs.us.sios.com/sps/8.11.0/ja/topic/create-cluster-node-primay-and-standby
Linux : https://docs.us.sios.com/spslinux/9.9.1/ja/topic/microsoft-azure-quick-start-guide

クロスリージョン構成の設定ポイント

ここでは作業の中からクロスリージョン構成でポイントとなるピアリング設定、ロードバランサー作成について設定内容をご紹介します。
(Azureの設定項目は、継続的にアップデートされるため) 

ピアリング(Azure Vnet Peering)設定

仮想ネットワーク間のピアリング設定は、リージョンが異なるHAクラスターノード間の通信(LifeKeeperのコミュニケーションパス、レプリケーション)に必要となります。
設定はAzureコンソール上から、片方の仮想ネットワークからピアリングを作成することで、リモートの仮想ネットワークにも設定を反映します。以下の設定は、仮想ネットワーク「NW_JapanEast」から追加したピアリング設定です。

設定項目 設定値  備考
リモート仮想ネットワークの概要
ピアリング リンクの名前 GlobalPeering_JE_SA  
サブスクリプション (任意のサブスクリプションを選択)  
仮想ネットワーク NW_SoutheastAsia ※対向の仮想マシンに紐づく仮想ネットワークを選択
リモート仮想ネットワーク ピアリングの設定
有効(チェックを入れる)  
ローカル仮想ネットワークの概要
ピアリング リンクの名前 GlobalPeering_SA_JE  
ローカル仮想ネットワーク ピアリングの設定
NW_JapanEast’ に ピアリングされた仮想ネットワーク へのアクセスを許可する 有効(チェックを入れる)  

 

パブリックロードバランサ―作成

Azureコンソールから、LifeKeeperで保護するノードが配置される各リージョン(Japan East、Southeast Asia)でパブリックロードバランサーを構築します。

<Japan Eastのパブリックロードバランサ―>

設定項目 設定値  備考
プロジェクトの詳細
(任意のサブスクリプションを選択)  
(任意のを選択)  
インスタンスの詳細
LKLB-JE  
リージョン Japan East  
SKU Standard  
種類 パブリック ※パブリックを選択
レベル 地域 ※リージョンのロードバランサーであるため地域を選択
フロントエンド IP 構成の追加
名前 LKLB-JE-frontend  
IPv4  
IP の種類 IPアドレス  
パブリック IP アドレス    
Gateway Load Balancer なし  
パブリック IP アドレスの追加
名前  LKLB-JE-pip  
可用性ゾーン 1  
ルーティングの優先順位 Microsoft ネットワーク  
バックエンドプールの追加
名前 LKLB-JE-backend  
仮想ネットワーク NW_JapanEast  
バックエンド プールの構成 NIC  
バックエンド プールへの IP 構成の追加 LK01JE  
負荷分散規則の追加
LKLB-JE-rule  
IP バージョン IPv4  
フロントエンド IP アドレス LKLB-JE-frontend  
バックエンド プール LKLB-JE-backend  
プロトコル TCP  
ポート  80  
バックエンド ポート  8080  
正常性プローブ  JKLB-JE-probe  
セッション永続化 なし  
アイドル タイムアウト (分) 4 デフォルト値
TCP リセットの有効化 無効(チェックを入れる)  
フローティング IP の有効化 有効(チェックを入れる)  
(推奨)アウトバウンド規則を使用して、バックエンドプールのメンバーがインターネットにアクセスできるようにします。  
正常性プローブ設定
名前 JKLB-JE-probe  
プロトコル  TCP  
 ポート  26001  
 サイクル間隔(秒)  5 デフォルト値

※Japan Eastのパブリックロードバランサ―設定後、仮想マシン(LK01JE)のネットワークセキュリティグループで受信・送信セキュリティ規則を追加する。

設定項目 設定値  備考
ソース
Any  
ソース ポート範囲
*  
宛先
Any  
サービス
Custom  
8080  
プロトコル
TCP  
アクション
許可  
優先度
300  

 

<Southeast Asiaのパブリックロードバランサ―>

設定項目 設定値  備考
プロジェクトの詳細
(任意のサブスクリプションを選択)  
(任意のを選択)  
インスタンスの詳細
LKLB-SA  
リージョン Southeast Asia  
SKU Standard  
種類 パブリック ※パブリックを選択
レベル 地域 ※リージョンのロードバランサーであるため地域を選択
フロントエンド IP 構成の追加
名前 LKLB-SA-frontend  
IPv4  
IP の種類 IPアドレス  
パブリック IP アドレス LKLB-SA-pip  
Gateway Load Balancer なし  
パブリック IP アドレスの追加
名前 LKLB-SA-pip  
可用性ゾーン 1  
ルーティングの優先順位 Microsoft ネットワーク  
バックエンドプールの追加
名前 LKLB-SA-backend  
仮想ネットワーク NW_Southeast  
バックエンド プールの構成 NIC  
バックエンド プールへの IP 構成の追加 LK01JE  
負荷分散規則の追加
LKLB-SA-rule  
IP バージョン IPv4  
フロントエンド IP アドレス LKLB-SA-frontend  
バックエンド プール LKLB-SA-backend  
プロトコル TCP  
ポート  80  
バックエンド ポート  8080  
正常性プローブ  JKLB-SA-probe  
セッション永続化 なし  
アイドル タイムアウト (分) 4 デフォルト値
TCP リセットの有効化 無効(チェックを入れる)  
フローティング IP の有効化 有効(チェックを入れる)  
(推奨)アウトバウンド規則を使用して、バックエンドプールのメンバーがインターネットにアクセスできるようにします。  
正常性プローブ設定
名前 JKLB-SA-probe  
プロトコル  TCP  
 ポート  26001  
 サイクル間隔(秒)  5 デフォルト値

※Japan Eastのパブリックロードバランサ―設定後、仮想マシン(LK02SA)のネットワークセキュリティグループで受信・送信セキュリティ規則を追加する。

設定項目 設定値  備考
ソース
Any  
ソース ポート範囲
*  
宛先
Any  
サービス
Custom  
8080  
プロトコル
TCP  
アクション
許可  
優先度
300  

 

グローバルロードバランサ―

Azureコンソールから、LifeKeeperで保護するノードが配置されるリージョン間のグローバルロードバランサーを構築します。

設定項目 設定値  備考
プロジェクトの詳細
(任意のサブスクリプションを選択)  
(任意のを選択)  
インスタンスの詳細
LKLB-EA  
リージョン East Asia  
SKU Standard  
種類 パブリック ※パブリックを選択
レベル グローバル ※リージョン間のロードバランサーであるためグローバルを選択
フロントエンド IP 構成の追加
名前 LKLB-EA-frontend  
IPv4  
パブリック IP アドレス LKLB-EA-pip  
パブリック IP アドレスの追加
名前 LKLB-EA-pip  
可用性ゾーン 1  
ルーティングの優先順位 Microsoft ネットワーク  
バックエンドプールの追加
名前 LKLB-EA-backend  
ロードバランサ― LKLB-JE  
ロードバランサ― LKLB-SA  
負荷分散規則の追加
LKLB-EA-rule  
IP バージョン IPv4  
フロントエンド IP アドレス LKLB-EA-frontend  
バックエンド プール LKLB-EA-backend  
プロトコル TCP  
ポート 80  
セッション永続化 なし  
フローティング IP の有効化 有効(チェックを入れる)  

動作確認

単一リージョン構成での記事同様に、IISを利用して簡単な動作確認を行いました。

<事前準備>

  • クラスタ内各ノードのIISのドキュメントルートに、サーバ名を記載したテストページ(htmlファイル)を格納します。
    <LK01JE %SystemDrive%\inetpub\wwwroot\test_page.htm>
                

    <LK02SA %SystemDrive%\inetpub\wwwroot\test_page.htm>

<動作確認>

想定:クライアント端末から仮想IP(グローバルロードバランサ―のパブリックIP)にアクセスすると、アクティブ側ノードのテストページが返される。
  • LK01JE がアクティブのとき
    クライアント端末から仮想IP宛にIISのテストページにアクセスすると、想定通りLK01JEのテストページが表示されました。      

     

  • LK02SA がアクティブのとき
    クライアント端末から仮想IP宛にIISのテストページにアクセスすると、想定通りLK02SAのテストページが表示されました。
          

注意点

  • クロスリージョン構成では、DataKeeperによるデータレプリケーションも可能です。
    ご利用をご検討の際は、データベースに関連するサービスや制限事項についてサイオステクノロジー社へご確認いただくことを推奨いたします。
  • 2025年10月時点では、「JP1/AJS3 – Manager」および「JP1/AJS3 – Agent」のサービス保護はサポート対象外となっておりますのでご注意ください。
  • 今回は2ノード構成を例としておりますが、グローバルロードバランサーの機能を利用することで、3ノード以上への拡張も可能であり、LifeKeeperの観点でもサポート範囲となります。グローバルロードバランサーの制限事項にご留意ください。
    グローバル ロード バランサー - Azure Load Balancer
    Azure Load Balancer のグローバル ロード バランサー レベルの概要。
  • クロスリージョン構成では、費用、設計、パフォーマンス、運用等、多くの観点で十分な検討が必要となります。本構成は一例となりますので、参考情報としてご活用ください。また、具体的な構成案がありLifeKeeperをご検討される際は、事前にサイオステクノロジー社へのご確認を推奨いたします。

さいごに

今回は、LifeKeeperの観点からAzureにおけるクロスリージョン構成についてご紹介しました。

AWSと比較して、サイオステクノロジー社が発信しているドキュメントはまだ少なく、サポートされていないサービスも存在するなど、十分に展開されているとは言えない部分が見受けられます。しかし、今後は災害対策環境へのニーズの高まりに伴い、サポート範囲の拡充も期待できますので、引き続きその動向に注目していきたいと思います!

タイトルとURLをコピーしました