Japan
サイト内の現在位置を表示しています。
AWS Transit Gatewayを利用したHAクラスター構築~異なるVPCからAWS VIPリソースにアクセス~(Windows/Linux)
CLUSTERPRO オフィシャルブログ ~クラブロ~
はじめに
AWS Transit Gateway(以降、Transit Gateway)を利用して、Amazon Web Services(以降、AWS)上に構築した、VIP制御によるHAクラスター環境への接続を試してみました。
以前のブログでは、オンプレミス(疑似環境)から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の構成は 以前のブログでご紹介した「4.1.2 VIP制御によるHAクラスターの構築」を参考にしてください。
2.2 Transit Gatewayの作成
Transit Gatewayを作成し、クライアントマシン側のVPCとHAクラスター側のVPCを接続します。
設定方法は以前のブログでご紹介した「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の試用版を用いて検証した後、ご提案・構築ください。
お問い合わせ