Azure

仮想マシンのパブリックIPを再起動なしにBasicからStandardに切り替える方法

はじめに

仮想マシンのパブリックIPのBasic SKUが廃止になりStandard SKUに変更することを推奨されています。

BasicからStandardに変更するには仮想マシンからパブリックIPを切り離しアップグレードした後に再度アタッチします。

2025 年 9 月 30 日までに Azure で Standard SKU のパブリック IP アドレスにアップグレード - Basic SKU は廃止されます - 技術的な何か。
2025 年 9 月 30 日までに Azure で Standard SKU のパブリック IP アドレスにアップグレード - Basic SKU は廃止されます - 技術的な何か。

Back SKUの廃止 Azrueを利用中のユーザーには下記のようなメールが飛んできたと思います。 2025 年 9 月 30 日までに Azure で Standard SKU のパブリック IP

level69.net

しかし、一旦パブリックIPを切り離すということはサービスの停止を意味します。通常の手順ではこれを回避できません。

そこでサービスの停止を回避する方法を紹介したいと思います。

ただし、この方法でサービスの停止の完全回避を保証するものではありません。環境によってはうまくいかない場合もあると思います。

条件

これから紹介する方法は、既存の環境がDNSを利用して運用していること、Linuxということが条件です。

切り替え

BasicからStandardに変更する環境は以下のようなものを想定しています。

 

最初にプライベートIPをNICに追加します。このときパブリックIPは関連付けません。

プライベートIPを追加後に仮想マシンで追加したIPをセカンダリとして登録します。

[Tips] Azureの仮想マシン Ubuntuで再起動なしにセカンダリIPを追加する - 技術的な何か。
[Tips] Azureの仮想マシン Ubuntuで再起動なしにセカンダリIPを追加する - 技術的な何か。

Tips AzureなどではセカンダリIPを追加したあとにはマシンをリブートすることを進めています。 しかし、リブートせずに変更したい場合もあると思います。 最初にIPを追加後します。 以下のファイル

level69.net

 

次にロードバランサーをパブリックで追加します。バックエンドを指定するときにIPを指定し、プライベートIPを設定します。

DNSにロードバランサーのパブリックIPをAレコードで追加します。ラウンドロビンにします。

問題なく名前解決を行えるようになってからパブリックIP(Basic)の方のAレコードを削除します。

これですべてロードバランサー経由になります。

この状態でパブリックIPの関連付けを外します。BasicからStandardにアップグレードします。

StandardにアップグレードしたパブリックIPを再度関連付けします。

DNSにパブリックIP(Standard)をAレコードで追加します。再度ラウンドロビンにします。

名前解決を行えるようになってから、ロードバランサーのIPのAレコードを削除します。

ロードバランサーを削除します。フロントのパブリックIPも削除します。

追加したプライベートIPも削除します。仮想マシンからも追加手順とは逆手順で削除します。

以上で無停止でのパブリックIPのアップグレード方法でした。

追記:書き終わってから思ったのですが2つ目のプライベートIPを追加する必要はなかったです。2つ目のプライベートIPについては飛ばしても問題ないと思います。

まとめ

パブリックIPを無停止でアップグレードする方法を紹介しました。結構むりやり行っています。そのため動作を保証できません。

素直に停止の計画を行ってアップグレードを行う方がリスクは少ないかもしれません。

 

 

 

 

 

-Azure
-