【Catoクラウド】AWS vSocket HA構成の構築手順を解説

本記事は TechHarmony Advent Calendar 2025 12/10付の記事です

こんにちは! Catoクラウド担当、佐藤です。

以前、AWSのvSocket構築手順を解説したブログを作成しました。
本記事では、vSocketを冗長化したHA構成の構築手順について解説いたします。

HA構成とは

HA(High Availability)構成とは、システム障害時でもサービスを継続するための構成のことです。複数の機器や経路を組み合わせて冗長化し、単一の機器が停止してもシステム全体しないようにします。
特にネットワークの停止は日常業務に大きな影響を与えるため、冗長化によってトラブル時でもシステムを維持できる構成が必要です。

CatoクラウドのAWS vSocketにおいても、2台以上のvSocketを配置することで冗長化を実現します。

  • プライマリvSocket:通常時のトラフィックを処理
  • セカンダリvSocket:プライマリ障害時に自動フェイルオーバー

プライマリ側に障害が発生した場合でも、自動的にセカンダリに切り替わることで、組織の内部環境とCatoクラウドの接続を維持することができます。以下はイメージとなります。

 

事前準備

プライマリvSocketの構築

AWS vSocketでHA構成を構築するには、プライマリとセカンダリのvSocketをデプロイする必要があります。

この後の手順説明では、プライマリvSocketがすでに構築されていることを前提に進めます。
そのため、まずはプライマリvSocketの構築をお願いします。構築方法については、以下のブログをご参照ください。
※すでに構築済みの方はスキップしていただいて構いません。

使用可能なElastic IPの確認

1台のvSocketのデプロイには2つのElastic IP(MGMT用、WAN用)が必要になります。
さらに、別々のAZ(Availability Zone)にて2台のvSocketをデプロイしてHA構成を組む場合、合計で4つのElastic IPを使用します。

デフォルトでは、AWSアカウントでリージョン当たり5つのElastic IPが割り当てられております。現在の割り当て状況をご確認の上、空きがない場合はご用意をお願いいたします。

AWSマネジメントコンソールで、「EC2」>「Elastic IP」より上限の確認が可能です。

HA構成の構築手順

HA構成のための設定手順を説明していきます。
以下のステップで設定を進めます。

1. Catoクラウド CMA上でのSite設定
. AWS設定
 2-1. セカンダリvSocketのデプロイ
 2-2. IAMロールの作成
 2-3. IAMロールのアタッチ
3. 接続確認
 
本記事は2025年12月1日時点での構築手順です。
内容については今後変更の可能性がありますこと、ご了承ください。
図例は一例としてご参考いただけますと幸いです。                
Cato社が提供する構築手順は下記となりますので、本記事と合わせてご参照ください。         
AWS vSocketのHAを構成する-ナレッジベース               

プライマリvSocketが構築されていることを前提に説明を進めます。vSocketの構築手順については、本記事の「事前準備」をご参照ください。

1. Catoクラウド CMA上でのSite設定

HA構成を構築したいSiteに対してCMA上でセカンダリvSocketを追加する設定を行います。

1.CMAのメニューから、「Network」>対象のSiteをクリック
2.「Site Configuration」>「Socket」>「Add Secondary Socket」をクリック

 

3.Secondary Socketの設定項目は3つあります。以下の設定項目を入力し、「Apply」を実行します。

・LAN ENI IP Address:セカンダリvSocketで作成するLANネットワークインタフェースのIPアドレス
・LAN ENI Subnet:セカンダリvSocketで作成するLANサブネットのアドレス範囲
・Route-Table ID:プライマリvSocketで作成したLAN用ルートテーブルのルートテーブルID
 

4. サイトの設定が完了すると以下の画面になるので、セカンダリvSocketのシリアル番号をメモなどに控えておいてください。
※シリアル番号はAWSでのインスタンス起動時の設定で使用します。

2. AWS設定

次に、AWS側での設定を行います。

AWSマネジメントコンソールにおける具体的な操作手順については、上で紹介した関連ブログに詳しくまとめていますので、必要に応じてご参照ください。  

2-1. セカンダリvSocketのデプロイ

セカンダリvSocketのデプロイ手順を説明します。
必要な設定事項は以下になります。

・ElasticIPアドレス取得(MGMT用、WAN用)
・サブネット作成(MGMT用、WAN用、LAN用)
・ルートテーブルの関連付け
・ENI(ネットワークインタフェース)作成
・インスタンスの起動
ElasticIPアドレス取得(MGMT用、WAN用)

MGMT ENIとWAN ENIに割り当てるためのElastic IPを取得します。
AWSマネジメントコンソール 「VPC」>「Elastic IP」>「Elastic IPアドレスを割り振る」より設定が可能です。
通常のAWS vSocket構築と同様の手順で、MGMT用WAN用のEIPをご用意ください。

 

サブネット作成(MGMT用、WAN用、LAN用)

こちらも通常のAWS vSocket構築と同様の手順で、以下3つのサブネットを作成してください。
AZはプライマリと別のものを選択してください。

  • MGMT用サブネット
  • WAN用サブネット
  • LAN用サブネット

※プライマリとセカンダリが同じAZの場合MGMT用、WAN用のサブネットは不要です。

AWSマネジメントコンソール 「VPC」>「サブネット」>「サブネットを作成」より設定が可能です。

ここで設定した「LANサブネットのIPアドレス範囲」が、
CMA上でのSecondary Socket設定の2つ目「LAN ENI Subnet」に入る値となります。

 

ルートテーブルの関連付け

ルートテーブルの追加作成は必要ありません。
プライマリvSocketで作ったものにセカンダリのサブネットを割り当てます。

