はじめに
Catoより2NICのAzure vSocketのサポートが発表されました。
これまでは3NICのvSocketのみの提供だったため3NIC以上をサポートするVMサイズのStandard_D8ls_v5が必要であり、スペックが過剰であったりインスタンス費用が高額になる点が問題になっていました。
この度、2NICサイズのStandard_D2s_v5インスタンスのサポートおよび移行方法が公開されました。
実際に移行を試してみましたので本記事にて紹介いたします。
概要
3NICインスタンスのMGMTインターフェースを取り外して、2NICインスタンスにサイズ変更します。
MGMTインターフェースが無くなることでインターネットからSocket WebUIにアクセスすることができなくなります。CMAからは引き続きSocket WebUIにアクセス可能です。
手順概要
Socket v21 に手動でアップグレード
AzureCLI を使用して移行スクリプトを実行
インスタンスを Standard_D2s_v5 に縮小
Cato Cloud に接続していることの確認
※これらの手順はセカンダリvSocketから実施します
移行前の構成
移行前の構成は以下の通りです。
構成 : Socket HA構成
vSocketバージョン : v19.0.17805
VMサイズ : Standard_D8ls_v5
NIC数 : 3
Azure クォータの確認
移行作業の開始前にAzureにてStandard_D2s_v5サイズを利用可能か確認します。
Azure > クォータ> マイ クォータ
2NIC vSocketインスタンス1つにつき、Standard DSv5 ファミリ vCPUs を2つ使用します。
HA構成の場合は4つ空きがあることを確認します。数量が足りない場合は右側のペンアイコンから新しいクォータ要求を送信できます。
1) Socket v21 に手動でアップグレード
まず2NICをサポートするv21にアップグレードします。
CMA > Network > Azure vSocketサイト > Socket > [Upgrade]を実行
アップグレードは自動的に進みますが、v19.0.17805 → v21.0.18651 → v21.0.18668 と段階を踏んだため両Socketのアップグレードを完了するまでに約1時間かかりました。
2) AzureCLI を使用して移行スクリプトを実行
AzureCLIで移行スクリプトを実行してセカンダリvSocketインスタンスからMGMTインターフェースを取り外します。
移行スクリプトはCatoナレッジベースよりダウンロードできます。
AzureCLIを起動して[ファイルの管理]からスクリプトをアップロードします。
アップロード後、以下のコマンドにて移行スクリプトを実行します。
chmod 755 <ファイル名>
sh <ファイル名>
スクリプトを実行すると対象とするVMインスタンス名やMGMTインターフェース名の入力を求められますので順に答えていきます。
入力前に候補が一覧表示されますので難しい部分はありません。
プロンプトが返ってきたところでスクリプトは完了です。
vSocketインスタンスからMGMTインターフェースが取り外されていることが確認できます。
3) インスタンスを Standard_D2s_v5 に縮小
セカンダリvSocketインスタンスをStandard_D2s_v5にサイズ変更します。
vSocketインスタンス > サイズ > [サイズ変更]
サイズの変更中は仮想マシンが再起動されます。サイズ変更は数十秒で完了しました。
仮想マシンのサイズがStandard_D2s_v5に変更されました。
4) Cato Cloud に接続していることの確認
Socketの接続状況を確認します。
CMA > Network > Azure vSocketサイト > Socket > Socket WebUI
Link Status が緑色であれば正常です。
シングル構成の場合はこれにて移行完了です。
HA構成の場合は続いてAPI Test Toolを実行します。
Socket WebUI > Tool > API Test Tool > [Run Test]
APIテストはプライマリ/セカンダリの両vSocketで実行します。
両方のAPIテストが成功(succeeded!)していればプライマリvSocketの移行に進みます。
セカンダリ
プライマリ
なおセカンダリvSocket側で以下のエラーメッセージが返された場合に、プライマリ vSocket側でテストが成功していればエラーメッセージを無視して次の手順に進めます。
Azure API Test state 'Retrieve NIC configuration for current socket' failed! Azure API BLOCK state 'Unblock ALL AZ API'
プライマリvSocketの移行
セカンダリvSocketの手順と同様にサイズ変更を行います。
5) 移行スクリプトの実行
AzureCLIで移行スクリプトを実行してプライマリvSocketインスタンスからMGMTインターフェースを取り外します。
sh <ファイル名>
プライマリvSocketインスタンスからMGMTインターフェースが取り外されたことを確認します。
6) インスタンスを Standard_D2s_v5 に縮小
プライマリvSocketインスタンスをStandard_D2s_v5にサイズ変更します。
vSocketインスタンス > サイズ > [サイズ変更]
サイズ変更後です。両vSocketインスタンスがStandard_D2s_v5サイズになりました。
7) Cato Cloud に接続していることの確認
Socket WebUIにアクセスして接続状況を確認します。
CMA > Network > Azure vSocketサイト > Socket > Socket WebUI
Link Status が緑色であることを確認します。
API Test Tool実行します。
Socket WebUI > Tool > API Test Tool > [Run Test]
両vSocketのテストが成功することを確認します。
プライマリ
セカンダリ
結果が問題なければ2NICへの移行は完了です。
まとめ
Standard_D2s_v5へのサイズ変更はすんなりと済み、これといった障害はありませんでした。
今回最も時間のかかった作業はクォータの追加でした。クォータ要求から実際に追加されるまでに数日かかりました。
単純計算になりますが、日本リージョンの場合は毎月のVM費用が1台当たり$312.44から$90.52に下がりますので大きな費用差になってくるかと思います。
VMスペックが余剰となっている場合やMGMTインターフェースが不要の利用者にはとてもありがたいサポートと言えます。
以上、Azure vSocketの2NICへの移行の紹介でした。
Comments