使用 PowerShell 创建应用服务应用并部署专用终结点
本示例脚本使用其相关资源,在应用服务中创建应用,然后部署专用终结点。
示例脚本
# Parameters
$sitename="mywebapp-$(Get-Random)"
$appserviceplanname="ASP-"+$sitename
$resourcegroupname="RG-"+$sitename
$VNetname="VNet-$(Get-Random)"
$location="chinaeast2"
$privateendpointsubnetname = "privateEndpointSubnet"
# Create a resource group.
New-AzResourceGroup -Name $resourcegroupname -Location $location
# Create an App Service plan in PremiumV2 tier.
$asp = New-AzAppServicePlan -Name $appserviceplanname `
-Location $location `
-ResourceGroupName $resourcegroupname `
-Tier PremiumV2 `
-NumberofWorkers 1 `
-WorkerSize Small
# Create a web app.
$webApp = New-AzWebApp -Name $sitename `
-Location $location `
-AppServicePlan $appserviceplanname `
-ResourceGroupName $resourcegroupname
# Create a Virtual Network with two subnets
$integrationsubnet = New-AzVirtualNetworkSubnetConfig -Name "integrationSubnet" `
-AddressPrefix "10.8.1.0/24"
$privateendpointsubnet = New-AzVirtualNetworkSubnetConfig -Name $privateendpointsubnetname `
-AddressPrefix "10.8.2.0/24" `
-PrivateEndpointNetworkPoliciesFlag Disabled
$virtualNetwork = New-AzVirtualNetwork -Name $VNetname `
-ResourceGroupName $resourcegroupname `
-Location $location -AddressPrefix "10.8.0.0/16" `
-Subnet $integrationsubnet,$privateendpointsubnet
# Configure the Private Endpoint
$privateEndPointConnection = New-AzPrivateLinkServiceConnection -Name "myPrivateEndpointconnection" `
-PrivateLinkServiceID $webApp.Id `
-GroupId sites
$subnet = $virtualNetwork | select -ExpandProperty subnets | Where-Object {$_.Name -eq $privateendpointsubnetname}
$privateEndpoint = New-AzPrivateEndpoint -Name "myPrivateEndpoint" `
-ResourceGroupName $resourcegroupname `
-Location $location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndPointConnection
# Configure the Private DNS zone
$dnsZone = New-AzPrivateDnsZone -Name "privatelink.chinacloudsites.cn" `
-ResourceGroupName $resourcegroupname
$dnsLink = New-AzPrivateDnsVirtualNetworkLink -Name "myDNSLink" `
-ResourceGroupName $resourcegroupname `
-ZoneName "privatelink.chinacloudsites.cn" `
-VirtualNetworkId $virtualNetwork.Id
$dnsConfig = New-AzPrivateDnsZoneConfig -Name "privatelink.chinacloudsites.cn" `
-PrivateDnsZoneId $dnsZone.ResourceId
$dnsZoneGroup = New-AzPrivateDnsZoneGroup -Name "myZoneGroup" `
-ResourceGroupName $resourcegroupname `
-PrivateEndpointName $privateEndpoint.Name `
-PrivateDnsZoneConfig $dnsConfig
清理部署
运行脚本示例后,可以使用以下命令删除资源组、Web 应用以及所有相关资源。
Remove-AzResourceGroup -Name myResourceGroup -Force
脚本说明
此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。
命令 | 注释 |
---|---|
New-AzResourceGroup | 创建用于存储所有资源的资源组。 |
New-AzAppServicePlan | 创建应用服务计划。 |
New-AzWebApp | 创建 Web 应用。 |
New-AzVirtualNetworkSubnetConfig | 创建虚拟网络子网配置。 |
New-AzVirtualNetwork | 创建虚拟网络。 |
New-AzPrivateLinkServiceConnection | 创建专用链接服务连接配置。 |
New-AzPrivateEndpoint | 创建专用终结点。 |
New-AzPrivateDnsZone | 创建新的专用 DNS 区域。 |
New-AzPrivateDnsVirtualNetworkLink | 创建新的专用 DNS 虚拟网络链接。 |
New-AzPrivateDnsZoneConfig | 创建专用 DNS 区域组的 DNS 区域配置。 |
New-AzPrivateDnsZoneGroup | 在指定的专用终结点中创建专用 DNS 区域组。 |
后续步骤
- 有关 Azure PowerShell 模块的详细信息,请参阅 Azure PowerShell 文档。
- 可以在 Azure PowerShell 示例中找到 Azure 应用服务 Web 应用的其他 Azure PowerShell 示例。