💨
【Azure/Bicep】- Azure FunctionsのVNET統合エラーの解決方法
執筆日
2024/11/25
発生事象
BicepでAzure Functionsを構築していました。その際に、VNET統合を行うとエラーが発生しました。VNET/サブネット、App Service Plan(P1v3)、Blob Storageは既に構築済みです。
しかし、Portalから確認すると以下のようにVNET統合オプションがグレーアウトされており、選択できませんでした。なぜ?
原因
Azure Functionsの常時接続がオフになっていることが原因でした。
そもそも
Azure FunctionsをPortalからデプロイすると、常時接続はデフォルトでオンになっています。しかし、Bicep経由でデプロイする際にはオフの状態でデプロイされます。したがって、以下のように設定を追加する必要があります。
functions.bicep
resource functionApp 'Microsoft.Web/sites@2021-03-01' = {
//…
properties: {
siteConfig: {
linuxFxVersion: 'PYTHON|3.11'
scmType: 'None'
ftpsState: 'FtpsOnly'
http20Enabled: true
alwaysOn: true //常時接続をオンにする
webSocketsEnabled: false
appSettings: [//環境変数]
minTlsVersion: '1.2'
}
}
}
ちなみに
VNET統合ができるAzure Functionsのプランは、従量課金プラン(Consumption Plan)以外です。具体的には、プレミアムプラン(Premium Plan)およびApp Serviceプラン(App Service Plan)でVNET統合をサポートしています。
詳しくは、公式ドキュメントを参照してください。
Discussion