内容は以下の通りです。

  • MGMT・WAN用ルートテーブルに関連付けるもの
    ・セカンダリvSocket用のMGMTサブネット
    ・セカンダリvSocket用のWANサブネット
  • LAN用ルートテーブルに関連付けるもの
    ・セカンダリvSocket用のLANサブネット

※MGMTとWANのルートテーブルは分けて2つになっていても問題ありません。それぞれ対応するサブネットの関連付けを行ってください。

以下の操作で設定が可能です。

AWSマネジメントコンソール 「VPC」>「ルートテーブル」>対象のルートテーブルを選択
サブネットの関連付け」タブ > 明示的なサブネットの関連付けの「サブネットの関連付けを編集」をクリック

 

ENI(ネットワークインタフェース)作成

セカンダリvSocketで用いるENIを作成します。

プライマリ同様以下3点のENIを作成してください。
セキュリティグループは特に指定がなければ、プライマリvSocketで作成したもので問題ありません。

  • MGMT用 ENI
  • WAN用 ENI
  • LAN用 ENI

※ENI作成手順はすべて通常のvSocketと同じです。詳細はvSocket構築手順のブログをご参照ください。

ここで設定した「LAN用ENIのIPアドレス」が、
CMA上でのSecondary Socket設定の1つ目「LAN ENI IP Address」に入る値となります。
注意点
MGMT用ENIと、WAN用ENIElastic IPを忘れずに割り当てて下さい。
・LAN用ENIに対して、「送信元/送信先チェック」の無効化を忘れずに行ってください。

 

インスタンスの起動

最後に、セカンダリvSocket用のEC2インスタンスの起動を行います。

こちらもプライマリvSocketでの設定とすべて同じになります。
最後の「高度な詳細」ではセカンダリvSocketのシリアル番号を「ユーザーデータ」に貼り付けてください。

設定をすべて終えたら、右下の「インスタンスを起動」をクリックします。

 

2-2. IAMロールの作成

Cato vSocketのHA構成ではプライマリvSocketにトラブルが生じた際、自動でvSocketがルートテーブルを変更し、セカンダリvSocketへの切り替えを行います。そのために必要な権限をIAMロールで作成し、インスタンスにアタッチします。

まず、IAMロール用のポリシーを作成していきます。
IAMポリシーに書き込む権限は以下の3つです。

  • ec2:CreateRoute
  • ec2:DescribeRouteTables
  • ec2:ReplaceRoute

1. AWSマネジメントコンソールから「IAM」>「アクセス管理」>「ポリシー」>「ポリシーの作成」をクリックします。

 

2. 「アクセス許可を指定」で「JSON」を選択し、以下のポリシーを「ポリシーエディタ」に張り付け、「次へ」をクリックします。

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": [
                "ec2:CreateRoute",
                "ec2:DescribeRouteTables",
                "ec2:ReplaceRoute"
                ],
            "Resource": "*"
        }
}

 

3. 任意のポリシー名を入力し、「ポリシーの作成」をクリックします。

 

次に、作成したポリシーを用いてロールの作成を行います。

4. AWSマネジメントコンソールから「IAM」>「アクセス管理」>「ロール」>「ロールの作成」をクリックします。

 

5. 信頼されたエンティティタイプを「AWSのサービス」、ユースケースを「EC2」と選択し「次へ」をクリックします。

 

6. 「許可ポリシー」の項目で先程作成したポリシーを検索し、選択した後、「次へ」をクリックします。

 

7. 任意のロール名を入力し、「ロールを作成」をクリックします。

 

2-3. IAMロールのアタッチ

続いて作成したIAMロールを、プライマリ、セカンダリの両方のvSocketにアタッチします。

アタッチ方法について説明します。

1.  AWSマネジメントコンソールから「EC2」>「インスタンス」>vSocketのインスタンスを選択します。
2. 「アクション」>「セキュリティ」>「IAMロールを変更」をクリックします。

 

 

3. 作成したIAMロールを選び、「IAMロールの更新」をクリックします。

3. 接続確認

最後に接続確認を行います。

1.  AWSマネジメントコンソールから「EC2」>「インスタンス」>プライマリとセカンダリvSocketのインスタンスを選択します。
2. 「インスタンスの状態」>「インスタンスを開始」をクリックし、各インスタンスを起動してください。
※すでに起動してある場合はスキップしてください。

1~2分ほど待ち、CMA上で状態を確認します。

3. CMA上で「Network」>「Site Configuration」>「Socket」と進みます。
4. 以下のように各Socketが「Connected」、中央のHA Statusが「Ready」となっていることを確認してください。

 

接続がうまくいかない場合

まずは、これまでの手順の中で、以下の項目が正しく設定されているかご確認ください。

1)Elastic IPアドレスがMGMT ENI、WAN ENIに割り当てられている
2)MGMT・WAN用のルートテーブルがセカンダリのMGMT・WANサブネットに関連付けられている

3)各vSocket(EC2インスタンス)にIAMロールが正しくアタッチされている
私が検証した際は、設定したつもりだった部分が設定されておらず接続できていなかったことがありました。
正常に接続できない方は上記事項を再度ご確認いただければと思います。
それでも改善しない場合は、以下SCSKが提供するFAQサイトもご活用ください。
 

おわりに

本記事では、AWS vSocketのHA構成について解説を行いました。

実際に構築を行ってみて、接続が正常にできない場合に「どこまで正しく動いているのか」を意識しながら確認項目を絞ることで、原因が特定しやすくなると感じました。

今回は主に構築手順の解説となりましたが、HA環境での実際の挙動などについて検証してブログにまとめられたらと考えています。
最後までお読みいただき、ありがとうございました!

タイトルとURLをコピーしました