クラウド運用管理

HULFTをAWSでも安心して使うには? ~業務を止めない仕組みを解説~

HULFTを使用した高可用ファイル連携システムをAWSで実現する手順を解説した記事です。
クラウドリフトの際、オンプレミスにはないAZやAmazon S3といったクラウドの要素を考慮して、可用性を担保した環境を実現するにはどうすればよいかお悩みの方向けに、構築のポイントをまとめました。

  • HULFTのサービスレベルを落とさない構成をどう構築する?(「AZ障害」でも業務を止めないHAクラスター環境の設定)
  • クラウドで大容量のファイルを効率的に格納するには?(HULFT Cloud Storage Optionを使ってAmazon S3を活用する設定)

1. クラウドでもHULFTを止めない仕組みの検討が必要

各社の基幹システムや金融機関の情報系システムなど、ミッションクリティカルなシステムを支えるインフラであるHULFTは、クラウドリフト後も同じサービスレベルが求められます。また、HULFT Cloud Storage Optionによって、IaaSのシステムから簡単にAmazon Simple Storage Service(以降、Amazon S3と記す)などのストレージサービスを利用できることから、オンプレミスとクラウドやマルチクラウド環境でのHULFT連携も増えており、クラウドサービスを使った新たなシステムのつなぎ役としても、ますます重要性が高まっています。ところが、HULFTをクラウドでも止めずに運用するためには、クラウドのインフラを活用するだけでは不足(注1)があり、利用者自身による作りこみが必要です。

2.では、HAクラスタソフトウェアである「FUJITSU Software PRIMECLUSTER(以降、PRIMECLUSTERと略す)」を使用して、HULFT(OSはRed Hat Linux Enterprise)の高可用構成をAmazon Web Services(以降、AWSと記す)に構築する際のポイントと設定、3.ではHULFT Cloud Storage Optionを使用して、Amazon S3のデータをオンプレミスと連携するための設定を解説します。文中に示しているPRIMECLUSTERおよびHULFTのマニュアルは下記リンク先のページに掲載されているので併せてご覧ください。

2. AWSでHAクラスタ構成のHULFTサーバーを構築する

ここでは、AWSで可用性を担保するため、PRIMECLUSTERを使用してHULFTサーバーを構築する際の、具体的な構築ポイントとAWSおよびHULFTの設定内容を説明します。PRIMECLUSTERについて詳しく知りたい場合は、「5. 製品情報」に記載されたリンクから製品紹介ページを参照してください。

2.1 必要な構成と構築のポイント

HULFTは、ホスト名を使用してオンプレミスとの通信を行うため、PRIMECLUSTERのネットワーク引き継ぎ方式は、「DNSレコード書換えによるネットワーク引き継ぎ」を使用します。この方式は、AWSが提供するDNSサービスのレコードを書き換えることでネットワークの引き継ぎを実現します。運用系インスタンスの異常発生時、PRIMECLUSTERはDNSサービスが保持しているレコード関連の設定を待機系のプライベートIPアドレスに付け替えることでIPアドレスを引き継ぎます。
2.2以降で、AWSのネットワーク関連の設定と、HULFTをHAクラスタ構成で運用するための設定について説明します。
その他、PRIMECLUSTERのアーキテクチャーパターンとして、APIエンドポイントとの接続性確保のため「NATゲートウェイによる接続性確保」、管理クライアントとの接続性確保のため「VPNを利用する接続性確保」を使用した構成とします。各アーキテクチャーパターンの詳細は、「PRIMECLUSTER 導入運用手引書 <Cloud Services 編>」をご覧ください。
また、AWSのサービスとして、HULFT Cloud Storage Optionで使用するAmazon S3、運用待機間でのデータ引き継ぎとして使用するAmazon Elastic Block Store(Amazon EBS)も必要です。なお、AWSでHULFTを使用する場合は、インスタンスタイプとしてM4タイプ(Amazon EBSへのI/Oが最適化されているタイプ)を推奨します。

AWS上でPRIMECLUSTERを使用して冗長化したHULFTサーバーの構成図
図1:AWS上でPRIMECLUSTERを使用して冗長化したHULFTサーバーの構成図

2.2 VPCの設定

マルチアベイラビリティゾーンでのクラスタシステム、およびネットワーク設定を説明します。

  1. システムを配備するVPCを用意し、VPCにCIDRを割り当てます。

  2. VPC内に管理LAN、業務LAN、クラスタインターコネクトおよびデータ同期用ネットワークのサブネットをアベイラビリティゾーンごとに作成します。

  3. Internet Gatewayを作成して、VPCにアタッチします。

  4. クラスタ内部の通信を許可するために必要なセキュリティグループのルールを設定します。

VPCおよびサブネット構成図の一例
図2:VPCおよびサブネット構成図の一例

2.3 ネットワーク引き継ぎの設定

DNSレコード書き換えによるネットワーク引き継ぎするための設定を説明します。設定値は上記の図を基にした例です。

  1. VPNを作成し、VPCにアタッチします。

  2. Amazon Route 53のプライベートホストゾーンを作成し、ホスト名による名前解決をするための設定を行います。

    • ドメイン名:hulft.privatehostzone
    • タイプ:プライベートホストゾーン

Amazon Route 53の「ホストゾーンの作成」画面

  1. レコードを作成し、「シンプルなレコードを定義」の画面で以下の設定を行います。

    • レコード名:clusternode
    • レコードタイプ:A-IPv4アドレスと一部のAWSリソースにトラフィックをルーティングします。
    • 値 / トラフィックのルーティング先:レコードタイプに応じたIPアドレスまたは別の値
    • IPアドレス:運用系の業務LANのIPアドレス(下記の図では172.16.2.101)

    レコード名は「2.4 HULFTのインストール」で自ホスト名として登録するのでメモしておきます。

Amazon Route 53の「シンプルなレコードを定義」画面

  1. VPCのDHCPオプションセットを作成し、以下の設定を行います。

    • ドメイン名:手順2.でAmazon Route 53のプライベートホストゾーンを作成した際に定義したドメイン名
    • ドメインネームサーバー:AmazonProvidedDNS
  2. VPCでAmazon Route 53を使って、名前解決をするための設定を行います。

    • VPCのサービスページを開き、詳細でDNSホスト名とDNS解決が[有効]になっていることを確認します。
    • アクションから「DHCPオプションセットを編集」の画面で、上記作成したDHCPオプションセットを指定します。

2.4 HULFTのインストール

最初に運用系インスタンス(共有ディスクをマウント済みの環境)、次に待機系インスタンスの順にHULFTをインストールします。詳細は「HULFT8 UNIX/Linux 導入マニュアル」にある下記の章を参照してください。

  • 2.対話型インストール
    • 2.3 カスタムインストール
  1. 運用系インスタンスでは、「クラスタ環境(運用系ノード)」を選択します。環境に応じて、パスや使用言語、転送コードセットなどを選択します。pidファイル作成パス(piddir)には運用系ノードのローカルディスクを指定します。自ホスト名はクラスタソフトウェアで設定するIPに対応するノード名(「2.3 ネットワーク引き継ぎの設定」の手順3.で設定したレコード名です)を設定します。

HULFTインストーラーの「自ホスト名の指定」画面

  1. インストール内容を確認して、インストールを実行します。実行結果の詳細はカレントディレクトリーに作成されるログファイル「install.log」で確認できます。

HULFTインストーラーの「インストール内容の確認」画面

  1. 待機系インスタンスでは、「クラスタ環境(待機系ノード)」を選択し、インストールします。pidファイル作成パス(piddir)には待機系ノードのローカルディスクを指定します(運用系インスタンスで設定済みの自ホスト名設定は不要です)。

2.5 HULFTのシステム設定

  1. 環境変数を設定します。下記はbashにおける例です。使用しているShellに合わせて設定してください。

HULPATH=/mnt/swdsk/etc;export HULPATH
HULEXEP=/opt/hulft/bin/;export HULEXEP
PATH=$HULEXEP:$PATH;export PATH
  1. HULFTのシステム動作環境を設定します。運用系インスタンスのシステム動作環境設定ファイルをテキストエディターなどで開き、下記のパラメーターの値を変更します。

    • 未配信ファイルのクリア:0
      フェイルオーバーが発生した後に自動再配信を行う場合に0を設定します。
    • サービス起動同期:1
      自動起動するように指定されたプロセスが正常に起動したことを確認してからHULFTのサービスを開始する場合に1を設定します。
# 未配信ファイルのクリア
# 0: 削除しない
# 1: 削除する
delreqcpfile = 0

# 管理情報の2重化
# 0: 2重化しない
# 1: 2重化する
adjoinadminfile = 1

