構成の名称
- Recovery Kit for EC2の「ルートテーブルシナリオ」による制御
構成の前提
- クラスターノードから見たクライアント(例:DBを冗長化している場合のAPサーバー等)が、クラスターノードと同じVPC内にある場合
構成の特徴
- LifeKeeperではAZを跨いだ構成を標準としてます。AWSではAZを跨ぐとサブネットも跨ぐことになってしまうので、同一サブネットが基本のオンプレミスのように仮想IPアドレスが稼働系ノードと待機系ノードの間で切り替わるだけでは、Privateサブネット内のクライアントからの通信をうまくルーティングを制御できません。
- そこでルートテーブルシナリオでは、VPCのレンジ外のダミーの仮想IPアドレス(下図では10.1.0.10)を用意して、クライアントからはこのダミーの仮想IPアドレスに対するアクセスします。
- クライアントからの通信はルートテーブルで制御されます。ルートテーブルには予めダミーの仮想IPアドレスのターゲットとして、稼働系ノードのENIが登録されています。これによりクライアントからの通信は稼働系ノードに正しく到達します。
- フェイルオーバー時には、LifeKeeperからAWS CLIを使用してルートテーブルの仮想IPのターゲットを待機系ノードに自動的に紐づけ直すことで、クライアントからはStandbyノードへの通信が可能となります。
- 制約事項として、AWSの仕様上当構成(ダミーの仮想IPアドレスとルートテーブルによるルーティング制御)はクライアントがクラスターノードと同じVPC内にある必要があります。VPC外にクライアントがある場合は、Transit Gatewayを組み合わせる構成がサポートされています。
<ルートテーブルシナリオの概念図>
関連資料
- マニュアル
- 詳細な構築手順(StepByStepガイド)
- Linux版:3.【Linux】Amazon EC2環境でのHAクラスター構築 Step by Step ガイド【ルートテーブルシナリオ編】
- Windows版:5.【Windows】Amazon EC2環境でのHAクラスター構築 Step by Step ガイド【ルートテーブルシナリオ編】
- スプリットブレイン対策として、Quorum/Witnessの使用が推奨されています。詳しくは下記をご参照ください。
- 連携ソリューションページ