尝试通过 azureRM 创建 VNET 集成时找不到 VNet

问题描述

我正在尝试配置应用服务的 VNET。我试图通过一个 powershell 脚本来做到这一点。我已经使用相同的 powershell 脚本一年多了,它突然停止工作,没有对脚本进行任何修改。失败的链接如下:

$propertiesObject = @{
     "vnetResourceId" = "/subscriptions/$($subscriptionId)/resourceGroups/$($vnetToaddResGroup)/providers/Microsoft.Network/virtualNetworks/$($vnetToAdd)"
}

New-AzureRmResource -Location $location -Properties $propertiesObject -ResourceName "$($WebApp)/$($vnetToAdd)/primary" -ResourceType "Microsoft.Web/sites/virtualNetworkConnections/gateways" -ApiVersion 2015-08-01 -ResourceGroupName $WebAppResourceGroup -Force

这会导致以下错误

New-AzureRmResource : {"Code":"NotFound","Message":"Cannot find Vnet with name
VNet-EUDEV02.","Target":null,"Details":[{"Message":"Cannot find Vnet with name
VNet-EUDEV02."},{"Code":"NotFound"},{"ErrorEntity":{"ExtendedCode":"51004","MessageTemplate":"Cannot find {0} with
name {1}.","Parameters":["Vnet","VNet-EUDEV02"],"Code":"NotFound","Message":"Cannot find Vnet with name
VNet-EUDEV02."}}],"Innererror":null}
At C:\Users\Andre\Desktop\Repos\devops-scripting\andre-script-remake\clusterswap.ps1:66 char:5
+     New-AzureRmResource -Location $location -Properties $propertiesOb ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmResource],ErrorResponseMessageException
    + FullyQualifiedErrorId : NotFound,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourc
   eCmdlet

这很奇怪,因为我检查了 VNET 是否存在,还检查了资源组,并尝试了许多其他 Vnet。

如何使用 azureRM 通过 powershell 命令添加 VNet 集成?

解决方法

此命令正在尝试使用网关所需的 VNet 集成。我猜您已经配置了一个网关并打算使用它。

看命令,突出的一点就是这个参数

-ResourceName "$($WebApp)/$($vnetToAdd)/primary"

请参阅 this 帖子了解如何执行此操作。

此外,还有一个 PS 脚本 here 可用于配置 VPN 网关,然后使用 Web 应用程序对其进行配置。

顺便说一句,还有其他选择要考虑。

  1. 如果您的资源位于同一区域,那么您可以使用 Regional VNet Integration 避免与网关相关的额外费用。这非常容易设置。 CLI 可用 here
  2. 还有NAT Gateway。有关配置 NAT 网关的信息,请参阅 this

HTH

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...