Azure

App ServiceをNATゲートウェイを利用して送信IPアドレスを固定IPにする。

はじめに

App Serviceの送信IPアドレスを固定IPにする方法を紹介します。

通常、App Serviceの送信IPアドレスは固定化されます。ただし、そこに問題があります。プロパティを確認すると複数の送信IPアドレスがあることが分かります。これは対象App Service専用のIPアドレスではなく共用IPアドレスになるため利用するにはセキュリティの観点からも躊躇すると思います。

では問題ないのではと思うかもしれませんが、これも変更されるタイミングがあります。詳しくは下記のドキュメントで確認してください。

受信/送信 IP アドレス - Azure App Service | Microsoft Learn
受信/送信 IP アドレス - Azure App Service | Microsoft Learn

Azure App Service で受信および送信 IP アドレスがどのように使用されるか、いつ変更されるかについて、およびアプリのアドレスを見つける方法について説明します。

docs.microsoft.com

送信IPアドレスを固定したい場合はどんな場合か、具体例を一つ上げたいと思います。
API ManagementをApp Serviceの後ろに置きたい場合があります。API ManagementのIPフィルターを利用して使用できるApp Serviceを限定したい場合を想定します。そうなると不変的な固定IPをApp Serviceに持たせるのが最適かと思います。それを実現する方法がNATゲートウェイです。

余談ですがAPI ManagementはVNET内に接続することも可能です。しかし、本番環境で利用する場合、Premiumレベルを選択する必要があり、めちゃくちゃコスパが悪いです。月30万円以上かかります。NATゲートウェイもそれなりの費用が掛かりますので注意が必要です。

NATゲートウェイを設置

NATゲートウェイを設置することで、単一の固定IPアドレスにできますが、前提条件としてリージョンVNET統合済みであること、「ルートすべて」がはいであることです。

作成したNATゲートウェイは、VNET統合をしたサブネットへ関連付けする必要があります。サンプルではNATという名前のNATを作成しています。

実際に割当たっているIPを確認します。NATゲートウェイから送信IPを確認します。

高度なツールから確認します。

PS C:\home> curl.exe httpbin.org/ip
curl.exe httpbin.org/ip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    33  100    33    0     0    208      0 --:--:-- --:--:-- --:--:--   211{
  "origin": "20.115.154.234"
}

 

IPアドレスが一致することが分かります。これ送信IPを固定することができました。
あとは、後ろのサーバーでフィルターなど行うとよいでしょう。

まとめ

今回はApp Serviceの送信IPを固定する方法を紹介しました。ただし、あまり利用する機会はないかもしれません。App Serviceでもできるということを覚えておいてもらえればいいと思います。

参考

NAT Gateway and app integration - Azure App Service
NAT Gateway and app integration - Azure App Service

The Azure App Service has quite a few networking integration capabilities but, until now, did not su ...

azure.github.io

-Azure
-,