如需在本地运行 CLI 参考命令,请
安装
Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅
如何在 Docker 容器中运行 Azure CLI
。
如果使用的是本地安装,请使用
az login
命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅
使用 Azure CLI 登录
。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅
使用 Azure CLI 的扩展
。
运行
az version
以查找安装的版本和依赖库。 若要升级到最新版本,请运行
az upgrade
。
本操作指南文章需要 2.31.0 版或更高版本的 Azure CLI。 如果使用 Azure Cloud Shell,则最新版本已安装。
Azure PowerShell(本地安装)或 Azure Cloud Shell。
登录到 Azure PowerShell,并确保已选择要使用此功能的订阅。 有关详细信息,请参阅
使用 Azure PowerShell 登录
。
请确保
Az.Network
模块是 4.3.0 或更高版本。 若要验证已安装的模块,请使用命令
Get-InstalledModule -Name "Az.Network"
。 如果模块需要更新,必要时请使用命令
Update-Module -Name Az.Network
。
如果选择在本地安装并使用 PowerShell,则本文需要 Azure PowerShell 模块 5.4.1 或更高版本。 运行
Get-Module -ListAvailable Az
查找已安装的版本。 如果需要进行升级,请参阅
Install Azure PowerShell module
(安装 Azure PowerShell 模块)。 如果在本地运行 PowerShell,则还需运行
Connect-AzAccount
以创建与 Azure 的连接。
创建虚拟网络
在本部分中,将创建一个虚拟网络和子网,稍后将其委托给 Azure 服务。
PowerShell
Azure CLI
创建资源组
使用
New-AzResourceGroup
创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
以下示例在“eastus2”位置创建名为“myResourceGroup”的资源组:
$rg = @{
Name = 'myResourceGroup'
Location = 'eastus2'
New-AzResourceGroup @rg
创建虚拟网络
使用 New-AzVirtualNetwork 在 myResourceGroup 中创建名为 myVnet 的虚拟网络,并使用 New-AzVirtualNetworkSubnetConfig 创建名为 mySubnet 的子网。
虚拟网络的 IP 地址空间为 10.1.0.0/16。 虚拟网络中的子网为 10.1.0.0/24。
$sub = @{
Name = 'mySubnet'
AddressPrefix = '10.1.0.0/24'
$subnet = New-AzVirtualNetworkSubnetConfig @sub
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
AddressPrefix = '10.1.0.0/16'
Subnet = $subnet
New-AzVirtualNetwork @net
创建资源组
使用 az group create 创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
以下示例在“eastu2”位置创建名为“myResourceGroup”的资源组:
az group create \
--name myResourceGroup \
--location eastus2
创建虚拟网络
使用 az network vnet create 在 myResourceGroup 中创建名为 myVnet 的虚拟网络,该虚拟网络包含名为 mySubnet 的子网。
az network vnet create \
--resource-group myResourceGroup \
--location eastus2 \
--name myVNet \
--address-prefix 10.1.0.0/16 \
--subnet-name mySubnet \
--subnet-prefix 10.1.0.0/24
将子网委托给 Azure 服务
在此部分,我们将上一部分创建的子网委托给 Azure 服务。
PowerShell
Azure CLI
请使用 Add-AzDelegation 通过名为 myDelegation 的委托(委托到 Azure 服务)对名为 mySubnet 的子网进行更新。 在此示例中,Microsoft.Sql/managedInstances 用于示例委托:
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
$vnet = Get-AzVirtualNetwork @net
$sub = @{
Name = 'mySubnet'
VirtualNetwork = $vnet
$subnet = Get-AzVirtualNetworkSubnetConfig @sub
$del = @{
Name = 'myDelegation'
ServiceName = 'Microsoft.Sql/managedInstances'
Subnet = $subnet
$subnet = Add-AzDelegation @del
Set-AzVirtualNetwork -VirtualNetwork $vnet
使用 Get-AzDelegation 验证委托:
$sub = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
$subnet = Get-AzVirtualNetwork @sub | Get-AzVirtualNetworkSubnetConfig -Name 'mySubnet'
$dg = @{
Name ='myDelegation'
Subnet = $subnet
Get-AzDelegation @dg
ProvisioningState : Succeeded
ServiceName : Microsoft.Sql/managedInstances
Actions : {Microsoft.Network/virtualNetworks/subnets/join/action}
Name : myDelegation
Etag : W/"9cba4b0e-2ceb-444b-b553-454f8da07d8a"
Id : /subscriptions/3bf09329-ca61-4fee-88cb-7e30b9ee305b/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet/delegations/myDelegation
使用 az network vnet subnet update,使用 Azure 服务的委派更新名为 mySubnet 的子网。 在此示例中,Microsoft.Sql/managedInstances 用于示例委托:
az network vnet subnet update \
--resource-group myResourceGroup \
--name mySubnet \
--vnet-name myVNet \
--delegations Microsoft.Sql/managedInstances
若要验证委派是否已应用,请使用 az network vnet subnet show。 在 serviceName 属性中验证是否已将服务委托给子网:
az network vnet subnet show \
--resource-group myResourceGroup \
--name mySubnet \
--vnet-name myVNet \
--query delegations
"actions": [
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"
"etag": "W/\"30184721-8945-4e4f-9cc3-aa16b26589ac\"",
"id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet/delegations/0",
"name": "0",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"serviceName": "Microsoft.Sql/managedInstances",
"type": "Microsoft.Network/virtualNetworks/subnets/delegations"
从 Azure 服务中删除子网委托
在本部分中,你将删除 Azure 服务的子网委托。
PowerShell
Azure CLI
ResourceGroupName = 'myResourceGroup'
$subnet = Get-AzVirtualNetwork @sub | Get-AzVirtualNetworkSubnetConfig -Name 'mySubnet'
$dg = @{
Name ='myDelegation'
Subnet = $subnet
Get-AzDelegation @dg
Get-AzDelegation: Sequence contains no matching element
使用 az network vnet subnet update 从名为 mySubnet 的子网中删除委派:
az network vnet subnet update \
--resource-group myResourceGroup \
--name mySubnet \
--vnet-name myVNet \
--remove delegations
若要验证委派是否已删除,请使用 az network vnet subnet show。 在 serviceName 属性中验证是否已将服务从子网中删除:
az network vnet subnet show \
--resource-group myResourceGroup \
--name mySubnet \
--vnet-name myVNet \
--query delegations
命令输出为空括号:
不再需要资源组时,可将资源组及其包含的所有资源一并删除:
在 Azure 门户顶部的“搜索”框中输入“myResourceGroup”。 当在搜索结果中看到“myResourceGroup”时,将其选中。
选择“删除资源组”。
对于“键入资源组名称:”,输入“myResourceGroup”,然后选择“删除”。
了解如何在 Azure 中管理子网。