# サービス起動同期
# 0: 非同期
# 1: 同期
startsync = 1

3. HULFT Cloud Storage OptionでAmazon S3と連携する

HULFT Cloud Storage Optionを使用すると、使い慣れたHULFTの設定作業や運用方法はそのままに、Amazon S3やAzure Blob Storage、Google Cloud Storageにデータを直接アップロード / ダウンロードできます。ここではAmazon S3にデータを連携する際の具体的な構築ポイントと、AWSおよびHULFTの設定内容を説明します。

3.1 必要な構成と構築のポイント

HULFTで転送したファイルをAmazon S3に連携する場合に必要な構成と構築のポイントについて説明します。AWSではAmazon S3のバケット作成とアクセス許可の付与および、HULFT Cloud Storage Optionから接続するために必要な認証情報(アクセスキーIDとシークレットアクセスキー)の取得が必要です。HULFTでは、ストレージ認証情報に、取得したアクセスキーIDとシークレットアクセスキーを設定します。また、作成済みのバケットの名称をHULFTの集配信ファイルとして、集配信管理情報に指定します。

3.2 AWSの設定

Amazon S3にファイル転送するための、AWS側での設定を説明します。

  1. Amazon S3 バケットを作成します。

  2. HULFT Cloud Storage OptionからAmazon S3に接続するために必要な認証情報(アクセスキーIDとシークレットアクセスキー)を取得します。アクセスキーIDとシークレットアクセスキーは「3.4 HULFT Storage Optionの設定」で使用します。

    • AWSのコンソールで「ユーザー名」から「セキュリティ認証情報」を選択
    • 「アクセスキーの作成」を選択
    • [アクセスキーID]と[シークレットアクセスキー]をCSVファイルでダウンロード
  3. Amazon S3 バケットへのアクセス許可を確認します。Amazon S3 バケットの画面で[アクセス許可]タブをクリックし、「アクセスコントロールリスト(ALC)」で[読み取り、書き込み]のアクセス許可が付与されていることを確認します。

3.3 HULFT Cloud Storage Optionのインストール

HULFT Cloud Storage Optionを最初に運用系インスタンス、次に待機系インスタンスの順にインストールします。詳細は「HULFT8 クラウドストレージオプション マニュアル」にある下記の章を参照してください。

  • 5.HULFT クラウドストレージオプションの導入(Linux)
    • 5.3 HULFT8 Cloud Storage Plugin(Amazon S3) for Linuxのインストール
      • 5.3.1 インストール
  1. ファイルを解凍します。

# tar xvfpz hulftcloudstorage-linux-amazonss3-v852.tar.gz
  1. 解凍したファイルにあるsetupを実行します。インストール先パスは、「2.5 HULFTのシステム設定」の手順1.で設定したHULFT実行モジュール格納ディレクトリー(HULEXEP)と合わせます。「Installation completed successfully.」のメッセージが出力されたら、インストールは成功です。

# ./setup
This program installs the following Cloud Storage Plugin.
------------------------------------------
HULFT8 Cloud Storage Plugin(Amazon S3) for Linux V08L05R02
------------------------------------------
Please specify the HULFT installation path.
Default: /usr/local/HULFT/bin
-> /opt/hulft/bin
Installation started.
Installation completed successfully.

3.4 HULFT Cloud Storage Optionの設定

HULFTがAmazon S3にアクセスできるよう、ストレージに認証情報を設定します。「3.2 AWSの設定」で取得したアクセスキーIDとシークレットアクセスキーを使用します。転送先ごとに個別設定もできますが、ここでは個別設定を省略したときに共通で利用できるデフォルトの設定を行います。コマンドの詳細は「HULFT8 クラウドストレージオプション マニュアル」にある下記の章を参照してください。

  • 6. HULFT クラウドストレージオプションのユーティリティ
    • 6.1 Amazon S3でのユーティリティ
      • 6.1.4 ストレージ認証情報のデフォルト情報の登録コマンド(Amazon S3)

plugins_utlsディレクトリー下のストレージ認証情報のデフォルト情報登録コマンドでストレージ認証情報を登録します。「--access-key」にアクセスキーID、「--secret-access-key」にシークレットアクセスキーを指定します。アクセスキーIDとシークレットアクセスキーは「3.2 AWSの設定」の手順2.で取得した値です。

