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

AWS Transit Gatewayを利用したHAクラスター構築~異なるVPCからAWS VIPリソースにアクセス~(Windows/Linux)

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

はじめに

AWS Transit Gateway(以降、Transit Gateway)を利用して、Amazon Web Services(以降、AWS)上に構築した、VIP制御によるHAクラスター環境への接続を試してみました。

popup以前のブログでは、オンプレミス(疑似環境)からAWS上のVPCにあるHAクラスターのAWS仮想IPリソース(以降、VIP)に接続する記事をご紹介させていただきました。
同様に、AWS上のそれぞれ異なるVPCに配置したクライアントマシンとHAクラスターの間をVIPで接続することも可能です。

今回は、下記のケースを想定して、HAクラスターと異なるVPCに配置したクライアントマシンから、HAクラスターのVIPへ接続する方法をご紹介します。

  • AWS上でクライアントマシンとHAクラスターをそれぞれ異なるVPCに配置して、データのやりとりを行いたい。
  • クライアントマシンからVIPを用いてHAクラスターに直接アクセスしたい。

この記事の内容

1. HAクラスター構成

東京リージョンのVPC環境に、「VIP制御によるHAクラスター」を構築します。
また、別のVPC環境にHAクラスターにアクセスするクライアントマシンを配置し、Transit Gatewayを使用してVPC間を接続します。

  • VPC間を接続する方法にAmazon VPCピアリング接続(以降、VPCピアリング接続)がありますが、VPCピアリングで接続された環境では、VIPへの接続ができません。
    Transit Gatewayを利用してVPC間を接続することで、VIPへの接続が可能となります。

今回の構成は以下の通りです。

2. HAクラスターの構築手順

2.1 VIP制御によるHAクラスターの構築

2.1.1 HAクラスター構築の事前準備

事前にVPCを作成します。VPCの構成は以下の通りです。

HAクラスター側

  • VPC-10(VPC ID:vpc-1234abcd)
  • CIDR:10.0.0.0/16
  • Subnets
  • Subnet-A1 (サブネット ID:sub-1111aaaa):10.0.10.0/24
  • Subnet-A2 (サブネット ID:sub-2222aaaa):10.0.110.0/24
  • Subnet-C1 (サブネット ID:sub-1111cccc):10.0.20.0/24
  • Subnet-C2 (サブネット ID:sub-2222cccc):10.0.120.0/24

クライアントマシン側

  • VPC-11(VPC ID:vpc-5678cdef)
  • CIDR:11.0.0.0/16
  • Subnets
  • Subnet-A1 (サブネット ID:sub-1111abcd):11.0.10.0/24

2.1.2 VIP制御によるHAクラスターの構築

「VIP制御によるHAクラスター」を構築します。
CLUSTERPROの構成は popup以前のブログでご紹介した「4.1.2 VIP制御によるHAクラスターの構築」を参考にしてください。

2.2 Transit Gatewayの作成

Transit Gatewayを作成し、クライアントマシン側のVPCとHAクラスター側のVPCを接続します。
設定方法はpopup以前のブログでご紹介した「4.2 Transit Gatewayの作成」を参考にしてください。

クライアントマシン側のVPCと接続するためのTransit Gateway Attachment、HAクラスター側のVPCと接続するためのTransit Gateway AttachmentはいずれもAttachment TypeにVPCを選択して作成します。

Transit Gatewayの作成後、異なるVPCからの接続を許可するようにセキュリティグループを設定します。
アウトバウンドについてはデフォルトのままでルールの追加や削除は行いません。

HAクラスター側

  • Security Group
  • インバウンドのルール
  • タイプ:すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • ■ソース:11.0.0.0/16
  •  

クライアントマシン側

  • Security Group
  • インバウンドのルール
  • タイプ:すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • ■ソース:10.0.0.0/16
  •  

また、各VPCからの通信がTransit Gatewayへ向かうようにルーティング設定を作成します。

HAクラスター側

  • RouteTable
  • Route-A2 (ルートテーブル ID:rtb-0000000a)
  • >11.0.0.0/16 → tgw-1234abcd (Transit Gateway ID)
  • Route-C2 (ルートテーブル ID:rtb-0000000c)
  • >11.0.0.0/16 → tgw-1234abcd (Transit Gateway ID)

クライアントマシン側

  • RouteTable
  • Route-A1 (ルートテーブル ID:rtb-0000001a)
  • >172.16.0.1/32 → tgw-1234abcd (Transit Gateway ID)
  • 上記の設定とは別にHAクラスター側のTransit Gateway Attachmentが参照するルートテーブルに、VIPアドレスに対するルーティング設定があることを確認してください。
    VPC用のTransit Gateway Attachmentを作成する際に、各Availability Zoneのどのサブネットに作成するかを指定します。
    クライアントマシンは、HAクラスター側のTransit Gateway Attachmentを経由してVIPアドレスにアクセスするため、「Transit Gateway Attachmentを作成したサブネット」に関連付けられたルートテーブルに、VIPアドレスに対するルーティング設定を追加する必要があります。
     例) 172.16.0.1/32(VIPアドレス) → eni-xxxxxxxxxxx(現用系EC2のENI ID)
    既にVIPアドレスに対するルーティング設定を追加済みの場合は、設定不要です。

3. 動作確認

クライアントマシンからVIP(172.16.0.1)を使用して、現用系EC2インスタンスにアクセスできることを確認します。

  • 1.現用系EC2インスタンスでフェールオーバーグループを起動します。
  • 2.クライアントマシンから、VIP(172.16.0.1)にアクセスし、現用系EC2インスタンスに接続できることを確認します。
  • 3.Cluster WebUIから、フェールオーバーグループを現用系EC2インスタンスから待機系EC2インスタンスに、手動で移動します。
  • 4.クライアントマシンから、VIP(172.16.0.1)にアクセスし、待機系EC2インスタンスに接続できることを確認します。

クライアントマシンからVIPを使用してHAクラスターに接続できることを確認できました。

さいごに

今回は Transit Gatewayを使用して、AWS上のそれぞれ異なるVPCに配置したクライアントマシンとHAクラスターの間でもVIPで接続できることを確認しました。
HAクラスターと異なるVPC上に配置したクライアントマシンから、HAクラスターのVIPへ直接アクセスしたいご要望がある場合は、是非お試しください。

本記事の構成をご検討の際は、CLUSTERPROのpopup試用版を用いて検証した後、ご提案・構築ください。

お問い合わせ

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