はじめに
仮想マシンのパブリックIPのBasic SKUが廃止になりStandard SKUに変更することを推奨されています。
BasicからStandardに変更するには仮想マシンからパブリックIPを切り離しアップグレードした後に再度アタッチします。
-
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などではセカンダリ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を無停止でアップグレードする方法を紹介しました。結構むりやり行っています。そのため動作を保証できません。
素直に停止の計画を行ってアップグレードを行う方がリスクは少ないかもしれません。