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

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

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

はじめに

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

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

この記事の内容

  • 1.Amazon VPC ピアリング接続とは
  • 2.HAクラスター構成
  • 3.HAクラスター構築手順
  • 3.1HAクラスター構築の事前準備
  • 3.2DNS制御によるHAクラスターの作成
  • 4.動作確認

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)までお問い合わせください。