「乾貨」如何將WebSite集成到虛擬網絡中?

如果此命令成功,$vnet 中應該包含 Properties 變量。Properties 變量應該包含證書指紋和證書數據。

· 將證書下載到本地

$certBytes =[System.Convert]::FromBase64String

($vnet.Properties.certBlob)

[System.IO.File]::WriteAllBytes

("$($Configuration.GeneratedCertificatePath)",$certBytes)

在Portal中將下載的證書上載到虛擬網絡

「乾貨」如何將WebSite集成到虛擬網絡中?

· 獲取點到站點包,並將其提供給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發佈配置文件

「乾貨」如何將WebSite集成到虛擬網絡中?

登錄到應用Kudu管理平臺,打開瀏覽器輸入下圖選中的Url並登錄。

「乾貨」如何將WebSite集成到虛擬網絡中?

進入命令行界面

「乾貨」如何將WebSite集成到虛擬網絡中?

輸入以下命令

SET WEBSITE_

「乾貨」如何將WebSite集成到虛擬網絡中?

我們可以看到WEBSITE_VNETNAME 的環境變量值就是連接的虛擬網絡,說明我們的應用已經集成到虛擬網絡中了。

「乾貨」如何將WebSite集成到虛擬網絡中?

關注我們,一起成為雲達人!


分享到:


相關文章: