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

リージョン間 VPC ピアリング接続を利用したHAクラスターの構築を試してみました(Windows)

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

はじめに

Amazon Web Services(以降、AWS)において、Amazon VPC ピアリング接続を利用して、異なるリージョン間をまたいだHAクラスターの構築を試してみました。
Amazon VPC ピアリング接続とは、2 つのVPC 間でプライベートなトラフィックのルーティングを可能にするネットワーキング接続です。
Amazon VPC ピアリング接続では、同一リージョンのVPC 間だけでなく、異なるリージョンでプライベート接続を可能にするリージョン間VPC ピアリングがサポートされています。

今回は、リージョン間VPC ピアリングを利用して、東京リージョンとシンガポールリージョンをまたいだHAクラスターを構築しました。

この記事の内容

1. Amazon VPC ピアリング接続とは

Amazon VPC ピアリング接続(以降、VPC ピアリング接続)とは、2 つの異なるVPC 間でプライベートな通信を可能にする機能です。
元々は同一リージョン内のVPC 間を接続する機能でしたが、2017年11月より異なるリージョン間の接続にも対応を開始し、 2018年2月には東京リージョンにも対応しました。 

AWS上でDRクラスタを構築する際、従来は個別にソフトウェアルータを立てる等、ユーザ側で VPN接続を実現する必要がありました。VPC ピアリング接続を用いることで、AWSが提供する一機能として容易にVPC 間をプライベートに接続することができます。

【参考】
  popupVPC ピアリング接続

2. HAクラスター構成

今回は「DNS名制御によるHAクラスター」を構築します。
構成は以下の通りです。

「DNS名制御によるHAクラスター」には、CLUSTERPRO X 4.0の新機能のAWS DNSリソースを使用します。
 AWS DNSリソースの詳細はpopupこちら

HAクラスターの構成

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

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

3.1.1 VPCの設定

事前にVPCを作成します。各リージョンのVPCの構成は以下のとおりです。

  • VPC ピアリング接続へのルートについては、「3.1.2 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-B2 (サブネット ID:sub-2222aaaa):10.0.110.0/24
  • RouteTables
  • Main (ルートテーブル ID:rtb-00000001)
  • >10.0.0.0/16 → local
  • >0.0.0.0/0 → igw-1234abcd (Internet Gateway)
  • >10.20.0.0/16 → pcx-1234abcd (VPC Peering) ※VPCピアリング接続の作成後に設定
  • Route-A (ルートテーブル ID:rtb-0000000a)
  • >10.0.0.0/16 → local
  • >0.0.0.0/0 → eni-1234abcd (NAT Gateway BのENI ID)
  • >10.20.0.0/16 → pcx-1234abcd (VPC Peering) ※VPCピアリング接続の作成後に設定

シンガポールリージョン

  • VPC(VPC ID:vpc-5678efgh)
  • CIDR:10.20.0.0/16
  • Subnets
  • Subnet-B1 (サブネット ID:sub-1111bbbb):10.20.10.0/24
  • Subnet-B2 (サブネット ID:sub-2222bbbb):10.20.110.0/24
  • RouteTables
  • Main (ルートテーブル ID:rtb-00000002)
  • >10.20.0.0/16 → local
  • >0.0.0.0/0 → igw-5678efgh (Internet Gateway)
  • >10.0.0.0/16 → pcx-1234abcd (VPC Peering) ※VPCピアリング接続の作成後に設定
  • Route-B (ルートテーブル ID:rtb-0000000b)
  • >10.20.0.0/16 → local
  • >0.0.0.0/0 → eni-5678efgh(NAT Gateway BのENI ID)
  • >10.0.0.0/16 → pcx-1234abcd (VPC Peering) ※VPCピアリング接続の作成後に設定

サブネット

また、セキュリティグループを設定します。各リージョンで使用するセキュリティグループの詳細は以下の通りです。

東京リージョン

  • Security Group
  • Security Groups
  • ■default-A (Group ID:sg-00000001)
  • >インバウンドのルール:
  • タイプ    :すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • ソース    :sg-00000001
  • SG-VPCPeering-A (Group ID:sg-0000000a)
  • >インバウンドのルール:
  • タイプ:すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • ソース:10.20.0.0/16 ← vpc-5678efghのCIDR

シンガポールリージョン

  • Security Group
  • Security Groups
  • default-B (Group ID:sg-00000002)
  • >インバウンドのルール:
  • タイプ:すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • 送信先:sg-00000002
  • SG-VPCPeering-B (Group ID:sg-0000000b)
  • >インバウンドのルール:
  • タイプ:すべてのトラフィック
  • プロトコル:すべて
  • ポート範囲:すべて
  • 送信先:10.0.0.0/16 ← vpc-1234abcdのCIDR

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

【参考】
popupCLUSTERPRO X 4.0 ソフトウェア構築ガイド
  • Windows > クラウド > Amazon Web Services > HAクラスタ構築ガイド

3.1.2 VPC ピアリング接続の設定

東京リージョンの VPC とシンガポールリージョンの VPC 間を繋ぐための VPC ピアリング接続の作成を行います。
VPC ピアリング接続の作成後、Route Table の設定を行ってください。

  • VPC (リクエスタ):vpc-1234abcd ←東京リージョンのVPC ID
  • VPC (アクセプタ):vpc-5678efgh ←シンガポールリージョンのVPC ID

3.1.3 DNSの設定

DNS名制御によるHAクラスターを実現するため、Amazon Route 53を設定します。

  • Domain Name:cluster.local
  • Hoted Zone ID:123456789abcde
  • Type:Private Hosted Zone for Amazon VPC
  • Associated VPCs:vpc-1234abcd、vpc-5678-efgh

3.1.4 IAMの設定

AWS DNSリソースを動作させるための権限設定としてIAMを設定します。
Amazon Route 53に対してリソースレコードセットの設定内容の情報取得や更新をするため、IAMロールのポリシーで以下のアクションを許可します。

    "route53:ChangeResourceRecordSets"
    "route53:ListResourceRecordSets"

3.1.5 EC2インスタンスの作成

HAクラスターを構成するEC2インスタンス(現用系、待機系)を各リージョンに作成します。
異なるリージョンからの接続を許可するようにセキュリティグループを設定します。

東京リージョン
  • 現用系
  • Security Group:default-A、SG-VPCPeering-A
シンガポールリージョン
  • 待機系
  • Security Group:default-B、SG-VPCPeering-B

3.2 DNS制御によるHAクラスターの構築

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

  • CLUSTERPRO
  • フェールオーバーグループ (failover)
  • AWS DNSリソース
  • ホストゾーン:123456789abcde ←「3.1.3 DNSの設定」で設定したホストゾーンID
  • リソースレコードセット名:sample.cluster.local.
  • ミラーディスクリソース
  • データパーティション:M:\
  • クラスタパーティション:R:\
  • CIFSリソース
  • 共有名:cifs_sharing_name
  • フォルダ:M:\cifs_folder

【参考】
popupCLUSTERPRO X 4.0 ソフトウェア構築ガイド
  • Windows > クラウド > Amazon Web Services > HAクラスタ構築ガイド > 第6章 DNS名制御によるHAクラスタの設定

4. 動作確認

異なるリージョン間でCIFSリソースによるファイル共有が行われていることを確認します。

  • 1.東京リージョンの現用系EC2インスタンスで、M:\cifs_folder 配下に test.txt を作成します。
  • 2.操作用EC2インスタンスから、\\sample.cluster.local\cifs_sharing_name にアクセスし、現用系EC2インスタンスの IDとPassword を入力して認証をパスします。test.txt が表示され、エディタで開けることを確認します。
  • 3.Cluster WebUIから、フェールオーバーグループを東京リージョンの現用系EC2インスタンスからシンガポールリージョンの待機系EC2インスタンスに手動で移動します。
  • 4.操作用EC2インスタンスから、\\sample.cluster.local\cifs_sharing_name を開き、待機系EC2インスタンスの IDとPassword を入力して認証をパスします。手動フェールオーバー前と同様にtest.txt が表示され、エディタで開けることを確認します。

異なるリージョン間をまたいだ 環境でもHAクラスターが構築できることを確認できました。

さいごに

今回は VPC ピアリング接続を用いて、異なるリージョン間をまたいだ HAクラスターを構築してみました。
VPC ピアリング接続は、ルートテーブルやセキュリティグループの設定が少々入り組みますが、AWS が提供する一機能として、手軽にプライベート接続を実現できる点は魅力的だと思います。

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

お問い合わせ

当ブログに関するお問い合わせは、CLUSTERPRO プリセールスお問い合わせ窓口(info@clusterpro.jp.nec.com new window)までお問い合わせください。