HULFTをAzureでも安心して使うには?
~業務を止めない仕組みを解説~
HULFTを使用した高可用ファイル連携システムをAzureで実現する手順を解説した記事です。
クラウドリフトの際、オンプレミスにはないAZやAzure Blob Storageといったクラウドの要素を考慮して、可用性を担保した環境を実現するにはどうすればよいかお悩みの方向けに、構築のポイントをまとめました。
- HULFTのサービスレベルを落とさない構成をどう構築する?(「AZ障害」でも業務を止めないHAクラスタ環境の設定)
- クラウドで大容量のファイルを効率的に格納するには?(HULFT Cloud Storage Optionを使って Azure Blob Storage を活用する設定)
1. クラウドでもHULFTを止めない仕組みの検討が必要
各社の基幹システムや金融機関の情報系システムなど、ミッションクリティカルなシステムを支えるインフラであるHULFTは、Microsoft Azure(以降、Azureと記す)へのリフト後も同じ可用性、信頼性が求められます。さらにクラウドサービスと連携したい要件がある場合は、HULFT Cloud Storage Optionを利用して簡単に Azure Blob Storageにデータを格納できることから、クラウドサービスを使ったシステム連携の役割も新たに担うことができるHULFTの重要性はますます高まっています。ところが、HULFTをクラウドでも止めずに運用するためには、クラウドのインフラを活用するだけでは不足(注1)があり、利用者自身による作りこみが必要です。
注1:クラウドのインフラ活用だけでは足りない理由は、下記の特集記事にて詳しく解説していますので併せてご覧ください。
2.では、HAクラスタソフトウェアである「FUJITSU Software PRIMECLUSTER(以降、PRIMECLUSTERと記す)」を使用して、HULFT(OSはRed Hat Linux Enterprise)の高可用構成をAzureに構築する際のポイントと設定、3.ではHULFT Cloud Storage Optionを使用して、Azure Blob Storage のデータをオンプレミスと連携する設定を説明します。文中に示しているPRIMECLUSTERおよびHULFTのマニュアルは下記リンク先のページに掲載されているので併せてご覧ください。
2. AzureでPRIMECLUSTERを使用してHAクラスタ構成のHULFTサーバーを構築する
ここでは、Azureで可用性を担保するため、PRIMECLUSTERを使用してHULFTサーバーを構築する際の具体的な構築ポイントと、AzureおよびHULFTの設定内容を説明します。 PRIMECLUSTERについて詳しく知りたい場合は、「5. 製品情報」に記載されたリンクから製品紹介ページを参照してください。
2.1 必要な構成と構築のポイント
PRIMECLUSTERは、パブリッククラウド上のクラスタシステムにおけるネットワークの引き継ぎのために、内部ロードバランサーによるネットワーク引継ぎ方式を提供しています。
内部ロードバランサーによるネットワーク引継ぎ方式は、プローブ先ポートを制御することでネットワークの引き継ぎを実現します。クラスタノードの異常発生時には、PRIMECLUSTERが待機系のポートをオープンすることでIPを引き継ぎます。
HULFTがオンプレミスとの通信を行う際は、この引継ぎIPアドレスを内部ロードバランサーのフロントエンドにあらかじめ登録しておき、同じ引継ぎIPアドレスを使用して通信を行います。
2.2以降で、Azureのネットワーク関連の設定と、HULFTをHAクラスタ構成で運用するための設定について説明します。
その他、今回の構成では、PRIMECLUSTERが管理クライアントとの接続性確保のためのアーキテクチャーパターンとして「クライアント用仮想マシンによる接続性確保」を使用した構成とします。各アーキテクチャーパターンの詳細は、「PRIMECLUSTER導入運用手引書 <Cloud Services 編>」をご覧ください。
本構成は、PRIMECLUSTERを使用してHULFTを冗長化する場合の一例です。システム設計時には、要件に合わせて運用に最適な構成を決定してください。
また、Azureのサービスとして、運用待機間でのデータ引継ぎとして使用するAzure共有ディスクが必要です。HULFT Cloud Storage Optionを使用したい場合は Azure Blob Storageも必要です。
2.2 VNetの設定
Azure可用性ゾーンでのクラスタシステム、およびネットワーク設定を説明します。
- システムを配備するVNetを用意し、VNetにCIDRを割り当てます。
- VNet内に管理LAN、業務LAN、クラスタインタコネクトおよびデータ同期用ネットワークのサブネットを作成します。
-
Virtual Network Gatewayを作成して、VNetとの接続設定をします。
-
クラスタ内部の通信を許可するために必要なセキュリティグループのルールを設定します。
図2:VNetおよびサブネット構成図の一例
2.3 ネットワーク引継ぎの設定
PRIMECLUSTERのネットワーク引継ぎの設定を行った後、HULFT通信用にオンプレミスのHULFT環境からPRIMECLUSTERクラスタノードの業務サブネットへのルーティング設定を行う必要があります。また、オンプレミスからクラスタノード、クラスタノードからオンプレミスの通信時にホスト名で名前解決できるよう、/etc/hostsやDNSなどにそれぞれ相手側のホスト名とIPアドレスを設定してください。
詳細は、「PRIMECLUSTER導入運用手引書 <Cloud Services 編>」をご覧ください。
2.4 HULFTのインストール
最初に運用系インスタンス(共有ディスクをマウント済みの環境)、次に待機系インスタンスの順にHULFTをインストールします。詳細は「HULFT8 UNIX/Linux 導入マニュアル」にある下記の章を参照してください。
-
2.対話型インストール
- 2.3 カスタムインストール
-
運用系インスタンスでは、「クラスタ環境(運用系ノード)」を選択します。環境に応じて、パスや使用言語、転送コードセットなどを選択します。pidファイル作成パス(piddir)には運用系ノードのローカルディスクを指定します。自ホスト名は引き継ぎIPに対応するホスト名(「2.3 ネットワーク引継ぎの設定」で設定したホスト名)を設定します。
-
インストール内容を確認して、インストールを実行します。実行結果の詳細はカレントディレクトリーに「install.log」というファイル名で保存されます。
- 待機系インスタンスでは、「クラスタ環境(待機系ノード)」を選択し、インストールします。pidファイル作成パス(piddir)には待機系ノードのローカルディスクを指定します(運用系インスタンスで設定済みの自ホスト名設定は不要です)。
2.5 HULFTのシステム設定
-
環境変数を設定します。下記はbashにおける例です。使用しているShellに合わせて設定してください。
-
HULFTのシステム動作環境を設定します。運用系インスタンスのシステム動作環境設定ファイルをテキストエディターなどで開き、下記のパラメーターの値を変更します。
-
未配信ファイルのクリア:0
フェイルオーバーが発生した後に自動再配信を行う場合に0を設定します。
-
サービス起動同期:1
自動起動するように指定されたプロセスが正常に起動したことを確認してからHULFTのサービスを開始する場合に1を設定します。
-
未配信ファイルのクリア:0
3. HULFT Cloud Storage OptionでAzure Blob Storageと連携する
HULFT Cloud Storage Optionを使用すると、使い慣れたHULFTの設定作業や運用方法はそのままに、Azure Blob StorageやAmazon Simple Storage Service(Amazon S3)、Google Cloud Storageにデータを直接アップロード / ダウンロードできます。ここではAzure Blob Storageにデータを連携する際の具体的な構築ポイントと、AzureおよびHULFTの設定内容を説明します。
3.1 必要な構成と構築のポイント
HULFTで転送したファイルをAzure Blob Storageに連携する場合に必要な構成と構築のポイントについて説明します。Azure Blob Storageの場合、Azureストレージアカウントおよびコンテナ作成、プライベートエンドポイント設定、HULFT Cloud Storage Optionから接続するために必要な認証情報の取得が必要です。認証にはいくつかの方法がありますが、今回はストレージのアクセスキーを使用した認証の例です。HULFTでは、ストレージ認証情報に、Azureストレージアカウントと、取得したアクセスキーをストレージキーとして設定します。また、作成済みのコンテナの名称をHULFTの集配信ファイルとして、集配信管理情報に指定します。
3.2 Azureの設定
Azure Blob Storageにファイル転送するための、Azure側での設定を説明します。
- ストレージアカウントを作成して、コンテナを作成します。
-
プライベートエンドポイントを作成します。データ転送するためにPRIMECLUSTERクラスタノードの業務サブネットを指定します。
- ストレージアカウントのポータルで、「セキュリティとネットワーク」のメニューから「ネットワーク」を選択
-
上段のタブから「プライベートエンドポイント接続」を選択し、「プライベートエンドポイントを作成する」画面で以下の項目を設定して新規作成
-
設定項目
- 「基本」タブ:サブスクリプション、リソースグループ、インスタンスの名前、地域
- 「リソース」タブ:「対象サブリソース」は[blob]を指定
- 「仮想ネットワーク」タブ:VNetとクラスタノード業務LANのサブネットを指定
-
HULFT Cloud Storage OptionからAzureストレージアカウントに接続するために必要な認証情報(アクセスキー)を取得します。
アクセスキーは、「3.4 HULFT Storage Optionの設定」で使用します。
- 作成されたAzureストレージアカウントのポータルの「セキュリティとネットワーク」メニューから「アクセスキー」を選択
- 「Key1」を表示させてコピー
3.3 HULFT Cloud Storage Optionのインストール
HULFT Cloud Storage Optionを最初に運用系インスタンス、次に待機系インスタンスの順にインストールします。詳細は「HULFT8 クラウドストレージオプション マニュアル」にある下記の章を参照してください。
-
5.HULFT クラウドストレージオプションの導入(Linux)
-
5.4 HULFT8 Cloud Storage Plugin(Azure Blob Storage) for Linuxのインストール
- 5.4.1 インストール
-
5.4 HULFT8 Cloud Storage Plugin(Azure Blob Storage) for Linuxのインストール
-
ファイルを解凍します。
-
解凍したファイルにあるsetupを実行します。インストール先パスは、「2.4 HULFTのインストール」の手順で設定したHULFT実行モジュール格納ディレクトリー(HULEXEP)と合わせます。「Installation completed successfully.」のメッセージが出力されたら、インストールは成功です。
3.4 HULFT Cloud Storage Optionの設定
HULFTがAzure Blob Storageにアクセスできるよう、Cloud Storage Optionにストレージの認証情報を設定します。本設定は、Azureストレージアカウントとアクセスキーを使用した例です。転送先ごとに個別設定もできますが、ここでは個別設定を省略したときに共通で利用できるデフォルトの設定を行います。コマンドの詳細は「HULFT8 クラウドストレージオプション マニュアル」にある下記の章を参照してください。
-
6. HULFT クラウドストレージオプションのユーティリティ
-
6.2 Azure Blob Storageでのユーティリティ
- 6.2.4 ストレージ認証情報のデフォルト情報の登録コマンド(Azure Blob Storage)
-
6.2 Azure Blob Storageでのユーティリティ
plugins_utlsディレクトリー下のストレージ認証情報のデフォルト情報登録コマンドでストレージ認証情報を登録します。「-- Storage Account」にAzureストレージアカウント、「-- Storage Key」にアクセスキーを指定します。Azureストレージアカウントとアクセスキーは「3.2 Azureの設定」で取得した値です。
4. 動作確認する
下記の動作を確認します。
- オンプレミスとAzureでのHULFT転送ができること
- Azure Blob Storageにデータをアップロード / ダウンロードできること
- フェイルオーバーによって、HULFTの情報が正しく待機系インスタンスに引き継がれ、運用を継続できること
ここでは、Azure Blob StorageのデータをAzureからダウンロードしてオンプレミスのHULFTサーバーに格納する手順と、オンプレミスからAzureにファイルをアップロードしてAzure Blob Storageに格納する手順を説明します。Azureマネージドディスクにデータを格納したい場合は、「配信ファイル名」や「集信ファイル名」にAzureマネージドディスクのフルパスとファイル名を続けて記載します。疎通テストの通信に必要な設定についても本章で説明します。
4.1 事前準備
Azure Blob Storageに転送用のデータをアップロードするため、「3.2 Azureの設定」で作成したコンテナに「アップロード」でファイルを追加します。また、PRIMECLUSTRの設定でHULFTの起動コマンドを記載したスクリプトを登録し、HULFTのデーモンが自動起動されるよう設定しておきます。HULFTの起動コマンドは「HULFT8 UNIX/Linux クラスタ対応マニュアル」にある下記の章を参照してください。
-
4. HULFTクラスタ対応機能のユーティリティ
- 4.1 起動同期機能
PRIMECLUSTERの設定は「PRIMECLUSTER 導入運用手引書」にある「第6章 クラスタアプリケーションの構築」を参照してください。
4.2 【オンプレミス】HULFT集配信管理情報の設定
オンプレミスのHULFTの管理画面を起動して、下記を設定します。設定値はすべて例です。
- 詳細ホスト情報:ホスト名「clusternode」
- 転送グループ情報:ホストclusternodeを登録する転送グループ
- 配信管理情報:ファイルID「UPLOAD0002」(Azure Blob Storageへのアップロード用)
- 集信管理情報:ファイルID「DOWNLOAD0002」(Azure Blob Storageからのダウンロード用)
設定の詳細はそれぞれのOSごとに用意されている「HULFT8 for OS名 オペレーションマニュアル(注2)」にある下記の章を参照してください。
-
2. HULFTの設定
- 2.1 管理情報の設定
注2:OS名の部分には、それぞれのOSが入ります。
4.3 【Azure運用系】HULFT集配信管理情報の設定
設定値はすべて例です。
-
運用系インスタンスでHULFTの管理画面を起動します。
-
起動した管理画面で下記を設定します。
- 詳細ホスト情報:ホスト名「HULFT-VM」(オンプレミスのホスト名)
- 転送グループ情報:ホスト「onpremises」(HULFT-VMを登録する転送グループ)
-
配信管理情報の設定をします。
- ファイルID「DOWNLOAD0002」(Azureからのダウンロード用)
- 配信ファイル名「bs://pcl-container-hulft/test0002」(bs://コンテナ名/オブジェクト名)
- 配信ファイルの扱い「K(保存)」(注3)
注3:これ以外の値を指定すると、転送エラーになります。
-
集信管理情報の設定をします。
- ファイルID「UPLOAD0002」(Azureへのアップロード用)
- 集信ファイル名「bs://pcl-container-hulft/test0002」(bs://コンテナ名/オブジェクト名)
- 登録モード「R(置き換え)」(注4)
- 異常時の処置「R(復元)」(注4)
- 集信形態「S(単一集信)」(注4)
- 世代管理「N(無)」(注4)
- 転送グループID「onpremises」
注4:これ以外の値を指定すると、転送エラーになります。
4.4 【Azure運用系】HULFTの起動
psコマンドでHULFTのデーモン(hulsndd、hulrcvd、hulobsd)が起動していることを確認します。
4.5 【Azure運用系】集配信要求の実行
HULFTの配信および集信を実施します。
-
オンプレミスからAzureにファイルをアップロードしてAzure Blob Storageに格納するため、送信要求を発行します。
-
Azure Blob StorageのデータをAzureからダウンロードしてオンプレミスのHULFTサーバーに格納するため、配信要求を発行します。
4.6 【Azure運用系】履歴情報の確認
HULFTの配信および集信の転送結果を確認します。
-
オンプレミスからAzureにファイルをアップロードしてAzure Blob Storageに格納できたのか?を確認します。完了コードが「0000-0000」であれば正常終了です。
-
Azure Blob StorageのデータをAzureからダウンロードしてオンプレミスのHULFTサーバーに格納できたのか?を確認します。完了コードが「0000-0000」であれば正常終了です。
4.7 フェイルオーバー
HULFTのデーモンを停止することで疑似障害を起こし、フェイルオーバーの処理を実行させます。
4.8 【Azure待機系】HULFTでの動作確認(起動・実行・履歴確認)
「4.4 【Azure運用系】HULFTの起動」から「4.6 【Azure運用系】履歴情報の確認」の操作を繰り返して、問題なく動作することを確認します。特に「4.6 【Azure運用系】履歴情報の確認」では、運用系で実行した履歴情報が引き継がれていることも併せて確認します。
5. 製品情報
HULFTおよびPRIMECLUSTERの製品情報については下記のページをご覧ください。
以上、PRIMECLUSTERを使用して、Azure上にAZをまたがった可用性ゾーンでHAクラスタ構成のHULFTサーバーを構築し、HULFTのファイル転送によってオンプレミスとAzure Blob Storageでデータ連携する手順をご紹介しました。
こちらもおすすめ
クラウドで起こりうる障害と対策についてもっと知りたい方は下記の特集記事もお勧めです!ぜひ併せてご覧ください。
備考
Microsoft、Microsoft Azureは、米国 Microsoft Corporationの米国およびその他の国における登録商標または商標です。
「HULFT」その他「HULFT」関連製品は、セゾン情報システムズの登録商標です。
Red Hat Enterprise Linux は、米国およびその他の地域における Red Hat Inc. の登録商標です。
Amazon Simple Storage Service (Amazon S3)は、Amazon.com, Inc. またはその関連会社の商標です。
記載されている会社名、システム名、製品名、サービス名などの固有名詞は一般に各社の登録商標または商標です。
また、本文および図表中に記載されている会社名、システム名、製品名、サービス名などには必ずしも「TM」、「®」を付記しておりません。
関連情報
クラウド上のシステム運用にお悩みの方必見!
システムを安定稼働させるためには、システムの可用性、状態監視、業務運用管理が重要なポイントになりますが、従来のオンプレミスとクラウドとで設計や運用は異なるのでしょうか。重要なポイントは変わりませんが、クラウドの機能・特徴を意識した設計や運用が必要です。
特集「クラウド運用管理」ではクラウド運用の基本的な考え方を解説するとともに、システムを安定稼働させる方法についてわかりやすくご紹介します。