如果此命令成功,$vnet 中應該包含 Properties 變量。Properties 變量應該包含證書指紋和證書數據。
· 將證書下載到本地
$certBytes =[System.Convert]::FromBase64String
($vnet.Properties.certBlob)
[System.IO.File]::WriteAllBytes
("$($Configuration.GeneratedCertificatePath)",$certBytes)
在Portal中將下載的證書上載到虛擬網絡
· 獲取點到站點包,並將其提供給WebSite應用
將以下模板保存到計算機上某個位置中的名為GetNetworkPackageUri.json 的文件
{
"$schema":"http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion":"1.0.0.0",
"parameters": {
"certData": {
"type":"string"
},
"certThumbprint": {
"type": "string"
},
"networkName": {
"type":"string"
}
},
"variables": {
"legacyVnetName":"[concat('Group ', resourceGroup().name, ' ',parameters('networkName'))]"
},
"resources": [
],
"outputs" : {
"PackageUri" :
{
"value" : "[listPackage(resourceId('Microsoft.ClassicNetwork/virtualNetworks/gateways/clientRootCertificates',parameters('networkName'), 'primary', parameters('certThumbprint')), '2014-06-01').packageUri]","type" : "string"
}
}
}
設置輸入參數:
$parameters =@{"certData" = $vnet.Properties.certBlob ;
certThumbprint =$vnet.Properties.certThumbprint ;
"networkName" =$Configuration.VnetName }
· 調用ARM模板
#這裡的json文件就是上面保存的json模板文件
$output = New-AzureRmResourceGroupDeployment-Name unused -ResourceGroupName $Configuration.VnetResourceGroup-TemplateParameterObject $parameters -TemplateFileC:\PATH\TO\GetNetworkPackageUri.json
變量 $output.Outputs.packageUri 現在包含要提供給Web 應用的包 URI。
· 將點到站點包上載到應用
$vnet = New-AzureRmResource -Name"$($Configuration.WebAppName)/$($Configuration.VnetName)/primary"-ResourceGroupName $Configuration.WebAppResourceGroup -ResourceType"Microsoft.Web/sites/virtualNetworkConnections/gateways" -ApiVersion2015-07-01 -PropertyObject @{"VnetName" = $Configuration.VnetName ;"VpnPackageUri" = $($output.Outputs.packageUri).Value } -Location$Configuration.WebAppLocation
此命令成功之後,應用現在應會連接到虛擬網絡
6、確認應用是否連接到虛擬網絡
下載WebSite發佈配置文件
登錄到應用Kudu管理平臺,打開瀏覽器輸入下圖選中的Url並登錄。
進入命令行界面
輸入以下命令
SET WEBSITE_
我們可以看到WEBSITE_VNETNAME 的環境變量值就是連接的虛擬網絡,說明我們的應用已經集成到虛擬網絡中了。
關注我們,一起成為雲達人!
閱讀更多 上海南洋培訓 的文章