はじめに
LIGTHzアドベントカレンダー 2023の4日目の記事です。
この記事では、同一リージョンに配置してあるAzureサービス(Functions...etc)からStorage Accountへアクセスする際のネットワークルールの制限について記載します。
やりたかったこと
以下の条件にて、Azure Functionsで処理したデータをAzure Blob Storageへ保存したかったが、blobへのアクセスがブロックされてしまいできませんでした。
- Azure FunctionsとStorage Accountは同一リージョンに配置
- Azure FunctionsのパブリックIPアドレス(※)からのみアクセスを許可するようにStorage Accountのネットワークを制限
※ IPアドレスはこちらの方法で確認
原因
こちらのサイトにもある通り、
ストレージ アカウントと同じリージョンでデプロイされたサービスでは、プライベート Azure IP アドレスが通信に使用されます。 そのため、特定の Azure サービスへのアクセスを、そのパブリック送信 IP アドレスの範囲に基づいて制限することはできません。
とのこと。
別リージョンであればIP制限できそうだが、ネットワーク遅延も生じると思いやめました。
対応
Azure Functionsからvnet経由で通信するようにし、左記ネットワークからのみアクセスを受け付けるようにStorage Accounのネットワークを制限しました。