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

AWS Transit Gatewayを利用したHAクラスター構築~VPC外からAWS VIPリソースにアクセス~

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

はじめに

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

Transit Gatewayとは、Amazon Virtual Private Cloud(以降、VPC)とオンプレミスネットワークを単一のゲートウェイに接続できるようにするサービスです。
オンプレミス環境からVPCへのVPN接続や、VPC Peeringの接続などを、単一のゲートウェイで実現できます。

これまでは、オンプレミス環境からVPC上に構築したVIP制御によるHAクラスターへVIPを使用して接続することはできませんでした。
そのため、 popup以前のブログでは、AWS上のHAクラスターにオンプレミス環境から接続する場合は、AWS DNSリソースを使用したHAクラスター構成をご紹介してきました。

今回、Transit Gateway を利用することで、オンプレミス環境などのVPC外からVIPを使用したHAクラスターへの接続が可能となることが確認できましたので、構築手順と合わせてご紹介します。

  • AWS Transit Gateway と Direct Connect の組み合わせにおける AWS側のサポートは、2019/07/30 時点では特定のリージョンに限られています。(東京リージョンはサポート対象外。)
  • 東京リージョンで、AWS Transit Gateway が Direct Connect との接続をサポートしました。(2019/09/25時点)

この記事の内容

1. Transit Gatewayとは

Transit Gatewayは、前述のとおりVPCとオンプレミスネットワークを、単一のゲートウェイに接続できるようにするサービスです。

これまでは、複数のVPC環境をPeering接続する場合やオンプレミス環境と複数のVPC環境をVPN接続する場合に、VPCの数が増えれば増えるほど複雑な設定が必要でした。
これからは、Transit Gatewayを使用することで、とてもシンプルに環境の構築が可能となります。

また、Transit Gatewayのルーティング設定とAWS VIP制御のHAクラスター構成を組み合わせることで、オンプレミス環境などVPC外からVIPへ接続が可能になります。

【参考】

2. VIP制御によるHAクラスター構成

popup以前のブログでご紹介した、AWS VIPリソースを使用したHAクラスター構成です。

VIP制御によるHAクラスター構成

CLUSTERPROでは、AWSにおけるHAクラスター構成として、AWS VIPリソースを使用した構成をご紹介してきました。
しかし、本構成では、オンプレミス環境からVPC環境のHAクラスターには、VIPで接続することはできないという制限事項がありました。

Transit Gatewayを使用してVPN接続を構成し、Transit Gatewayのルーティング設定で、VIP宛の通信をVPCへルーティングさせることにより、オンプレミス環境からVPC環境のHAクラスターに、VIPで接続することが可能になります。

3. HAクラスター構成

今回は、東京リージョンのVPC環境に、「VIP制御によるHAクラスター」を構築します。
オンプレミス環境の疑似環境として、シンガポールリージョンにクライアントマシンを構築し、シンガポールリージョンと東京リージョンのVPC間をVPNで接続します。

  • 実際にオンプレミス環境から接続する場合は、以降のシンガポールリージョンをオンプレミス環境に読み替えてご参照ください。

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

4. HAクラスター構築手順

「VIP制御によるHAクラスター」を構築します。

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

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

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

東京リージョン

  • VPC(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(VPC ID:vpc-5678cdef)
  • CIDR:11.0.0.0/16
  • Subnets
  • Subnet-A1 (サブネット ID:sub-1111cdef):11.0.10.0/24

その他のAWS環境における事前準備の詳細はAWS構築ガイドをご参照ください。

【参考】
  • Windows > クラウド > Amazon Web Services > HAクラスタ構築ガイド
  • Linux > クラウド > Amazon Web Services > HAクラスタ構築ガイド

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

「VIP制御によるHAクラスター」を構築します。CLUSTERPROの構成は以下の通りです。
CLUSTERPROのフェールオーバーグループには「AWS 仮想IPリソース」、「ミラーディスクリソース」の2つを登録します。
AWS 仮想IPリソースを使用したHAクラスターの構築手順の詳細は、AWS構築ガイドを参照ください。

  • Transit Gatewayの連携にあたり、特別なクラスター設定は不要です。

  • CLUSTERPRO
  • フェールオーバーグループ (failover)
  • AWS 仮想IPリソース
  • IPアドレス:172.16.0.1
  • VPC ID:vpc-1234abcd
  • ミラーディスクリソース(Windows版)
  • データパーティション:M:\
  • クラスタパーティション:R:\

  • ミラーディスクリソース(Linux版)
  • データパーティション:/dev/nvme1n1p2
  • クラスタパーティション:/dev/nvme1n1p1

【参考】
  • Windows > クラウド > Amazon Web Services > HAクラスタ構築ガイド
  • Linux > クラウド > Amazon Web Services > HAクラスタ構築ガイド

4.2 Transit Gatewayの作成

Transit Gatewayを作成し、東京リージョンとシンガポールリージョンをVPNで接続します。
設定の流れは以下の通りです。

  • 1.Transit Gatewayを作成
  • 2.Transit Gateway Attachmentを作成
    Attachment TypeにVPNを選択し、シンガポールリージョンとVPNで接続するためのTransit Gateway Attachmentを作成します。
  • 3.vyosの設定
    シンガポールリージョンのvyosに設定を投入し、VPN接続を有効にします。
  • 4.Transit Gateway Attachmentを作成
    Attachment TypeにVPCを選択し、東京リージョンのVPCと接続するためのTransit Gateway Attachmentを作成します。
  • 5.Transit Gateway Route Tableの設定
    Transit Gateway Route TableにVIPの経路を追加します。

4.2.1 Transit Gatewayの作成

Transit Gatewayを作成します。
今回は、各設定値をすべてデフォルトで作成します。

Transit Gatewayの作成手順は以下のサイトを参考にしました。

【参考】

4.2.2 Transit Gateway Attachmentの作成(VPN用)

Attachment TypeにVPNを選択し、シンガポールリージョンとVPNで接続するためのTransit Gateway Attachmentを作成します。
Transit Gateway Attachmentを作成することで、合わせてVPN接続が作成されます。

Transit Gateway Attachment(VPN用)の作成手順は以下のサイトを参考にしました。

4.2.3 vyosの設定

作成されたVPN接続から設定情報をダウンロードします。
シンガポールリージョンのvyosに設定を投入し、VPN接続を有効にします。
合わせて、VIP(172.16.0.1)の通信がTransit Gatewayへ向かうようにvyosに設定を追加します。

4.2.4 Transit Gateway Attachmentの作成(VPC用)

Attachment TypeにVPCを選択し、東京リージョンのVPCに接続するためのTransit Gateway Attachmentを作成します。

Transit Gateway Attachment(VPC用)の作成手順は以下のサイトを参考にしました。

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

4.2.5 Transit Gateway Roue Tableの設定

Transit Gateway Route Tableに設定を追加します。
VIP(172.16.0.1)の通信が東京リージョンのVPC(10.0.0.0/16)へ向かうようにルーティング設定を作成します。

5. 動作確認

クライアントマシンから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上に構築したVIP制御によるHAクラスター環境への接続を試してみました。
HAクラスターの設定はこれまで通りでオンプレミス環境から接続ができるので、非常に使いやすい構成だと思います。
既存のVIP制御によるHAクラスター環境についても、HAクラスターの設定を変更することなく適用が可能ですので、是非お試しください。

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

お問い合わせ

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