#./bin/plugins_utls/utls3infoadd -t auth --default --access-key A************* --secret-access-key E**************************************
The default information for Storage Authentication Information will be changed.
Access Key:        A*************
Secret Access Key: E**************************************
Session Token:     Use the default value.
Enable IAM Role:   Use the default value.
Switch Role ARN:   Use the default value.
External ID:       Use the default value.
Role Session Name: Use the default value.
Are you sure to register? [y/n]:y

4. 動作確認する

下記の動作を確認します。

  • オンプレミスとAWSでのHULFT転送ができること
  • Amazon S3にデータをアップロード / ダウンロードできること
  • フェイルオーバーによって、HULFTの情報が正しく待機系インスタンスに引き継がれ、運用を継続できること

Amazon S3のデータをAWSからダウンロードしてオンプレミスのHULFTサーバーに格納する手順と、オンプレミスからAWSにファイルをアップロードしてAmazon S3に格納する手順を説明します。疎通テストの通信に必要な設定についても本章で説明します。

4.1 事前準備

Amazon S3に転送用のデータをアップロードするため、「3.2 AWSの設定」で作成したバケットに「アップロード」でファイルを追加します。また、PRIMECLUSTRの設定でHULFTの起動コマンドを記載したスクリプトを登録し、HULFTのデーモンが自動起動されるよう設定しておきます。HULFTの起動コマンドは「HULFT8 UNIX/Linux クラスタ対応マニュアル」にある下記の章を参照してください。

  • 4. HULFTクラスタ対応機能のユーティリティ
    • 4.1 起動同期機能

PRIMECLUSTERの設定は「PRIMECLUSTER 導入運用手引書」にある「第6章 クラスタアプリケーションの構築」を参照してください。

4.2 【オンプレミス】HULFT集配信管理情報の設定

オンプレミスのHULFTの管理画面を起動して、下記を設定します。設定値はすべて例です。

  • 詳細ホスト情報:ホスト名「clusternode」
  • 転送グループ情報:ホストclusternodeを登録する転送グループ
  • 配信管理情報:ファイルID「TOAWSS3」(AWSへのアップロード用)
  • 集信管理情報:ファイルID「FROMAWSS3」(AWSからのダウンロード用)

設定の詳細はそれぞれのOSごとに用意されている「HULFT8 for OS名 オペレーションマニュアル(注2)」にある下記の章を参照してください。

  • 2. HULFTの設定
    • 2.1 管理情報の設定
  • 注2
    OS名の部分には「UNIX/Linux」「Windows」「IBMi」「zOS」「MSP」「XSP」が入ります。

4.3 【AWS運用系】HULFT集配信管理情報の設定

設定値はすべて例です。

  1. 運用系インスタンスでHULFTの管理画面を起動します。

# /opt/hulft/bin/utladmin
  1. 起動した管理画面で下記を設定します。

    • 詳細ホスト情報:ホスト名「client」(オンプレミスのホスト名)
    • 転送グループ情報:ホスト「clientgrp」(clientを登録する転送グループ)
  1. 配信管理情報の設定をします。

    • ファイルID「FROMAWSS3」(AWSからのダウンロード用)
    • 配信ファイル名「s3://bucket-hulft/DOWNLOAD0001」(s3://バケット名/オブジェクト名)
    • 配信ファイルの扱い「K(保存)」(注3
    • 注3
      これ以外の値を指定すると、転送エラーになります。

HULFTの「配信管理情報 新規登録」画面1

  1. 集信管理情報の設定をします。

    • ファイルID「TOAWSS3」(AWSへのアップロード用)
    • 集信ファイル名「s3://bucket-hulft/UPLOAD0001」(s3://バケット名/オブジェクト名)
    • 登録モード「R(置き換え)」(注4
    • 異常時の処置「R(復元)」(注4
    • 集信形態「S(単一集信)」(注4
    • 世代管理「N(無)」(注4
    • 転送グループID「clientgrp」
    • 注4
      これ以外の値を指定すると、転送エラーになります。

HULFTの「配信管理情報 新規登録」画面2

HULFTの「配信管理情報 新規登録」画面3

4.4 【AWS運用系】HULFTの起動

psコマンドでHULFTのデーモン(hulsndd、hulrcvd、hulobsd)が起動していることを確認します。

# ps -ef |grep hul
root 7566  1   0 15:38 ? 00:00:00 /opt/hulft/bin//hulobsd -pipe 6 -l /mnt/swdsk/script/hulobslog -oplsrc HULFT_CLS_COMMAND -oplkey HULFT_REQUEST_ACKNOWLEDGE_STARTUP -oplsdate 2022/07/15 -oplstime 15:38:50.033 -opluid root -oplshost clusternode -oplsid B************* -opllid B***************
root 7567 7566 0 15:38 ? 00:00:00 /opt/hulft/bin//hulobsd -pipe 6 -l /mnt/swdsk/script/hulobslog -oplsrc HULFT_CLS_COMMAND -oplkey HULFT_REQUEST_ACKNOWLEDGE_STARTUP -oplsdate 2022/07/15 -oplstime 15:38:50.033 -opluid root -oplshost clusternode -oplsid B*************** -opllid B***************
root 7570  1   0 15:38 ? 00:00:00 /opt/hulft/bin//hulrcvd -pipe 6 -l /mnt/swdsk/script/hulrcvlog -oplsrc HULFT_CLS_COMMAND -oplkey HULFT_RECEIVE_STARTUP -oplsdate 2022/07/15 -oplstime 15:38:50.048 -opluid root -oplshost clusternode -oplsid E*************** -opllid E***************
root 7573  1   0 15:38 ? 00:00:00 /opt/hulft/bin//hulsndd -pipe 6 -l /mnt/swdsk/script/hulsndlog -oplsrc HULFT_CLS_COMMAND -oplkey HULFT_SEND_STARTUP -oplsdate 2022/07/15 -oplstime 15:38:50.067 -opluid root -oplshost clusternode -oplsid B*************** -opllid B***************

4.5 【AWS運用系】集配信要求の実行

HULFTの配信および集信を実施します。

  1. オンプレミスからAWSにファイルをアップロードしてAmazon S3に格納するため、送信要求を発行します。

# /opt/hulft/bin/utlrecv -f UPLOAD0001
  1. Amazon S3のデータをAWSからダウンロードしてオンプレミスのHULFTサーバーに格納するため、配信要求を発行します。

# /opt/hulft/bin/utlsend -f DOWNLOAD0001

4.6 【AWS運用系】履歴情報の確認

HULFTの配信および集信の転送結果を確認します。

  1. オンプレミスからAWSにファイルをアップロードしてAmazon S3に格納できたのか?を確認します。完了コードが「0000-0000」であれば正常終了です。

HULFTの「ファイル別集信状況一覧」画面

HULFTの「集信詳細情報照会」画面

  1. Amazon S3のデータをAWSからダウンロードしてオンプレミスのHULFTサーバーに格納できたのか?を確認します。完了コードが「0000-0000」であれば正常終了です。

HULFTの「ファイル別配信状況一覧」画面

HULFTの「配信詳細情報照会」画面

4.7 フェイルオーバー

HULFTのデーモンを停止することで疑似障害を起こし、フェイルオーバーの処理を実行させます。

# /opt/hulft/bin/hulclustersnd -stop -t

4.8 【AWS 待機系】HULFTでの動作確認(起動・実行・履歴確認)

4.4 【AWS運用系】HULFTの起動」から「4.6 【AWS運用系】履歴情報の確認」の操作を繰り返して、問題なく動作することを確認します。特に「4.6 【AWS運用系】履歴情報の確認」では、運用系で実行した履歴情報が引き継がれていることも併せて確認します。

5. 製品情報

HULFTおよびPRIMECLUSTERの製品情報については下記のページをご覧ください。

以上、PRIMECLUSTERを使用してAWS上にアベイラビリティゾーン間でのHAクラスタ構成となるHULFTサーバーを構築し、HULFTのファイル転送によってオンプレミスとAmazon S3でデータ連携を行うシステムを構築する手順をご紹介しました。

こちらもおすすめ

クラウドで起こりうる障害と対策についてもっと知りたい方は下記の特集記事もお勧めです!ぜひ併せてご覧ください。

  • 備考
    Amazon Web Services、AWS、Amazon Elastic Block Store、Amazon EBS、Amazon Simple Storage Service、Amazon S3、Amazon Route 53は、Amazon.com, Inc. またはその関連会社の商標です。

本コンテンツに関するお問い合わせ

お電話でのお問い合わせ

富士通コンタクトライン(総合窓口)

0120-933-200

受付時間:9時~12時および13時~17時30分
(土曜日・日曜日・祝日・当社指定の休業日を除く)

Webでのお問い合わせ

当社はセキュリティ保護の観点からSSL技術を使用しております。

ページの先頭へ