使用 Azure PowerShell 创建具有静态专用 IP 地址的虚拟机

系统会从指定的范围自动为虚拟机 (VM) 分配专用 IP 地址。 此范围取决于部署 VM 的子网。 VM 会保留该地址,直到此 VM 被删除。 Azure 从你创建 VM 时所在的子网动态分配下一个可用的专用 IP 地址。 如果需要子网中的特定 IP 地址,请向 VM 分配静态 IP 地址。

先决条件

如果选择在本地安装并使用 PowerShell,则本文需要 Azure PowerShell 模块 5.4.1 或更高版本。 运行 Get-Module -ListAvailable Az 查找已安装的版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud 以创建与 Azure 的连接。

创建资源组

Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

使用 New-AzResourceGroup 在 chinaeast2 位置创建名为“myResourceGroup”的资源组 。

## Create resource group. ##
$rg =@{
    Name = 'myResourceGroup'
    Location = 'chinaeast2'
}
New-AzResourceGroup @rg

创建虚拟机

使用 New-AzVM 创建虚拟机。

以下命令将创建一个 Windows Server 虚拟机。 出现提示时,请提供要用作该虚拟机登录凭据的用户名和密码:

## Create virtual machine. ##
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Location = 'China East 2'
    Name = 'myVM'
    PublicIpAddressName = 'myPublicIP'
}
New-AzVM @vm

将专用 IP 地址更改为静态

在本部分中,将把之前创建的虚拟机专用 IP 地址从“动态”更改为“静态” 。

使用 Get-AzVirtualNetwork 将虚拟网络配置放入变量中。 使用 Get-AzVirtualNetworkSubnetConfig 将子网配置放入变量中。 使用 Get-AzNetworkInterface 获取网络接口配置并放入变量中。 使用 Set-AzNetworkInterfaceIpConfig 设置网络接口的配置。 最后,使用 Set-AzNetworkInterface 设置虚拟机的配置。

以下命令会将虚拟机专用 IP 地址更改为静态:

## Place virtual network configuration into a variable. ##
$net = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

## Place subnet configuration into a variable. ##
$sub = @{
    Name = 'myVM'
    VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub

## Get name of network interface and place into a variable ##
$int1 = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vm = Get-AzVM @int1

## Place network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -ResourceId $vm.NetworkProfile.NetworkInterfaces.Id

## Set interface configuration. ##
$config =@{
    Name = 'myVM'
    PrivateIpAddress = '192.168.1.4'
    Subnet = $subnet
}
$nic | Set-AzNetworkInterfaceIpConfig @config -Primary

## Save interface configuration. ##
$nic | Set-AzNetworkInterface

警告

在 VM 的操作系统中,不应以静态方式分配已分配给 Azure VM 的专用 IP。 仅在必要的情况下(例如,要向 VM 分配许多 IP 地址时),才执行专用 IP 的静态分配。

如果在操作系统中手动设置专用 IP 地址,请确保该 IP 地址与分配给 Azure 网络接口的专用 IP 地址相匹配。 否则,与 VM 的连接可能会断开。 详细了解专用 IP 地址设置。

清理资源

如果不再需要资源组及其包含的所有资源,请使用 Remove-AzResourceGroup 将其删除:

Remove-AzResourceGroup -Name myResourceGroup -Force

后续步骤