こんにちは。SCSKの中山です。
10月にAzureのvSocketが2ポート対応したので、今回は実際に2NIC VMを作成しつつ、既にAzureでvSocketを利用している方向けに移行する際のポイントを記載してみようと思います。
まず、最初に2NIC対応したことによるメリットから紹介していきたいと思います。
2NIC対応したことによるメリットは、ずばりコストです!!
元々、AzureのvSocketは3NIC対応しているVMでしか作成することができませんでした。以前は3NIC対応しているVMの中でも、比較的コストを抑えて使えるマシンサイズ(Standard_D2s_v4)があったのですが、少し前にそのマシンサイズが使用不可になってしまい、現在では今回紹介する2NIC VMを含めて以下の2つが利用可能になっております。
マシンサイズ | D8ls_v5 (3NIC、2NIC対応) | D2s_v5(2NICのみ対応) |
1か月あたりのコスト | \40,131 | \10,170 |
※上記コストは2024/11/27時点の仮想マシンのみの概算になります。
上記の通り、2NICのVMを使うことでコストを比較してみると、1か月で3万円くらいの差が出てきます。
vSocketという都合上、VMは常に起動しておく必要があるため、低コストで利用できるというのは大変ありがたいです。
3NIC VMとの変更点
3NIC VMでは、MGMT、WAN、LANの用途でそれぞれNICを使っておりました。
2NIC VMではMGMTポートは統合され、WAN、LAN用の2ポートになっております。
MGMTがなくなったことによる機能的な変更点は、HA構成を含め特になく、元々MGMTポートで行っていた以下の2点はWANポートへ統合されております。
・Socket UIへのログイン
・フェイルオーバー時のAzure APIとの通信(HA構成のみ)
作成方法
基本的には3NICの時と変わらないため、重複する部分は省略させていただきます。詳しくは以下のCatoのナレッジをご確認ください。
https://support.catonetworks.com/hc/en-us/articles/12274816079005-Deploying-Azure-vSockets-from-the-Marketplace
※( )は操作するサービス名を記載してます。
①Site作成(CMA)
詳細は割愛しますが、「Connection Type」を「vSocket Azure」にしてSiteを作成。
ちなみに以下は今回検証用に新規で作成したvSocketのSiteですが、Site作成時点からポートが2つになっておりました。
②Marcket Placeより、vSocketを作成に進む。(Azure)
「③Networking」の設定にInterfaceの数を設定する項目があるので、こちらを「2」で設定する。
それ以外は3NICの時と同様で、お使いの環境に合わせて設定をします。
③作成したvSocketが認識されていることを確認する。(CMA)
既存vSocketの移行について
既に3NIC VM(D2s_v5インスタンス)をご利用の方向けに、2NIC VMへの移行方法を書いてみようかと思います。
先に注意点を書いておくと、シングル構成の場合にはダウンタイムが発生してしまうため、作業にあたっては作業タイミング等にご注意いただくようお願いします。
こちらにCato公式から移行についての記事も出ておりますので、合わせてご確認いただくようお願いします。https://support.catonetworks.com/hc/en-us/articles/20558411383325-Migrating-Azure-vSockets-to-a-2-NIC-Solution
また余談ですが、最初に書いた比較的安い3NIC VM(Standard_D2s_v4)のマシンタイプは新しくデプロイはできないのですが、元々使っていたユーザーは引き続き利用することができております。しかし、サーバを停止すると次回以降起動できない状態になっているため、運用としては大変危険な状態になっております。コストが上がることを懸念して使い続けている方はこのタイミングで移行を検討いただければと思います。
手順
①Socketをv21にアップグレードする。(CMA)
こちらはまだv21でないSocketをご利用の場合のみ必要な手順になります。
今回の検証では既にv21以上であったため手順は不要になります。
②Azure CLIにて、移行スクリプトを実行する。(Azure)
まずCatoより配布されている移行スクリプトをダウンロードし実行します。
今回はローカルにAzure CLIがインストールされている環境がなかったため、Cloud Shellで実行します。
スクリプトでは以下の入力を求められますが、入力内容が分かりづらいので注意が必要です。
- サブスクリプションID
- 対象のVMが入っているリソースグループ名
- ロケーション(リージョン)
- 対象のVM(vSocket)名
- 取り外すMGMTで使用しているネットワークインターフェース
- WANで使用しているネットワークインターフェース
↓がサブスクリプションIDを入力している画面なのですが、
入力候補をリストアップしてくれはするものの手打ちで入力する必要があります。
また、値を間違えて中断すると再実行する必要があるため、入力に関してはコピペでの入力をおすすめします!
という感じで、Azure側ではInterfaceのデタッチとリサイズぐらいで移行できます。
最後に
今回はAzureでvSocketの2NIC対応について、記事を書いてみました。
途中でも書きましたが、vSocketは常に起動しておくサービスのため、安価なマシンタイプを使うことはコストに直結します。
機能面も変わりはないため、現在AzureでvSocketをご利用の場合には、リサイズをご検討いただければと思います。