5.13.2 【AWS】LANの状態設定ファイルの設定(1つのリージョン内または1つのVPC内で系切り替えをする構成の場合)
HAモニタでは,LANはサーバ単位に接続,切り離しをします。そのため,LANの状態設定ファイルを作成して設定する必要があります。この項では,1つのリージョン内または1つのVPC内で系切り替えをする構成での,LANの状態設定ファイルの設定方法について説明します。
LANの状態設定ファイルの種類を,次に示します。
- サーバ識別名.upファイル
-
LANを接続する場合に使用します。業務通信の切り替えに関する情報を設定します。
- サーバ識別名.downファイル
-
LANの切り離しをする場合に使用します。業務通信の切り替えに関する情報を設定します。
これらのファイルは,サーバごとにHAモニタの環境設定用ディレクトリの下に作成します。ファイル名のサーバ識別名の部分は,サーバ対応の環境設定のaliasオペランドで指定した値にしてください。
LANの状態設定ファイルには,OSのipコマンドの引数として,LANアダプタに追加・削除するエイリアスIPアドレスを指定します。OSのコマンドについては,OSのマニュアルを参照してください。
AWS用シェルスクリプト群を展開すると,AWS用のLANの状態設定ファイルのサンプルファイルが,/opt/hitachi/HAmon/lib配下に配置されます。AWS用シェルスクリプト群の展開については,「5.7 【AWS】AWS用のシェルスクリプト群の展開」を参照してください。サンプルファイルの名称は,server_aws.upおよびserver_aws.downです。
server_aws.upのファイル内容を次に示します。
#!/bin/bash set -x ############################################################################### # VIP_ADDRESS[0]=aa.bb.cc.dd # VIP_RTB[0]="rtb-AAA rtb-BBB …" # VIP_ENI[0]=eni-CCC # VIP_LABEL[0]=lo:0 # VIP_ADDRESS[1]=ee.ff.gg.hh # VIP_RTB[1]="rtb-DDD rtb-EEE …" # VIP_ENI[1]=eni-FFF # VIP_LABEL[1]=lo:1 # EIP_ADDRESS[0]=ii.jj.kk.ll # EIP_ENI[0]=eni-GGG # EIP_LABEL[0]=eth0:0 # EIP_ADDRESS[1]=mm.nn.oo.pp # EIP_ENI[1]=eni-HHH # EIP_LABEL[1]=eth1:0 # DNS_ZONEID[0]=ZIII # DNS_NAME[0]=JJJ.com. # DNS_TYPE[0]=A # DNS_VALUE[0]=qq.rr.ss.tt # DNS_TTL[0]=uu # DNS_ZONEID[1]=ZKKK # DNS_NAME[1]=LLL.com. # DNS_TYPE[1]=CNAME # DNS_VALUE[1]=MMM.com. # DNS_TTL[1]=vv ############################################################################### function main() { VIP_RCD=0 if [ ${#VIP_ADDRESS[@]} -gt 0 ] then add_vip rc=$? if [ $rc -ne 0 ] then VIP_RCD=1 fi fi EIP_RCD=0 if [ ${#EIP_ADDRESS[@]} -gt 0 ] then add_eip rc=$? if [ $rc -ne 0 ] then EIP_RCD=2 fi fi DNS_RCD=0 if [ ${#DNS_NAME[@]} -gt 0 ] then add_dns rc=$? if [ $rc -ne 0 ] then DNS_RCD=4 fi fi RCD=$(($VIP_RCD|$EIP_RCD|$DNS_RCD)) return $RCD } ############################################################################### :(以下を編集しないこと)
server_aws.downのファイル内容を次に示します。
#!/bin/bash set -x ############################################################################### # VIP_ADDRESS[0]=aa.bb.cc.dd # VIP_RTB[0]="rtb-AAA rtb-BBB …" # VIP_ENI[0]=eni-CCC # VIP_LABEL[0]=lo:0 # VIP_ADDRESS[1]=ee.ff.gg.hh # VIP_RTB[1]="rtb-DDD rtb-EEE …" # VIP_ENI[1]=eni-FFF # VIP_LABEL[1]=lo:1 # EIP_ADDRESS[0]=ii.jj.kk.ll # EIP_ENI[0]=eni-GGG # EIP_LABEL[0]=eth0:0 # EIP_ADDRESS[1]=mm.nn.oo.pp # EIP_ENI[1]=eni-HHH # EIP_LABEL[1]=eth1:0 # DNS_ZONEID[0]=ZIII # DNS_NAME[0]=JJJ.com. # DNS_TYPE[0]=A # DNS_VALUE[0]=qq.rr.ss.tt # DNS_TTL[0]=uu # DNS_ZONEID[1]=ZKKK # DNS_NAME[1]=LLL.com. # DNS_TYPE[1]=CNAME # DNS_VALUE[1]=MMM.com. # DNS_TTL[1]=vv ############################################################################### function main() { VIP_RCD=0 if [ ${#VIP_ADDRESS[@]} -gt 0 ] then delete_vip rc=$? if [ $rc -ne 0 ] then VIP_RCD=1 fi fi EIP_RCD=0 if [ ${#EIP_ADDRESS[@]} -gt 0 ] then delete_eip rc=$? if [ $rc -ne 0 ] then EIP_RCD=2 fi fi DNS_RCD=0 if [ ${#DNS_NAME[@]} -gt 0 ] then delete_dns rc=$? if [ $rc -ne 0 ] then DNS_RCD=4 fi fi RCD=$(($VIP_RCD|$EIP_RCD|$DNS_RCD)) return $RCD } ############################################################################### :(以下を編集しないこと)
サーバごとに,サンプルファイルを/opt/hitachi/HAmon/etc配下にコピーして,server_aws.upをサーバ識別名.upに,server_aws.downをサーバ識別名.downにリネームしてください。
サーバ識別名.up/downで設定が必要なシェル変数について説明します。
- メモ
-
ここで説明する[n]は配列の添え字です。VIP,EIP,または業務通信に使用するDNS名が1つの場合,[n]は0です。複数ある場合,1つ目の[n]は0,2つ目の[n]は1,のように,添え字が0から順に1ずつ増加するように設定してください。
サンプルファイルからコピーした状態では,シェル変数部分はコメント行となっています。コメント行を表す先頭の"#"を削除してから,設定してください。例えば,VIPが1つの場合は,次のシェル変数について,コメント"#"を削除し,シェル変数を設定します。
-
VIP_ADDRESS[0]
-
VIP_RTB[0]
-
VIP_ENI[0]
-
VIP_LABEL[0]
2つの場合は,次のシェル変数について,コメント"#"を削除し,シェル変数を設定します。
-
VIP_ADDRESS[0]
-
VIP_RTB[0]
-
VIP_ENI[0]
-
VIP_LABEL[0]
-
VIP_ADDRESS[1]
-
VIP_RTB[1]
-
VIP_ENI[1]
-
VIP_LABEL[1]
3つ目以降については,シェル変数をコピーするなどの方法で,設定してください。
-
- VIP制御によって業務通信を切り替える場合
-
"VIP_"から始まるシェル変数を次のとおりに設定してください。
-
VIP_ADDRESS[n]
業務IPアドレスとして使用するVIPを設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
VIP_RTB[n]
VIP宛の通信をするインスタンスがあるサブネットに関連づけられた,ルートテーブルの固有IDを設定してください。複数設定する場合は,1つ以上の半角スペースまたはタブで区切り,全体をダブルクォーテーションで囲んで設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
VIP_ENI[n]
VIP宛の通信を受信する自インスタンスに付与されているENIの固有IDを設定してください。系によって値が異なります。
-
VIP_LABEL[n]
VIPを付与するOS上のLANインタフェースを"LANインタフェース名:xxx"の形式で設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
- EIP制御によって業務通信を切り替える場合
-
"EIP_"から始まるシェル変数を次のとおりに設定してください。
-
EIP_ADDRESS[n]
業務IPアドレスとして使用するEIPを設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
EIP_ENI[n]
EIPと関連づけるENIの固有IDを設定してください。系によって値が異なります。
-
EIP_LABEL[n]
EIPを付与するOS上のLANインタフェースを"LANインタフェース名:xxx"の形式で設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
- DNS名制御によって業務通信を切り替える場合
-
レコードの変更方法によって,LANの状態設定ファイルのシェル変数の設定方法が異なります。シェル変数の設定要否を次の表に示します。
表5‒1 LANの状態設定ファイルのシェル変数の設定要否 レコードの変更方法
シェル変数の設定要否
サーバ識別名.upファイル
サーバ識別名.downファイル
レコードを更新する方法
必要
不要※
レコードを削除したあとレコードを追加する方法
必要
必要
- 注※
-
シェル変数の設定は不要ですが,サーバ識別名.downファイルは/opt/hitachi/HAmon/etc配下に作成する必要があります。
"DNS_"から始まるシェル変数のコメントアウトを外し,次のとおりに設定してください。
-
DNS_NAME[n]
業務通信に使用するDNS名を設定してください。すべての系切り替え構成内で同じ設定にしてください。
-
DNS_ZONEID[n]
業務通信に使用するDNS名を管理対象に含む,ホストゾーンのIDを設定してください。すべての系切り替え構成内で同じ設定にしてください。
なお,ホストゾーンIDの確認方法は次のとおりです。
1. Amazon Route 53コンソール上で,「ホストゾーン」をクリックする。
2. ホストゾーンの一覧の中から,業務通信に使用するDNS名を管理対象に含むホストゾーンを選択する。
3. ホストゾーンの詳細情報から,ホストゾーンIDを確認する。
-
DNS_TYPE[n]
DNSレコードタイプ(AレコードタイプまたはCNAMEレコードタイプ)を設定してください。Aレコードタイプは,名前解決の結果であるIPv4アドレスを記録します。CNAMEレコードタイプは,名前解決を実行する別のDNS名を記録します。すべての系切り替え構成内で同じ設定にしてください。
-
DNS_VALUE[n]
DNSレコードタイプがAレコードタイプの場合はIPv4アドレス,CNAMEレコードタイプの場合はDNS名を設定してください。設定する値は系ごとに異なります。
-
DNS_TTL[n]
リゾルバがレコードをキャッシュしておく時間(秒)を設定してください。
DNS_TTLで設定された時間内は,キャッシュ内の値を使用して業務通信します。
DNS_TTLの値が大きすぎると,HAモニタが実行サーバを系切り替えしても,切り替え元の系で業務通信するおそれがあります。そのため,次の手順でDNS_TTLを決めてください。
1. DNS名制御を使用した計画系切り替えを実施し,系切り替え時間を計測※する。
2. 計測した系切り替え時間より小さい値をDNS_TTLに設定する。
注※ 系切り替え元でメッセージKAMN290-Iを出力してから,系切り替え先でメッセージKAMN311-Iを出力するまでの時間を計測します。