Japan
サイト内の現在位置を表示しています。
AzureでAzure Resource Managerを使用したHAクラスター環境の自動構築を試してみました(Windows/Linux)
CLUSTERPRO オフィシャルブログ ~クラブロ~
はじめに
クラウド環境における構築作業では、Webコンソール上で多数の画面や入力フォームを操作することでリソースを作成できますが、多くの場合は手作業が必要となるため、作業時間の増加や設定ミスが発生するといった問題があります。
その問題を解決するために、IaC(Infrastructure as Code)と呼ばれる、コードを用いてインフラストラクチャの管理やプロビジョニングを行う手法が活用されています。Microsoft Azure(以降、Azure)でも、Azure Resource Managerを使用することで、Azureリソースのプロビジョニング処理を自動化することができます。
今回はAzure Resource Managerを用いて、Azure上におけるHAクラスター構築を一部自動化してみました。
この記事の内容
1. Azure Resource Managerとは
Azure Resource Manager(以降、ARM)は、Azureのリソースをデプロイおよび管理するためのサービスです。ARMでは、ARM テンプレートをAzure portalやAzure CLIから実行するだけで、Azureリソースの構築ができるようになります。
テンプレートの作成やメンテナンスこそ必要ですが、手作業よりも素早くかつミスなく、様々な環境を自動で構築できるようになり、作業コストや作業ミスを抑えることができます。
ここでは、ARMを使用する際に登場する用語について、簡単に押さえていきます。
リソース
Azureを通じて管理できる要素。リソースの例として、仮想マシン、ストレージ アカウント、仮想ネットワーク等があります。
リソース グループ
リソース グループは、Azure ソリューションの関連するリソースを保持するコンテナーです。グループとして管理したいリソースをまとめることで管理対象を整理しやすくなり、操作を効率化できます。ARMで作成したAzureリソースは、リソース グループにまとめることができます。
ARM テンプレート
ARM テンプレートはJSON形式のテキストファイルです。ARMはテンプレートをAzureリソース作成時の設計図として使用します。テンプレートにAzureリソースの情報(リージョンやリソース種別など)を記述しておけば、ARMがテンプレートの記述内容に従ってAzureリソースを作成します。
2. 構築するHAクラスター構成
本記事では、東日本リージョンのAzure環境に「内部ロードバランサーを使用したHAクラスター」を構築します。HAクラスターの構成図は以下の通りです。
東日本リージョン(Japan East)

