kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azureのデフォルトoutbound廃止に伴うSelf-hosted Agentへの影響

一応メモ書きで。先月末Azureのデフォルトoutboundが廃止になるということでちょっとした騒ぎになりました。

azure.microsoft.com

日本のサポートチームからもアナウンスが出ています。

jpaztech.github.io

今日のイベントでも少し触れたのですが、Azure Pipelines(もちろんGitHub Actions)のselfhost agentをAzureのVM単位で動かしている場合、ばっちり影響受けます。多くの人はselfhost agentをVM単位で稼働させていると思います。

こんな感じ。これが2025/10/1より作られたVM(現時点)ではこうなります。ちなみにWindows Updateもできなくなります。Ubuntuのapt updateはAzure内にミラーがあるようですが、多分private経由ではない気がします(調べていない)。

(訂正)
2025/10/1以降も既存のVMはSNATでアクセスできるそうですが、VMごとに変わるのでわかりづらいですね。

Public IPを割り当てない場合、デフォルトのoutboundがなくなるので、Azure DevOpsにつながらなくなります。Public IPはStandard SKUで500円くらいでしょうか?ただ、VMが1台ならともかく、複数台になると高くなるし、そもそもInternet facingをなくしたいのでPublic IPを割り当てていなかったのに割り当てるとなると本末転倒です。それにそのためのセキュリティ強化も必要になります。

Public IPでもIPv6なら無料のはずなので、outboundはIPv6を使うというのも手ですが、やめた方がいいでしょうね。代替手段としてはどちらかになります。

NAT Gatewayを使う。VM一台だけとするなら高い(5000円/月くらい)のですが、Azure Automationと組み合わせてビルドするときだけデプロイするのは…めんどうでしょうね。outbound Load Balancerのほうが少し安いですが、NAT Gatewayのほうが構成が柔軟なので、選ばないほうがいいでしょうね。

本筋はこちらでVMSSを作って運用です。私も原則これ。

learn.microsoft.com

エージェントの更新、キューと並列契約数に従って、増減しますし、使わないときは0にもできます。そのかわりエージェント1にするまでに多少時間がかかりますが(Ubuntuで1分くらい?Windowsで2-3分くらい)、お得です。設定した時間で0になります。

…大小じゃないですが、VMのイメージを作るのが大変です。一応Microsoftが公式イメージを用意してくれているので、これを使ってビルドすればいいです。Ubuntuで3-4時間、Windowsで7-8時間くらいかかりますが。私は不要なものを消したものを作っています。

github.com

後2年までとそんなに時間がないので、GitHub Actionsの人もAzure Pipelinesの人もAzureで動かしている場合は移行しましょう。