Azure
CloudServices(classic)

Azure で割り当てられた IP アドレスを、2018年10月31日 までに更新してください

まあ、今頃な感じではありますが・・

幾度となくメールが来てたが、内容さっぱりわからずww
ギリギリまで放置してしまっていたが
なんとか対応できたので
あの意味不明なメール対応について解説します。

まず、windowsに「Azure Classic CLI」をインストールします。
https://docs.microsoft.com/ja-jp/cli/azure/install-classic-cli?view=azure-cli-latest

npmじゃなくてもmsiがありますんで、無駄に苦労しなくてもいいです。
linuxでやろうとするとpython2.7やらpyrunがないやらでこれも苦労するので
windowsでやっつけちゃいましょう。

https://github.com/Azure/azure-xplat-cli/releases
から
azure-cli-0.10.20.msi
をダウンロード・インストールします。

これでDOS窓からazureコマンドが使えます。

次は
azure login
とすると、URLとコードが表示されるので、適当なブラウザを開いてアクセスします。
(portal.azure.comにログインしているブラウザからやったほうがいいかもですね)

ここから、メールのとおりに・・
azure network reserved-ipホニャララってやると、
んなコマンドがないって言われるわけw
MSという会社はそんな簡単には問屋は卸さないwわけですよ・・w
もう意味不明w

そうこうしてたらどうも「Azure CLIモードを切り替える」?!ことが必要っぽいです。(MSさんよ、メールに書いといてくれてもバチ当たらんでしょうに・・)

以下qiitaが参考になりました。ありがとうございます。
https://qiita.com/dz_/items/972c64849dd9b174edc2

ってことで、asmかarmのどちらかで動くだろうということで

azure config mode asm

と打てばazure network reserved-ipホニャララが使えるようになります。
(ワイ、まずarmでやったらreserved-ipありませんでしたw
たった1/2の確率であっさり負けましたわw)

ここで、まずcloud servicesのインスタンス・webワーカーを停止します。
普通にazure portalから該当Cloud Services(クラッシック)を選び、
「ステージング環境」を選んで「■停止」します。

停止したらこの環境のIPアドレスを予約化します。

azure network reserved-ip create IPアドレス予約名 ロケーション(japaneastやjapanwestなど) -r サービス名 -d デプロイID

「IPアドレス予約名」は適当な名前でよいです。

この作業で、CloudServicesに動的に振られたIPをとっ捕まえておくようですね。

このあと、サービスからIPを取り外します。

azure network reserved-ip disassociate IPアドレス予約名 サービス名 デプロイID

これを行うことでサービスには新しいipアドレスが割り振られました。
ここで、サービスを起動してもOKです。

とっ捕まえたipを削除・リリースします。

azure network reserved-ip delete IPアドレス予約名

以上で完了です。
同じようにCloudServices本番環境も行いましょう。

新しく割り当てられたIPはサイトURLにわりとすぐに割り振られましたが
ルータ等にキャッシュされてしまっていると反映(俗に言う波及ってやつ)は時間がかかるかもです。

まあ、サイトURLを使ってることはないでしょうし、IPもしくはCNAMEで対応してるかと思うので
事前にネームサーバのZone設定でTTLを短くしておくのが吉かと思います。
(このあたりはネームサーバ設定のあるあるですね)

以上です。

PS.自分、MS系苦手なので・・