使用 Azure CLI 创建具有双堆栈网络的 Azure 虚拟机
本文介绍如何使用 Azure CLI 在 Azure 中创建虚拟机。 在创建过程中,会将虚拟机与双堆栈网络一起创建。 完成后,虚拟机支持 IPv4 和 IPv6 通信。
先决条件
具有活动订阅的 Azure 帐户。 创建试用版订阅。
如需在本地运行 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。
本教程需要 Azure CLI 版本 2.0.28 或更高版本。
创建资源组
Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
使用 az group create 在 chinanorth3 位置创建名为“myResourceGroup”的资源组。
az group create \
--name myResourceGroup \
--location chinanorth3
创建虚拟网络
在本部分中,你要为虚拟机创建双堆栈虚拟网络。
使用 az network vnet create 创建虚拟网络。
az network vnet create \
--resource-group myResourceGroup \
--location chinanorth3 \
--name myVNet \
--address-prefixes 10.0.0.0/16 2404:f800:8000:122::/63 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.0.0.0/24 2404:f800:8000:122::/64
创建公共 IP 地址
在此部分中,你要创建两个公共 IP 地址:IPv4 和 IPv6。
使用 az network public-ip create 创建公共 IP 地址。
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv4 \
--sku Standard \
--version IPv4 \
--zone 1 2 3
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv6 \
--sku Standard \
--version IPv6 \
--zone 1 2 3
创建网络安全组
在本部分中,为虚拟机和虚拟网络创建网络安全组。
使用 az network nsg create 创建网络安全组。
az network nsg create \
--resource-group myResourceGroup \
--name myNSG
创建网络安全组规则
创建一个规则,以允许连接到适用于 SSH 的端口 22 上的虚拟机。 将创建一个额外的规则,以允许所有端口进行出站连接。
使用 az network nsg rule create 创建网络安全组规则。
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name myNSGRuleSSH \
--protocol '*' \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 22 \
--access allow \
--priority 200
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name myNSGRuleAllOUT \
--protocol '*' \
--direction outbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range '*' \
--access allow \
--priority 200
创建虚拟机
在本部分中,你要创建虚拟机及其支持资源。
创建网络接口
使用 az network nic create 为虚拟机创建网络接口。 先前创建的公共 IP 地址和 NSG 与 NIC 关联。 网络接口已连接到之前创建的虚拟网络。
az network nic create \
--resource-group myResourceGroup \
--name myNIC1 \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG \
--public-ip-address myPublicIP-IPv4
创建 IPv6 IP 配置
使用 az network nic ip-config create 创建 NIC 的 IPv6 配置。
az network nic ip-config create \
--resource-group myResourceGroup \
--name myIPv6config \
--nic-name myNIC1 \
--private-ip-address-version IPv6 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--public-ip-address myPublicIP-IPv6
创建虚拟机
使用 az vm create 创建虚拟机。
az vm create \
--resource-group myResourceGroup \
--name myVM \
--nics myNIC1 \
--image UbuntuLTS \
--admin-username azureuser \
--authentication-type ssh \
--generate-ssh-keys
测试 SSH 连接
使用 az network public-ip show 显示虚拟机的 IP 地址。
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv4 \
--query ipAddress \
--output tsv
user@Azure:~$ az network public-ip show \
> --resource-group myResourceGroup \
> --name myPublicIP-IPv4 \
> --query ipAddress \
> --output tsv
20.119.201.208
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv6 \
--query ipAddress \
--output tsv
user@Azure:~$ az network public-ip show \
> --resource-group myResourceGroup \
> --name myPublicIP-IPv6 \
> --query ipAddress \
> --output tsv
2603:1030:408:6::9d
使用以下命令打开到虚拟机的 SSH 连接。 将 IP 地址替换为虚拟机的 IP 地址。
ssh azureuser@20.119.201.208
清理资源
不再需要上述资源组、虚拟机和所有相关资源时,请使用 az group delete 命令将其删除。
az group delete \
--name myResourceGroup
后续步骤
本文已介绍如何创建具有双堆栈网络的 Azure 虚拟机。
有关 Azure 中 IPv6 和 IP 地址的详细信息,请参阅: