26.3.9 パブリッククラウド環境に関する準備
ここでは,次のパブリッククラウド環境を使用している場合にこの項をお読みください。
-
Amazon Web Services
-
Microsoft Azure
- 〈この項の構成〉
(1) 動作環境
Amazon Web Services環境上にクラスタ構成を適用する場合,次の製品を用意する必要があります。
-
HAモニタ 01-70以降
-
DRBD(Distributed Replicated Block Device) v9
また,各Amazon EC2インスタンスごとに次のストレージを配置する必要があります。
-
Amazon EBS(Amazon Elastic Block Store)
Microsoft Azure環境上にクラスタ構成を適用する場合,次の製品を用意する必要があります。
-
HAモニタ 01-71以降
-
DRBD(Distributed Replicated Block Device) v9
また,各Azure VMごとに次のストレージを配置する必要があります。
-
Azure Storage
(2) クラスタ構成概要
Amazon Web Services環境上及びMicrosoft Azure環境上にクラスタ構成を適用する場合の概要を次の図に示します。
- 〔説明〕
-
業務処理中の実行系に障害が発生すると,待機系に障害の発生が通知されて系が切り替わり,待機系が実行系になって業務処理を続行します。
実行系のストレージ(Amazon EBS又はAzure Storage)に対して更新すると,DRBDは更新内容を待機系に送信し,待機系のストレージにレプリケーションします。そのため,実行系の障害によって系が切り替わった場合,障害発生直前の状態から業務を続行できます。障害が発生して系が切り替わった場合は,レプリケーションするノード間で同期が取れているかどうかを確認して待機系を起動してください。もし,同期が取れていない場合は再同期処理を実施し,同期がとれたことを確認した上で待機系を起動してください※。同期状況の確認,及び同期処理の手順については,DRBDのマニュアルを参照してください。
- 注※
-
同期がとれていない状態で,既に待機系を起動している場合は待機系をいったん停止した上で,再同期処理を実施してください。その後,同期がとれたことを確認した上で待機系を起動してください。
(3) パブリッククラウド環境上のIPアドレスの構成について
パブリッククラウド環境でクラスタ構成を構築する場合,IPアドレスは次の構成をサポートします。
パブリッククラウド |
IPアドレスを引き継ぐ構成※ |
IPアドレスを引き継がない構成 |
IPアドレスを引き継がない(クライアント接続用のIPアドレスだけを引き継ぐ)構成 |
---|---|---|---|
Amazon Web Services |
○ |
○ |
○ |
Microsoft Azure |
− |
○ |
○ |
- (凡例)
-
○:サポートします。
−:サポートしません。
- 注※
-
HiRDBサーバのIPアドレスを引き継ぐ系切り替え構成を前提とするマルチスタンバイ構成を含みます。
Amazon Web Services環境ではVIP制御又はEIP制御によってIPアドレスを引き継ぐ構成をサポートします。VIP制御又はEIP制御によってIPアドレスを引き継ぐ構成の設定は,マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」を参照してください。
Microsoft Azure環境では次のどちらかの機能とHAモニタのLANの状態設定ファイルを使用することで,IPアドレスを引き継がない(クライアント接続用のIPアドレスだけを引き継ぐ)構成をサポートします。Azureロードバランサー制御を使用する場合の固有の設定は「Microsoft Azure環境でAzureロードバランサー制御を使用する場合の設定」を参照してください。DNS名制御を使用する場合の固有の設定は「Microsoft Azure環境でDNS名制御を使用する場合の設定」を参照してください。
-
Azureロードバランサー制御
Azureロードバランサーの負荷分散機能を利用し,クライアントからの要求を正常性プローブの応答のある実行系だけに転送し,応答のない待機系には転送しないように制御します。
-
DNS名制御
Azure DNSに登録しているレコードを変更することによって通信経路を切り替えます。このレコードにはDNS名と実行系仮想マシンAzure VMのIPアドレスの対応が記載されています。
(4) DRBDに関する設定項目
DRBDを設定するにあたり,HiRDBに関連するオペランドの指定値について説明します。なお,詳細については,DRBDのマニュアルを参照してください。設定したDRBDのリソース名はHAモニタの設定項目に指定します。
DRBDコマンドでDRBDリソースを有効化した後,deviceオプションに指定したデバイス(/dev/drbd1など)にHiRDBファイルシステム領域を作成してください。
すべてのHiRDBファイルシステム領域を作成した後,DRBDの初期同期を実施し,レプリケーションするノード間でデータを一致させてください。
(a) DRBD設定ファイルの指定例
DRBD設定ファイルの指定例を次に示します。
●/etc/drbd.d/global_common.conf
global { usage-count no; } common { disk { on-io-error detach; } options { on-no-data-accessible io-error; } net { protocol C; } }
●/etc/drbd.d/drbd01.res(リソース名::drbd01,2ノード構成の場合)
resource drbd01 { volume 0 { device /dev/drbd1; disk /dev/xvdf1; meta-disk internal; } on HiRDB-host1 { address 10.1.1.31:7789; } on HiRDB-host2 { address 10.1.2.32:7789; } }
●/etc/drbd.d/drbd01.res(リソース名::drbd01,3ノード構成の場合)
resource drbd01 { volume 0 { device /dev/drbd1; disk /dev/xvdf1; meta-disk internal; } on HiRDB-host1 { address 10.1.1.31:7789; node-id 0; } on HiRDB-host2 { address 10.1.2.32:7790; node-id 1; } on HiRDB-host3 { address 10.1.2.33:7791; node-id 2; } connection-mesh { hosts HiRDB-host1 HiRDB-host2 HiRDB-host3 } }
(b) disk-barrier,disk-flushes,disk-drainオプション
DRBDのデフォルト値を推奨します。
なお,すべてのオプションを無効にすると,書き込み順序が保証されないため,すべてのオプションを無効にしないでください。
(c) on-io-errorオプション
detachを指定します。
(d) on-no-data-accessibleオプション
io-errorを指定します。
(e) protocolオプション
B,又はCを指定します。
(f) allow-two-primariesオプション
このオプションは指定しないでください。
(g) deviceオプション
DRBDでレプリケーションするブロックデバイス(指定例では/dev/drbd1)を指定します。
(h) diskオプション
DRBDのデバイスを構成するブロックデバイス(指定例では/dev/xvdf1)を指定します。複数のブロックデバイスを使用する場合は,UUIDなどOS再起動後に同じパス名となる値を指定してください。
(i) host-nameオプション
レプリケーション対象のホスト名(指定例ではHiRDB-host1,HiRDB-host2など)を指定します。
(j) addressオプション
レプリケーション対象のIPアドレス,及び任意のポート番号を指定します。
(5) HAモニタに関する設定項目(sysdef定義ファイル)
HAモニタを設定するにあたり,HiRDBに関連するオペランドの指定値について説明します。
なお,そのほかのオペランドや詳細については,次のマニュアル,又は該当する箇所を参照してください。
-
マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」
(a) public_cloudオペランド
useを指定してください。
(6) HAモニタに関する設定項目(servers定義ファイル)
HAモニタを設定するにあたり,HiRDBに関連するオペランドの指定値について説明します。
なお,そのほかのオペランドや詳細については,次のマニュアル,又は該当する箇所を参照してください。
-
マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」
(a) rep_deviceオペランド
「DRBDに関する設定項目」でHiRDBファイルシステム領域を作成したレプリケーションディスクを指定しているDRBDリソース名(「DRBDに関する設定項目」の指定例ではdrbd01)を指定してください。
(b) diskオペランド
HAモニタによるディスクのアクセス制御をする場合に指定してください。
HAモニタによるディスクのアクセス制御を行わない(diskオペランドを指定しない)場合は,「共有ディスクのアクセス制御」を参照して必要なオペランドを設定してください。
(7) Microsoft Azure環境でAzureロードバランサー制御を使用する場合の設定
Microsoft Azure環境でAzureロードバランサー制御を使用してクラスタ構成を構築する場合に固有な設定について説明します。
なお,ここに明記されていないHiRDB以外の設定や各設定項目の詳細は次のマニュアルを参照してください。
-
マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」
-
Microsoft Azureのマニュアル
(a) Azureロードバランサーに関する設定項目
Azureロードバランサーの設定項目に指定するHiRDBのIPアドレス及びポートなどは次のとおりです。各項目の詳細については,Microsoft Azureのマニュアルを参照してください。
項目 |
指定値 |
|
---|---|---|
フロントエンドIP構成のIPアドレス |
HiRDBクライアントからロードバランサーに接続するための任意のIPアドレス |
|
バックエンドプールの仮想マシン及びIPアドレス |
HiRDBサーバを配置する仮想マシンと,そのIPアドレス |
|
負荷分散規則のポート |
通常接続又はFESホストダイレクト接続の場合 |
pd_name_portオペランドの指定値,又はpdunitオペランドの-pオプションの指定値 |
高速接続の場合 |
pd_service_portオペランドの指定値,又はpd_scd_portオペランドの指定値,又はpdunitオペランドの-sオプションの指定値 |
|
負荷分散規則のバックエンドポート |
同上 |
|
負荷分散規則のフローティングIP |
無効 |
(b) HAモニタに関する設定項目(LANの状態設定ファイル)
HAモニタの「LANの状態設定ファイル」のLB_IPADDRシェル変数を次のように設定してください(IPアドレスを設定しないようにしてください)。
LB_IPADDR[n]="" (nは0以上の整数)
なお,マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」ではIPアドレスを設定するように記載されていますが,HiRDBの系切り替えの場合は負荷分散規則のフローティングIPを無効に設定して使用しますので,上記のとおり設定してください。
(c) HiRDBクライアントに関する設定項目
HiRDBサーバへの接続方式ごとに指定するHiRDBクライアントの環境変数を次の表に示します。
環境変数 |
指定値 |
|
---|---|---|
PDHOST |
HiRDB/シングルサーバの場合 |
シングルサーバを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名 |
HiRDB/パラレルサーバの場合 |
システムマネジャユニットを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名 |
|
PDNAMEPORT |
HiRDB/シングルサーバの場合 |
pd_name_portオペランドの指定値,又はシングルサーバのpdunitオペランドの-pオプションの指定値 |
HiRDB/パラレルサーバの場合 |
pd_name_portオペランドの指定値,又はシステムマネジャユニットのpdunitオペランドの-pオプションの指定値 |
環境変数 |
指定値 |
---|---|
PDHOST |
システムマネジャユニットを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名,又はPDFESHOSTを設定している場合はPDFESHOSTと同じ値 |
PDFESHOST |
フロントエンドサーバユニットを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名 |
PDNAMEPORT |
pd_name_portオペランドの指定値,又はPDFESHOST(指定がない場合はPDHOST)で接続先としたユニットのpdunitオペランドの-pオプションの指定値 |
PDSERVICEGRP |
フロントエンドサーバのサーバ名 |
環境変数 |
指定値 |
|
---|---|---|
PDHOST |
HiRDB/シングルサーバの場合 |
シングルサーバを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名 |
HiRDB/パラレルサーバの場合 |
システムマネジャユニットを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名,又はPDFESHOSTを設定している場合はPDFESHOSTと同じ値 |
|
PDFESHOST |
フロントエンドサーバユニットを配置したサーバマシンに対応するAzureロードバランサーのフロントエンドIP構成のIPアドレス又はホスト名 |
|
PDNAMEPORT |
HiRDB/シングルサーバの場合 |
pd_name_portオペランドの指定値,又はシングルサーバのpdunitオペランドの-pオプションの指定値 |
HiRDB/パラレルサーバの場合 |
pd_name_portオペランドの指定値,又はPDFESHOST(指定がない場合はPDHOST)で接続先としたユニットのpdunitオペランドの-pオプションの指定値 |
|
PDSERVICEPORT |
pd_service_portオペランドの指定値,又はpd_scd_portオペランドの指定値,又はpdunitオペランドの-sオプションの指定値 |
|
PDSERVICEGRP |
HiRDB/シングルサーバの場合 |
シングルサーバのサーバ名 |
HiRDB/パラレルサーバの場合 |
フロントエンドサーバのサーバ名 |
|
PDSRVTYPE |
"PC" |
(8) Microsoft Azure環境でDNS名制御を使用する場合の設定
Microsoft Azure環境でDNS名制御を使用してクラスタ構成を構築する場合の,HiRDBクライアントに関する設定項目について説明します。
なお,ここに明記されていないHiRDB以外の設定や各設定項目の詳細は次のマニュアルを参照してください。
-
マニュアル「高信頼化システム監視機能 HAモニタ パブリッククラウド編」
-
Microsoft Azureのマニュアル
(a) HiRDBクライアントに関する設定項目
HiRDBサーバへの接続方式ごとに指定するHiRDBクライアントの環境変数を次の表に示します。
環境変数 |
指定値 |
|
---|---|---|
PDHOST |
HiRDB/シングルサーバの場合 |
Azure DNSに登録されている,シングルサーバのFQDN |
HiRDB/パラレルサーバの場合 |
Azure DNSに登録されている,システムマネジャユニットのFQDN |
|
PDNAMEPORT |
HiRDB/シングルサーバの場合 |
pd_name_portオペランドの指定値,又はシングルサーバのpdunitオペランドの-pオプションの指定値 |
HiRDB/パラレルサーバの場合 |
pd_name_portオペランドの指定値,又はシステムマネジャユニットのpdunitオペランドの-pオプションの指定値 |
環境変数 |
指定値 |
---|---|
PDHOST |
Azure DNSに登録されている,システムマネジャのFQDN,又はPDFESHOSTを設定している場合はPDFESHOSTと同じ値 |
PDFESHOST |
Azure DNSに登録されている,フロントエンドサーバのFQDN |
PDNAMEPORT |
pd_name_portオペランドの指定値,又はPDFESHOST(指定がない場合はPDHOST)で接続先としたユニットのpdunitオペランドの-pオプションの指定値 |
PDSERVICEGRP |
フロントエンドサーバのサーバ名 |
環境変数 |
指定値 |
|
---|---|---|
PDHOST |
HiRDB/シングルサーバの場合 |
Azure DNSに登録されている,シングルサーバのFQDN |
HiRDB/パラレルサーバの場合 |
Azure DNSに登録されている,システムマネジャのFQDN,又はPDFESHOSTを設定している場合はPDFESHOSTと同じ値 |
|
PDFESHOST |
Azure DNSに登録されている,フロントエンドサーバのFQDN |
|
PDNAMEPORT |
HiRDB/シングルサーバの場合 |
pd_name_portオペランドの指定値,又はシングルサーバのpdunitオペランドの-pオプションの指定値 |
HiRDB/パラレルサーバの場合 |
pd_name_portオペランドの指定値,又はPDFESHOST(指定がない場合はPDHOST)で接続先としたユニットのpdunitオペランドの-pオプションの指定値 |
|
PDSERVICEPORT |
pd_service_portオペランドの指定値,又はpd_scd_portオペランドの指定値,又はpdunitオペランドの-sオプションの指定値 |
|
PDSERVICEGRP |
HiRDB/シングルサーバの場合 |
シングルサーバのサーバ名 |
HiRDB/パラレルサーバの場合 |
フロントエンドサーバのサーバ名 |
|
PDSRVTYPE |
"PC" |