アマゾン ウェブ サービス ジャパン株式会社
AWSでの高可用性をHAクラスターで実現する方法
AWSのIaaS『 Amazon EC2 』は、OSより上位はユーザーの責任範囲になります。ミッションクリティカルなシステムを運用する場合は、特にしっかりとした障害対策が必要です。
Amazon EC2上での障害対策にベストなソリューション、HAクラスター製品『LifeKeeper+DataKeeper』を活用した場合の高可用性実現の方法をご紹介します。
『LifeKeeper』がAmazon EC2上でできること
仮想マシンの監視と障害時の自動復旧(ノード監視)
LifeKeeperはAvailability Zone(AZ)またはリージョンを跨いだ構成でEC2インスタンスを冗長化します。冗長化されたEC2インスタンス間でハートビート通信を相互に行うことにより、クラスターノードの死活監視を行います。
ハートビートにより稼働系のノードの障害が検知された場合、待機系のノードに制御を切り替えることで最小限の時間による自動復旧を実現します。(手動による切り替えも可能)
ソフトウェアの監視と障害時の自動復旧(リソース監視)
ノード監視と並行して稼働系のノードにて保護対象に設定されているソフトウェアの監視も行います。障害が検知されれば自動的に待機系のノードに切り替えて、迅速にサービスを復旧します。
Amazon EC2環境では下記の構成が基本となります。
- LifeKeeper:ノード監視とリソース監視
- DataKeeper:ブロックレベルのリアルタイム同期
広域障害への対応
停電や災害などで、クラウド環境が使えなくなるケースが今後も考えられます。
LifeKeeperは下記の2つの方式で復旧することで、広域障害が起きてもサービスの継続が可能です。
- 別のAZで復旧:AZを跨いだ構成はLifeKeeperの基本的な構成です。
- 別のリージョンで復旧:リージョンを跨いだ構成にも対応しています。リージョンを跨いだ構成例はこちらをご参照下さい。
CloudWatch(Auto Recovery)との違い
AWSのCloudWatch(Auto Recovery)サービスは、物理ホストの障害時に同一のAZ内の別の物理ホスト上でEC2インスタンスを復旧する機能です。LifeKeeperを使うことで、「ソフトウェアの障害からの復旧」と「AZを跨いだ障害復旧」が実現します。
また、LifeKeeperによるHAクラスター構成は、保護対象のソフトウェアは待機系では起動していませんが、OSは稼働系/待機系の両系で起動しています。Auto Recoveryの復旧は再起動が基本となるため、LifeKeeperの方が短時間の復旧が可能です。
LifeKeeper | Auto Recovery | |
物理ホストの障害の復旧 | ◯ | ◯ |
ソフトウェアの障害 | ◯ |
X ※ソフトウェアの障害の 復旧はできない |
AZを跨いだ復旧 | ◯ |
X ※AZを跨いだ 復旧はできない |
『LifeKeeper』によるAmazon EC2の冗長化構成の例
止められない基幹系システムをAmazon EC2に構築する場合は、得られる高可用性とのコストバランスの良いHAクラスター構成が最適です。しかしクラウド環境に対応しているHAクラスター製品は少ないのが現状です。
LifeKeeperは標準機能でAmazon EC2上で要件となるHAクラスター構成をほぼ網羅しています。
その中で代表的な構成をご紹介します。
仮想IPとルートテーブルの書き換えによる制御
クライアント(クラスターノードと通信するマシン)は仮想IPに向けて通信することでActiveノードに到達できます。
AWS環境でAZを跨ぐとサブネットも跨いでしまいますが、VPCのCIDR外の仮想IPをルートテーブルに登録し、転送先のActive/StandbyノードのENIをクラスターの切り替え時にLifeKeeperからAWS CLIを介して書き換えることで、クライアントは常にActiveノードに到達できます。
Transit Gatewayを使うことで、AWSの外部(オンプレミス)からDirect Connectなどの閉域網を経由しても、仮想IPに向けた通信が可能となります。
実IPとRoute53のAレコードの書き換えによる制御
Transit Gatewayが使えないなどの要因で上記の方式が使えない場合、Route53の名前解決による通信制御が可能です。
クライアントはRoute53により名前解決された実IPに向けて通信することで、Activeノードへ到達できます。
Route53のAレコードをクラスターの切り替え時にLifeKeeperからAWS CLIを介して書き換えることで、クライアントは常にActiveノードに到達できます。
NLBのヘルスチェックによる制御
NLB(Network Load Balancer)のヘルスチェックに応答するノードに通信する方式にも対応しています。セキュリティ要件によりAWS CLIによる構成変更が実施できない場合にはこの方式をご検討下さい。
リージョンを跨いだ構成
仮想IPとルートテーブルの書き換えによる制御
LifeKeeper for Linux v9.9.0から提供された新機能です。(今後LifeKeeper for Windowsでも対応予定)
当機能が想定している構成です。
HAクラスターはリージョンAとリージョンBを跨いで構成されています。クライアントはリージョンA、B、Cのいずれかにあることを想定しています。
各クライアントからPrimaryノードへの通信は、下図のイメージとなります。各VPCのルートテーブルと各Transit Gatewayのルートテーブルは、送信先が仮想IPのエントリーの転送先をLifeKeeperから制御します。これにより、各クライアントから仮想IPに向けて通信することでPrimaryノードへ到達します。
クラスターの切り替わり時には、LifeKeeperのクラスターリソース情報にセットされた仮想IPアドレスをキーに必要情報を芋づる式に取得し、ルートテーブルに仮想IPのエントリーが存在すれば、転送先を適宜変更して通信制御が行われます。
クラスターが切り替わると、各クライアントからBackupノードへの通信は、下図のイメージとなります。各クライアントから仮想IPに向けて通信することでBackupノードへ到達します。
下記のブログも合わせてご参照下さい。
クラウド時代の災害対策 ~ Amazon EC2の仮想IPによるクロスリージョンDR構成のサポート開始 ~
実IPとRoute53のAレコードの書き換えによる制御
VPCピア接続を条件にRoute53のAレコードの書き換えによる制御に対応しています。
クラスターノード間のデータ共有に
共有ディスクサービスを使う構成
クラスターノード間のデータ共有方法として、上記のDataKeeperに加えて共有ストレージ構成(Amazon FSx for NetApp ONTAP)もサポートされています。元々高度なデータ管理と高いパフォーマンスで実績のあるNetApp ONTAPが、AWSのマネージドサービスとして提供されることで、物理的なインフラの負担を減らして高度なデータ管理を行うことが期待できます。
◇動作要件
- 対象バージョン
・LifeKeeper for Linux v9.9.0以降
・LifeKeeper for Windows v8.10.1以降
- 対応しているプロトコルは下記のとおりです。
・LifeKeeper for Linux:iSCSI、NFS
・LifeKeeper for Windows:iSCSI
- AZを跨いだ構成(マルチAZ構成)のみがサポート対象となります。
- Quorum/Witnessの使用が必須となります。
Linux環境の構成イメージ
Windows環境の構成イメージ
LifeKeeperとFSx for NetApp ONTAPとの連携の詳細は下記をご参照下さい。
FSx for NetApp ONTAPについては下記をご参照下さい。
これを読めばわかる!
Amazon EC2上でのHAクラスター構成パターン
Oracle(データベース)、JP1(統合システム運用管理)、HULFT(ファイル転送)などのアプリケーション対応や、オンプレミスからの接続、別のVPCからの接続など、AWSで想定される様々なシナリオにおけるHAクラスターの構成例と手順を紹介した資料です。
Amazon EC2上でのHAクラスター構成パターンをダウンロード
『LifeKeeper+DataKeeper』が提供する4つの価値
1.AWSとの連携
LifeKeeperは、AWS FTR(Foundational Technical Review)認定製品で、AWS ISV Accelerate プログラムに参加 しています。Amazon EC2上でも安心してご利用いただけます。
2.クラウド環境での導入実績多数
国内で500件以上のクラウド環境の導入実績がございます。
>>導入事例はこちら
3.GUIで直感的な構築
GUIでの直感的な構築が可能です。JP1やOracleなど、HAクラスター化するためのAppication Recovery Kits (オプション製品)が用意されているアプリケーションはスクリプトを作成をする必要がありません。
4.手厚い製品サポート
エンタープライズのシステムにふさわしい手厚い製品サポート(国内での24x365サポートなど)で、より安心してご利用いただけます。
AWS Marketplaceで、LifeKeeperを簡単・迅速に導入可能!
AWS Marketplaceでのご購入が可能です。購入や導入がシンプルかつスピーディーになります。また、契約や請求がAWSに一本化され、購買工数を大幅に削減。さらに、AWSが検証した信頼性の高いソリューションで安心してご利用いただけます。Amazon Private Offerや時間単位のライセンス購入など、柔軟な利用オプションも充実。詳しくはこちらのページをご覧ください。
Amazon EC2での障害対策ならHAクラスターソフトウェア『LifeKeeper+DataKeeper』で!
AWS関連の資料がまとめてダウンロード可能です。AWS環境でのHAクラスター導入をご検討中の方は、ぜひダウンロードしてご覧ください!