第4回 【LifeKeeper】AWSでは仮想IPアドレスが使えない!?をこうして解決する!!

こんにちは、SCSK株式会社の池田です。

前回は、AWSで可用性を上げるために「LifeKeeper」が有効であることをお伝えしました。4回目の今回は、AWS環境でLifeKeeperを使ったHAクラスタを構成する際の接続方式についてお伝えします。

 

AWSでは仮想IPアドレスが設定できない!?

第1回「HAクラスタウェア「LifeKeeper」で可用性を高めよう!」でもお伝えした通り、オンプレミス環境や仮想環境(vSphere)では、仮想IPアドレス(Virtual IPアドレスとも言います)に接続することで、利用者はどちらのサーバに接続しているかを意識する必要がありませんでした。

しかしながら、AWSでは仮想IPアドレスの機能が提供されていません。

ではLifeKeeperでは、どのようにして冗長化されたサーバへの接続を実現させているのでしょうか?
今回は、LifeKeeperで用意されている接続方式にどのようなものがあるかについて説明します。

AWSでは仮想IPアドレスの機能がないのね

仮想IPアドレスに代わる2つの接続方式

LifeKeeperには、仮想IPアドレスに代わる接続方式が2つ用意されています。
今回お伝えする2つ以外の方式もありますが、それらの接続方式が使用されるケースは非常に稀な為、割愛します。

1.ルートテーブルを使用した接続方式

まず一つ目はルートテーブルを使用した接続方式です。

先述した通り、AWSでは仮想IPアドレスの機能が提供されていません。
その為、LifeKeeperを構成するサーバが存在するVPCのCIDR外に「ダミーの仮想IPアドレス」を用意し、その「ダミーの仮想IPアドレス」と「稼働系サーバのENI」をルートテーブルで紐づけることによって、稼働系サーバにアクセスできるようにする接続方式です。
この方式については、LifeKeeperに同梱されている「Recovery Kit for EC2」というオプション製品で実現できます。

イメージ図は以下の様になります。

 

(1)クライアントは「ダミーの仮想IPアドレス」(図では10.1.0.10)にアクセスします。
(2)ルートテーブルには予め「ダミーの仮想IPアドレス」のTargetとして稼働系サーバのENI(図では10.0.2.4)を
指定しておくことによって、クライアントからの通信が稼働系サーバに送信されます。
(3)障害が発生しフェイルオーバ処理が必要となった際には、LifeKeeperの機能(AWS CLIが自動実行)により、
ルートテーブルの「ダミーの仮想IPアドレス」のTargetが待機系サーバのENI(図では10.0.4.4)に書き換えられます。
このイメージ図では、クライアントはLifeKeeperを構成するサーバが存在するVPC内に存在していますが、AWS Transit Gatewayを組み合わせることによって、VPC外(オンプレミスや別のVPC)のクライアントからの通信にも対応できます。
この構成については、また別の機会にご説明します。

2.Route53を使用した接続方式

もう一つの接続方式はAmazon Route53(以下、Route53)を用いるものです。
Route53はご存じのかたも多いと思いますが、AWSが提供するグローバルに分散されたDNSの機能です。

Route53のAレコードには、稼働系ノードのIPアドレスを指定しておくことで、稼働系サーバにアクセスできるようにする接続方式です。
この方式については、LifeKeeperに同梱されている「Recovery Kit for Route53」というオプション製品で実現できます。

イメージ図は以下の様になります。

(1)クライアントはホスト名(図ではscsk.jp)でクラスターにアクセスし、Amazon Route53で名前解決を行い、
名前解決したIPアドレスで稼働系サーバにアクセスを試みます。
(2)Amazon Route53のAレコードには、稼働系サーバのIPアドレス(図では10.0.2.4)を指定しておくことで、
クライアントからの通信が稼働系へ送信されます。
(3)障害が発生しフェイルオーバ処理が必要となった際には、LifeKeeperの機能(AWS CLIが自動実行)により、
Amazon Route53のAレコードを待機系サーバのIPアドレス図では10.0.4.4)へ書き換えることで、
以降のクライアントからの通信は10.0.4.4へ到達します。

まとめ

今回は、AWSにおける2つの接続方式についてご説明しましたがいかがでしたでしょうか?いずれの方式もサイオステクノロジーからARKが提供されているので、比較的容易に構成することができますね。

まとめますと

・AWSで仮想IPアドレスの機能が提供されていない
・仮想IPアドレスに代わる接続方法としては、主にルートテーブルとRoute53を使用した方法がある
・2つの接続方式を実現する為のARKがサイオステクノロジーから無償で提供されている。

次回は、今回お伝えした2つの接続方式について、どのような構成の場合にどちらの方式を選択するかについてお伝えします。お楽しみに!!

タイトルとURLをコピーしました