当前位置: 首页 > 知识库问答 >
问题:

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

姜嘉荣
2023-03-14

我有:

  • 一个名为VNET_DEV01_CLASSIC2的V1 VNet(经典)。
  • 我也有一个PowerShellhtml" target="_blank">脚本,它使用ARM模板创建一个WebApp(AppService)(在这里你可以看到模板)。

新的WebApp创建好,但我需要手动将其连接到V1 VNet

连接之后,它工作得非常好。

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

1) 正在更新ARM模板以使用连接创建它。我看到了所有azure quickstart模板,但没有找到任何连接到VNet的Web应用程序。我还尝试使用资源管理器并推断模板资源的使用方式,但没有成功。

2) 创建它之后,添加一些PowerShell命令将其连接到V1 VNet。我找不到任何文章可以这样做。这里有一条来自艾哈迈德·伊格的评论,要求同样的回答compy@MSFT但答案不是公开的。。。

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

新AzureRmResource:管道已停止。位于D:\cad\antstream\azure devops\AzureManagementScripts\as cms\kk。ps1:14字符:1个新的AzureRmResource-ResourceName as-cms-dev01-位置$ResourceLoc…~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CategoryInfo:CloseError:(:)[New AzureRmResource],PipelineStoppedException FullyQualifiedErrorId:Microsoft。蔚蓝色的命令。资源经理。cmdlet。实施NewAzureResourceCmdlet New AzureRmResource:{“消息”:“请求的资源不支持http方法'PUT'。”位于D:\cad\antstream\azure devops\AzureManagementScripts\as cms\kk。ps1:14字符:1个新的AzureRmResource-ResourceName as-cms-dev01-位置$ResourceLoc…~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~类别信息:CloseError:(:)[New AzureRmResource],ErrorResponseMessageException FullyQualifiedErrorId:MethodNotAllowed,Microsoft。蔚蓝色的命令。资源经理。cmdlet。实施NewAzureResourceCmdlet

所以我的问题是如何实现自动化?

共有1个答案

冯玮
2023-03-14

首先,您需要一个现有的VNet,其中P2S按照我在http://www.techdiction.com/2016/01/12/creating-a-point-to-site-vpn-connection-on-an-azure-resource-manager-virtual-network/

然后使用以下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 

如果需要,可以通过修改routes属性来配置自定义管线。

马库斯

 类似资料:
  • 部署VNET并将新部署的VNET与其他资源组中的现有VNET对等的Azure ARM模板? 请在下面找到JSON模板: {“$schema”:https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#,“内容版本”:“1.0。0.0", } 这就是我一直得到的错误:

  • 提前感谢,我是ARM模板的新手,还在学习它是如何工作的。我有一个包含资源的VNET,VNET地址空间是10.0。0.0/16,它包含一个子网,地址空间为10.0。0.0/16我正在尝试使用ARM模板更新DNS,它向我抛出了一个错误 这是我的部署文件 下面是我的参数文件 我不确定我做错了什么。 我尝试使用[]括号作为参数,并得到了错误信息 “{”代码“:”部署失败“,”消息“:”至少一个资源部署操作

  • 我正在Azure Kubernetes服务上工作。我正在通过门户成功创建AKS。但是,我需要通过ARM模板来完成。 如何使用ARM模板创建AK? 为此,我选择了link 但是,我收到的问题如下: 代码:InvalidTemplate 消息:部署模板验证失败:“模板资源”AKSsubnet/Microsoft。授权/36985XXX-XXXX-XXXX-XXXX-XXXX-5fb6b7ebXXXX“

  • 我发现自己经常重复的内容。例如,对于典型的应用程序,这将如下所示: 根据执行dockerfile的项目,这里只有三件事是动态的:,,

  • 我们正在使用Visual Studio Team Services发布功能,我正在构建一个完全自动化的CI/CD管道。 我应该如何使用VSTS和ARM模板部署这种简单的Azure PaaS/SaaS应用程序,而不让自己陷入极限的角落? 欣赏

  • 了解如何从现有文档创建 Dreamweaver 模板、使用“资源”面板来创建一个新模板或创建 Contribute 站点的模板。 可以基于现有文档(如 HTML)创建模板,也可以从新文档创建模板。 创建模板后,可以插入模板区域,并为代码颜色和模板区域高亮颜色设置模板的首选参数。 注意:您可以在模板的“设计备注”文件中存储关于模板的附加信息(如创作者、上一次更改的时间或做出某些布局决定的原因)。基于