📑

【Azure Functions】送信IPについて

2024/09/18に公開

執筆日

2024/9/18

やること

Azure Functionsの送信IPについて特性などをまとめます。
App service planをスケールアップした際に、送信IPが変わりました。なぜ?

Azure Functionsの送信IPとは?

Azure functionsが実行される際に、外部リソース(Azure Blob Storage,AOAIなど)に接続する場合に使用されるIPアドレスです。

プランによる送信IPの違い

従量課金プラン、Premiumプラン

送信IPは、変わる。
↓docsより引用

https://learn.microsoft.com/ja-jp/azure/azure-functions/ip-addresses?tabs=portal#find-outbound-ip-addresses

App Service plan

Basic以上は、送信IPが固定される。
ただ、特定の条件で送信IPが変更される。
特定の条件とは?

  • アプリを削除した後、別のリソース グループ内に再作成する (デプロイ単位が変更される場合があります)。
  • リソース グループと リージョンの組み合わせに含まれる最後のアプリケーションを削除した後、再作成する (デプロイ単位が変更される場合があります)。
  • アプリを下位レベル (Basic、Standard、および Premium)、Premium V2 レベル、PremiumV3 レベル、および PremiumV3 レベル内の Pmv3 オプションの間でスケーリングする (IP アドレスはセットに追加するか、削除することができます)。

https://learn.microsoft.com/ja-jp/azure/app-service/overview-inbound-outbound-ips#when-outbound-ips-change

IPを固定する方法

NATゲートウェイを利用するのが良いかなと思います。設定も簡単なので。
https://learn.microsoft.com/ja-jp/azure/azure-functions/functions-how-to-use-nat-gateway
Firewall経由もできるのかー。勉強になった。
https://learn.microsoft.com/ja-jp/azure/app-service/network-secure-outbound-traffic-azure-firewall

まとめ

Azure Functionsが持つ外部IPを使ったアクセス制御するより、Private Endpoint経由でPaaSにアクセスする/NATゲートウェイ経由でIPを固定するのが無難だと感じました。

ヘッドウォータース

Discussion