繁体   English   中英

如何使用PowerShell的ARM模板将Azure WebApp创建到现有v1 VNet?

[英]How to create Azure WebApp to an existing v1 VNet using ARM templates of PowerShell?

我有:

  • 名为VNET_DEV01_CLASSIC2的V1 VNet(经典)。
  • 我还有一个PowerShell脚本,该脚本使用ARM模板(在这里可以看到template )创建一个WebApp(AppService)。

新的WebApp创建成功,但随后我需要手动将其连接到V1 VNet

在此处输入图片说明

连接后,它可以正常工作。

在此处输入图片说明

如何使它自动化? 到目前为止,我没有成功尝试两种方法:

1)更新ARM模板以使用连接创建它。 我看到了所有的azure-quickstart-templates,但是没有找到任何连接到VNet的WebApp。 我也尝试使用资源浏览器并扣除模板资源,但未成功。

2)创建它之后,添加一些PowerShell命令以将其连接到V1 VNet我找不到任何文章来做到这一点。 这里有来自Ahmed IG的评论,要求提供同样的评论,并通过compy @ MSFT进行回答,但答案不是公开的...

我也尝试使用资源浏览器并遵循PowerShell示例,但不起作用。 我遇到的错误是:

New-AzureRmResource:管道已停止。 在D:\\ cad \\ antstream \\ azure-devops \\ AzureManagementScripts \\ as-cms \\ kk.ps1:14 char:1 + New-AzureRmResource -ResourceName as-cms-dev01 -Location $ ResourceLoc ... + ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ + + CategoryInfo:CloseError:(:) [New-AzureRmResource],PipelineStoppedException + FullyQualifiedErrorId:Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceCmdlet New-AzureRmResource:{ “消息”:“请求的资源不支持http方法'PUT'。”}在D:\\ cad \\ antstream \\ azure-devops \\ AzureManagementScripts \\ as-cms \\ kk.ps1:14 char:1 + New-AzureRmResource- ResourceName as-cms-dev01-位置$ ResourceLoc ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:CloseError:(:) [New-AzureRmResource],ErrorResponseMessageException + FullyQualifiedErrorId :MethodNotAllowed,Microsoft.Azure.Commands.ResourceManager.Cmdlet.Implementation.NewAzureResourceCmdlet

在此处输入图片说明

所以我的问题是如何使它自动化?

首先,您需要按照我在http://www.techdiction.com/2016/01/12/creating-a-point-to-site-vpn-connection-on-an-azure-上的文章配置的P2S现有VNet 资源管理器虚拟网络/

然后使用下面的PowerShell通过P2S VPN将AppService连接到VNet:

$subscription_id = "<Subscription_ID>"
$NetworkName = "<Network_Name>"
$location = "<Region>"
$netrgname = "<Resource_Group_VNet_is_in>"
$AppServiceName = "<AppService_Name>"
 $props = @{
      "vnetResourceId" = "/subscriptions/$subscription_id/resourcegroups/$netrgname/providers/Microsoft.ClassicNetwork/virtualNetworks/$NetworkName";
      "certThumbprint"= "<Client_cert_thumbprint>";
      "certBlob"= "<Base64_Cert_Data>";
      "routes" = $null;
      }

New-AzureRMResource -ResourceName "$AppServiceName/$AppServiceName-to-$NetworkName" -Location $location  -ResourceGroupName MarcusWebsites -ResourceType Microsoft.Web/sites/virtualNetworkConnections -PropertyObject $props -ApiVersion "2015-08-01" -force 

如果需要,可以修改路由属性来配置自定义路由。

马库斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM