サイト内の現在位置を表示しています。

AWS環境におけるHAクラスターのベストプラクティス構成(Windows/Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

Amazon Web Services(以降、AWS)環境におけるVIP制御によるHAクラスターのベストプラクティス構成をご紹介します。

本ブログ(popupクラブロ)では、AWS環境におけるHAクラスターの構築方法を多くご紹介してきました。
ご紹介した記事の中には、AWS環境に構築したHAクラスターとAWSのサービスを組み合わせることで、より使いやすい構成を実現する方法があります。
例えば、これまではオンプレミス環境からAmazon Virtual Private Cloud(以降、VPC)内に構築したVIP制御によるHAクラスターへVIPを使用してアクセスすることはできませんでしたが、AWS Transit Gateway(以降、Transit Gateway)を利用することで、オンプレミス環境などのVPC外のクライアントからVIP制御によるHAクラスターへVIPを使用したアクセスが可能になります。

今回は、これまでにご紹介した記事の中でも問い合わせを多くいただいている以下の3つを組み合わせたHAクラスター構成を、AWS環境におけるVIP制御によるHAクラスターのベストプラクティス構成としてご紹介します。

  • Transit Gateway
    (VPC外のクライアントからVIPを使用してHAクラスターにアクセスが可能)
  • VPCエンドポイント
    (HAクラスターからインターネットへのアクセス経路が不要)
  • 強制停止スクリプト
    (両系活性を防止)

  • 本記事で紹介する構成は、AWS上のHAクラスターを構築する際の必須の構成ではありません。
  • AWS上のHAクラスターの構成は、要件に合わせてご検討・構築ください。

これまでにご紹介したAWS環境におけるHAクラスターの構成、および、HAクラスター構成の選択方法については、popupこちらでご紹介していますので併せて参照ください。

この記事の内容

1. AWS環境におけるHAクラスターのベストプラクティス構成

今回ご紹介するVIP制御によるHAクラスターのベストプラクティス構成は以下の通りです。

本構成のHAクラスターを構築することで、以下が可能になります。

  • 1.VPC外のクライアントからVIPに対してアクセスできる
  • 2.HAクラスターからインターネットへのアクセス経路が不要となる
  • 3.両系活性を防ぐ仕組みを実現できる

2. AWS環境におけるHAクラスターの制限事項・注意事項

AWS環境におけるHAクラスター構築ガイドでご紹介しているVIP制御によるHAクラスター構成では、いくつか制限事項や注意事項がありました。

制限事項や注意事項として、以下があります。

  • 1.VPC外のクライアントはVIPに対してアクセスできない
  • 2.HAクラスターからインターネットへのアクセス経路が必要である
  • 3.両系活性が発生する可能性がある

2.1 VPC外からVIPにアクセスできない

VIP制御によるHAクラスター構成では、VPC外(オンプレミス環境や異なるVPC)のクライアントから、VIPを使用してHAクラスターにアクセスすることができないため、クライアントはHAクラスターと同じVPC内に配置する必要があります。
これは、VIPで利用するIPアドレスにHAクラスターを構築するVPCのCIDR外のIPアドレスを利用するためです。
例えば、VPCのCIDRを10.0.0.0/16、VIPで利用するIPアドレスを20.0.0.100とする場合、HAクラスターと同じVPC内のクライアント(IPアドレス:10.0.x.x/32)からのみ、VIPを使用してHAクラスターにアクセスできます。
一方で、VPC外のクライアントは、AWSの仕様上、VIPを使用してHAクラスターにアクセスすることができません。

2.2 HAクラスターからインターネットへのアクセス経路が必要である

VIP制御によるHAクラスター構成では、HAクラスターを構成するインスタンスがVIPの切り替え時にAWS Command Line Interface(以降、AWS CLI)を使用します。各インスタンスはAWS CLIの実行時に、インターネット経由でAWSのエンドポイントへアクセスします。
この構成の場合、HAクラスターと同じVPCにインターネットゲートウェイやNATゲートウェイ/NATインスタンスを用意するなど、インターネットへのアクセス経路を確保する必要があります。

AWSサービスへの接続イメージ

2.3 両系活性が発生する可能性がある

CLUSTERPROでは、両系活性を防止する方法としてハートビートリソースやネットワークパーティション解決(以降、NP解決)が設定可能です。
ハートビート、ネットワークパーティション、ネットワークパーティション解決の解説についてはpopupこちらを参照ください。

AWS上のHAクラスター構成では、ハートビートリソースには、カーネルモードLANハートビートリソースを設定します。
さらに、推奨構成として、カーネルモードLANハートビートリソースに追加してWitnessハートビートリソースやHTTP NP解決を設定する方法があります。
HAクラスターを構築するサーバーとは別にWebサーバーを用意して、Webサーバーへのアクセス情報により相手サーバーの生存確認をします。

その他、NP解決にPingNP解決を設定する方法があります。
オンプレミス環境とAWS環境をAWS Direct Connect(以降、Direct Connect)を使用して接続する場合などでは、PingNP解決のターゲットにオンプレミス側のゲートウェイを指定して、PingNP解決を実現します。

しかし、適切なNP解決のターゲットがない場合やOSがストールした場合などにおいて、HAクラスターで両系活性が発生する可能性があります。
例えば、ネットワークパーティション状態が発生する状況として、HAクラスターを構築するAvailability Zone(以降、AZ)間の通信が遮断された場合があります。
PingNP解決において、PingNP解決のターゲットにHAクラスターと同じVPC内のNATインスタンスを指定していると、AZ間の通信は途絶えますが、同じAZに属するNATインスタンスに対するping通信は可能であるため、各インスタンスは「相手サーバーで問題が発生した」と判断してフェールオーバーグループを起動しようとします。
その結果、各インスタンスでフェールオーバーグループが起動する両系活性が発生します。

NP発生

3. AWS上のHAクラスターのベストプラクティス構成の構築

「2. AWS上のHAクラスターの制限事項・注意事項」について、AWSのサービスと連携することで、それぞれ解決することができます。

以下の3つを利用・設定することで、VPC外のクライアントからもVIPを使用してHAクラスターにアクセスでき、HAクラスター自体のプライベートなネットワーク経路の確保やネットワークパーティション発生時の両系活性を防ぐことが可能になります。

  • 1.Transit Gatewayを利用する
  • 2.VPCエンドポイントを利用する
  • 3.強制停止スクリプトを設定する

3.1 Transit Gatewayを利用する

「2.1 VPC外からVIPにアクセスできない」は、Transit Gatewayを利用することでVPC外(オンプレミス環境や異なるVPC)のクライアントからも、VIPを使用してHAクラスターにアクセスすることができます。

また、既存のHAクラスターに対してTransit Gatewayを利用する場合、HAクラスターの設定を変更することなく適用することが可能です。
Transit Gatewayを利用したHAクラスターの構築手順については、以下を参照ください。
オンプレミス環境からのアクセスの場合はpopupこちらを参照ください。
異なるVPCからのアクセスの場合はpopupこちらを参照ください。

3.2 VPCエンドポイントを利用する

「2.2 HAクラスターからインターネットへのアクセス経路が必要である」は、VPCエンドポイントを利用することで、AWSのエンドポイントに対して、インターネットを経由しないアクセス経路を確保することができます。
ただし、DNS名制御によるHAクラスター構成の場合は、AWS Route 53がVPCエンドポイントに対応していないため、利用することができません。

VPCエンドポイントを利用したHAクラスターの構築手順についてはpopupこちらを参照ください。

3.3 強制停止スクリプトを設定する

「2.3 両系活性が発生する可能性がある」は、強制停止スクリプトを設定することで両系活性を防ぐことができます。

強制停止スクリプトを設定したHAクラスターの構築手順についてはpopupこちらを参照ください。

さいごに

今回はAWS環境におけるVIP制御によるHAクラスターのベストプラクティス構成をご紹介しました。
本構成にすることで、オンプレミス環境や異なるVPCにあるクライアントから、VIPを使用してHAクラスターにアクセスが可能となり、稼働時のHAクラスターはプライベートなネットワーク経路が確保されます。
さらに、ネットワークパーティション発生時の両系活性を防ぐことができます。
AWS環境におけるHAクラスターのベストプラクティス構成を、ぜひご検討ください。

お問い合わせ

本記事に関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。