みなさん、こんにちは。SCSKの津田です。
先日AWSクラウド環境にてLifeKeeperの構築を行っていたところ、Amazon Route 53のリソース作成ができない事象が発生しました。
当初は単なるエラー対応で解決するかと思っていましたが、要件定義レベルの見直しが必要になる事態に発展してしまいました…
今回はその体験記を共有いたします。
本記事がLifeKeeperでRoute 53リソースを作成予定の方、また同様の問題が発生して困っている方にとっての参考になれば幸いです。
前提(構成について)
まず、前提としてLifeKeeperの構築を行っていた環境の構成をお話します。
第4回 【LifeKeeper】AWSでは仮想IPアドレスが使えない!?をこうして解決する!!でもお伝えした通り、
AWS環境では仮想IPアドレスの機能が提供されていないため、今回の環境では、Amazon Route 53を利用した接続方式を採用しました。
そのためLifeKeeperでは「Recovery Kit for Route 53」でAmazon Route 53リソースを作成することにより、Amazon Route 53のホストゾーン上の一部レコードを管理し、VPC外のクライアントからクラスタへの接続を冗長化する構成で環境構築を進めていました。
■OS:Redhat Enterprise Linux release 8.6
■LifeKeeper:LifeKeeper for Linux Version 9.8.0
Amazon Route 53リソースの作成ができない!
LifeKeeperGUI画面でAmazon Route 53リソースの作成を進めていたところ、
プライマリサーバでのリソース作成時に以下のような画面が表示され、先に進めなくなってしまいました。
メッセージによれば複数のゾーンが該当したとのこと…
<GUI表示画面>
※上記画面はRoute 53リソースの作成でプライマリサーバのリソースタグ名を設定し、「Create」ボタンを押下した後に出力されました。
※上記画面で「Cancel」を押すとRoute 53リソースの作成は終了し、入力していたRoute 53リソースの設定は初期化されてしまいます。
メッセージの原因
メッセージについてサイオステクノロジー社が公開するオンラインドキュメントを確認しましたが、
関連した記述が見当たらず対処できなかったため、サイオステクノロジー社のサポート窓口へ問い合わせを行いました。
その結果、メッセージの原因は「同名のホストゾーンが存在している」ことであり、これによりRoute 53リソースが作成できないことが分かりました。
LifeKeeperでRoute53リソースを作成する際、対象のホストゾーン(ドメイン)を設定しますが、IDではなく名前で識別する仕様上、ホストゾーン名は一意である必要があるようです。
メッセージの通り、今回の環境ではパブリックホストゾーンとプライベートホストゾーンで同名のホストゾーンを2つ作成していました。
その後の対応
サポート窓口からは対応案として、重複しているホストゾーンのうちどちらか一方を削除または名前変更することを提案頂きました。
しかしこれらホストゾーンは既に稼働中の他システムでも使われており、名前の削除や変更、クラスタ用に別のホストゾーンを作成することは難しく、、、
様々な観点で検討した結果、今回の環境ではRoute53を用いた接続方式は利用せず、第8回 AWS外からAWS内のHAクラスターシステムへどう接続する!? ~ LifeKeeper ~にてお伝えしたような、ルートテーブル+Transit Gateway経由を用いた接続を行う方針へ大きく変更となりました。
皆さまもご注意を!
今回名前が重複していたホストゾーンは、それぞれパブリックホストゾーンとプライベートホストゾーンのtypeで作成しており、
ホストゾーンは同名ではあるものの異なる範囲で機能しています。
他の環境においても同様にホストゾーンを作成するケースは珍しくないかと思います。
しかし、ホストゾーンの重複が解決できない場合、LifekeeperのRoute53リソースの作成ができなくなってしまうので、要件定義段階からの注意が必要です。
LifekeeperのRoute 53リソースの作成ができない場合、クライアントからサーバへのRoute 53を用いた接続を冗長化できず、構成の見直しが発生する恐れがあります!!
なお今回起きた問題については、サイオステクノロジー社と連携をとり、LifeKeeperのオンラインマニュアルに注意書きを載せて頂くことになりました。Recovery Kit for Route 53の要件に以下のように記載頂いています。
パブリックホストゾーンとプライベートホストゾーンで同名のホストゾーンが存在しないことを確認してください。同名のホストゾーンが存在するとRoute53リソースの作成に失敗します。
(上記は2025年3月時点での記載)
※LifeKeeper for LinuxではVersion 9.6.0以降のマニュアルに記載
※LifeKeeper for WindowsではVersion 8.9.0以降のマニュアルに記載
また、現状LifeKeeperのRoute 53リソース作成ではホストゾーンを名前で指定しておりますが、
今後はIDで指定できるように検討頂くことを、サイオステクノロジー社の開発部隊へ依頼しました。
このようにSCSKのLifeKeeperチームではサイオステクノロジー社と連携をとりながらLifeKeeperの改良にも努めております。
まとめ
今回はLifeKeeperでRoute 53リソースの作成ができなかった事象を体験記としてお伝えしました。
クライアントとクラスタ間の接続方式で大幅な見直しが発生する事態にもなりかねませんので、
Route53の接続方式をとる場合は、要件定義段階から以下にご注意ください!
(=クライアントからクラスタサーバへのRoute 53を用いた接続が冗長化できなくなる。)