また、構成図に記載はありませんが、本記事では以下についても自動構築しています。
ネットワーク セキュリティ グループ
- -インターネットからリモートデスクトップでアクセスするための許可設定
- -仮想ネットワーク内とAzureロードバランサーからアクセスするための許可設定
- -仮想ネットワーク内とAzureロードバランサーからアクセスするための許可設定
なお、ネットワーク セキュリティ グループの設定については一例となりますので、適宜使用するアプリケーションや、セキュリティ要件などにしたがって修正してください。
3. ARMを使用した環境構築
ARMを使用して、上述した内部ロードバランサーを使用したHAクラスターを構築するまでの手順をご紹介します。
3.1 ARM テンプレートファイルの取得
今回は予め用意しているARM テンプレートを使用します。
以下のリンクより、ARM テンプレートをダウンロードします。zipファイルは展開しておきます。
※本テンプレートはサンプルであり、動作を保証するものではありません。
3.2 ARM テンプレートを使用したリソースのデプロイ
- 1.Azure Portalを開き、画面上部の検索ボックスから「カスタム テンプレートのデプロイ」を検索し、クリックします。
- 2.[カスタム デプロイ] - [テンプレートの選択]に遷移します。[エディターで独自のテンプレートを作成する]をクリックします。
- 3.[テンプレートの編集]に遷移します。[ファイルの読み込み]をクリックし、先程ダウンロードしたARM テンプレート(JSONファイル)を選択します。ARM テンプレートの読み込み完了後、[保存]をクリックします。
- 4.[カスタム デプロイ] - [基本]に遷移します。ここでは、サブスクリプションの選択や新規に作成するリソース グループの入力、リソース グループを管理するリージョンの選択を行います。またARM テンプレートに記述されている変数に値を設定します。各変数に必要な情報を設定の上、[次へ]もしくは[確認と作成]をクリックします。
本記事で使用するARM テンプレートに定義された変数の⼀覧は以下の表のとおりです。既定値欄にすでに入力されている値はそのまま使用しても問題ありません。空白の箇所については、環境に応じた値を設定してください。
変数名 | 説明 | 既定値 |
parAddressPrefix | Azure Virtual Networkのネットワーク部として設定する接頭辞(第2オクテットまで) 既定値を指定した場合の設定例) アドレス空間:10.5.0.0/24 サブネットアドレス範囲:10.5.0.0/24 clientのIPアドレス:10.5.0.100 server1のIPアドレス:10.5.0.120 server2のIPアドレス:10.5.0.121 内部LBのIPアドレス:10.5.0.200 |
10.5 |
parLocation | リソースを作成するリージョン名 | japaneast |
parClientVMSize | clientに設定する仮想マシンのサイズ | Standard_B2s |
parServerVMSize | server1、server2に設定する仮想マシンのサイズ | Standard_B2ms |
parClientOSVersion | clientに設定する仮想マシンのイメージ SKU | 2022-datacenter-g2 |
parServerOSVersion | server1、server2に設定する仮想マシンのイメージ SKU | Windowsの場合、2022-datacenter-g2 Linuxの場合、810-gen2 |
parAdminUserName | client、server1、server2へログインする際のユーザー名 | Windowsの場合、Admin001 Linuxの場合、clpuser |
parAdminUserPassword | client、server1、server2へログインする際のパスワード | PassWord_123 |
parAllowRDPAddress | clientにRDP接続するマシンのIPアドレス 例)10.0.0.10 |
- ※Linux OSのkernelバージョンにCLUSTERPROが対応していない等の理由で最新版のVMイメージを利用しない場合は、ARM テンプレート(JSONファイル)の"version"部分を直接編集ください。
- 5.[カスタム デプロイ] - [確認と作成]に遷移します。設定した情報を確認の上、[作成]をクリックします。
- 6.リソース グループの作成が開始されます。作成状況は以下のようにAzure portal上から確認できます。
- 7.ステータスが以下のように「デプロイが完了しました」になれば完了です。
3.3 HAクラスターの構築
clientにログインし、HAクラスターの構築と動作確認を行います。以降の手順につきましては、以下のガイドを参照してください。
- Windows > クラウド > Microsoft Azure > CLUSTERPRO X 5.2 向け HAクラスタ構築ガイド
→ 第 6 章 構築手順 (内部ロードバランサーを使用したHA クラスタの場合) - Linux > クラウド > Microsoft Azure > CLUSTERPRO X 5.2 向け HAクラスタ構築ガイド
→ 第 6 章 構築手順 (内部ロードバランサーを使用したHA クラスタの場合)
Azure上で、Windows Serverの仮想マシン(VM)を利用する場合、言語が英語になっています。英語版のWindows ServerにCLUSTERPROをインストールする場合の注意ポイントや、英語版のWindows Serverを日本語化する場合の手順については「クラウド環境で英語版のWindows ServerにCLUSTERPROをインストールするときの注意ポイント」の記事を参照ください。

※ | こちらの記事はオンプレミス環境での利用例になりますので、クラスタ構成情報ファイルをAzure環境で利用できるように変更する必要があります。 |
※ | CLUSTERPROではCLUSTERPRO開発部門のエンジニアがお客様の代わりにクラスタ構成情報ファイルの作成を行う「![]() |
4. リソース グループ作成後の操作について
ARMを使用して本記事で作成したリソース グループに対して何らかのリソースの操作(追加・更新・削除)を行いたい場合、Azure portal等から直接リソースを操作することもできますが、ARM テンプレートを修正して再デプロイを行うことを推奨します。
また、「3.2 ARM テンプレートを使用したリソースのデプロイ」で指定したリソース グループを削除することで、まとめて削除することができます。ARMを使用して作成した構成から何か変更が発生している場合でも、ARMはリソースを削除する順序に従ってリソース グループを削除しますが、削除要求に失敗する場合、必要なアクセス権がないか、リソースまたはリソース グループがロックされていることが原因の可能性がありますので、削除失敗時に表示されるエラーメッセージを確認してください。
まとめ
今回は、ARMでHAクラスター環境の構築を一部自動化してみました。今回自動化したのは、Azureリソースの作成部分のみでしたが、従来の手作業による作成と比べて、短時間で自動構築できました。ARM テンプレートの作成やメンテナンスこそ必要ですが、手作業で生じる手間やミスを軽減できる点は魅力的だと思います。ぜひご活用ください。

お問い合わせ

- ※本記事で紹介しているテンプレートの内容についてのお問い合わせ、および、お客様環境に合わせたカスタマイズにつきましてはCLUSTERPRO導入支援サービスにて承っておりますので、上記窓口の"ご購入前のお問い合わせ"フォームまでお問い合わせください。