创建包含多个子网的虚拟网络
本教程介绍如何创建包含独立公共子网和专用子网的基本 Azure 虚拟网络。 虚拟网络中的资源可以彼此通信,并可以与连接到虚拟网络的其他网络中的资源通信。 可在虚拟网络中相同或不同的子网中创建 Azure 资源,如虚拟机、应用服务环境、虚拟机规模集、Azure HDInsight 和云服务。 通过在不同的子网中创建资源,可以筛选出网络安全组以外的进出子网的网络流量,还可通过网络虚拟设备(如防火墙)路由子网之间的流量(如果选择这样做)。
以下部分提供了使用 Azure 门户、Azure 命令行接口 (Azure CLI)、Azure PowerShell 和 Azure 资源管理器模板创建虚拟网络的步骤。 不管使用哪种工具来创建虚拟网络,结果都是一样的。 单击工具链接,转到教程中该工具的对应部分。 详细了解所有虚拟网络和子网设置。
本文提供通过资源管理器部署模型(创建新虚拟网络时建议使用的部署模型)创建虚拟网络的步骤。 如果需要创建虚拟网络(经典),请参阅创建虚拟网络(经典)。 如果不熟悉 Azure 的部署模型,请阅读了解 Azure 部署模型。
Azure 门户
- 在 Internet 浏览器中,转到 Azure 门户。 使用 Azure 帐户登录。 如果没有 Azure 帐户,可以注册 试用版。
- 在门户中,单击“+新建” > “网络” > “虚拟网络”。
-
在“创建虚拟网络”边栏选项卡中,输入以下值,然后单击“创建”:
设置 值 名称 myVnet 地址空间 10.0.0.0/16 子网名称 公共 子网地址范围 10.0.0.0/24 资源组 保留选中“新建”,输入 myResourceGroup。 订阅和位置 选择订阅和位置。 - 在门户中创建虚拟网络时,只能创建一个子网。 在本教程中,将在创建虚拟网络之后创建第二个子网。 随后可在“公共”子网中创建可通过 Internet 访问的资源。 还可以在“专用”子网中创建无法通过 Internet 访问的资源。 若要创建第二个子网,请在页面顶部的“搜索资源”框中输入 myVnet。 在搜索结果中,单击“myVnet”。 如果在订阅中存在多个同名的虚拟网络,请检查每个虚拟网络下列出的资源组。 确保单击的是包含“myResourceGroup”资源组的“myVnet”搜索结果。
- 在“myVnet”边栏选项卡中,单击“设置”下面的“子网”。
- 在“myVnet - 子网”边栏选项卡中单击“+子网”。
- 在“添加子网”边栏选项卡中,在“名称”处输入“私有”。 为“地址范围”输入 10.0.1.0/24。 单击 “确定”。
- 在“myVnet - 子网”边栏选项卡中查看子网。 可以看到所创建的“公共”和“专用”子网。
- 可选:完成后续步骤下列出的其他教程,以便使用网络安全组筛选出进出每个子网的网络流量,以及通过网络虚拟设备路由子网之间的流量,或将虚拟网络连接到其他虚拟网络或本地网络。
- 可选:若要删除在本教程中创建的资源,请完成删除资源中所述的步骤。
Azure CLI
无论是在 Windows、Linux 还是 macOS 上,执行 Azure CLI 命令的结果都是相同的。 不过在操作系统 shell 之间存在脚本差异。 以下步骤中的脚本在 Bash shell 中执行。
Note
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud
来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud
。
- 安装并配置 Azure CLI。 确保已安装最新版本的 Azure CLI。 若要获取 CLI 命令的帮助,请键入
az <command> --help
。 - 如果在本地运行 CLI,请使用
az cloud set -n AzureChinaCloud
和az login
命令登录到 Azure。 -
查看以下脚本及其注释。 在浏览器中,复制该脚本并将其粘贴到 CLI 会话中:
Azure CLI#!/bin/bash # Create a resource group. az group create \ --name myResourceGroup \ --location chinaeast # Create a virtual network with one subnet named Public. az network vnet create \ --name myVnet \ --resource-group myResourceGroup \ --subnet-name Public # Create an additional subnet named Private in the virtual network. az network vnet subnet create \ --name Private \ --address-prefix 10.0.1.0/24 \ --vnet-name myVnet \ --resource-group myResourceGroup
-
运行完脚本后,请查看虚拟网络的子网。 复制以下命令,并将其粘贴到 CLI 会话中:
Azure CLIaz network vnet subnet list --resource-group myResourceGroup --vnet-name myVnet --output table
-
可选:完成后续步骤下列出的其他教程,以便使用网络安全组筛选出进出每个子网的网络流量,以及通过网络虚拟设备路由子网之间的流量,或将虚拟网络连接到其他虚拟网络或本地网络。
- 可选:若要删除在本教程中创建的资源,请完成删除资源中所述的步骤。
PowerShell
- 安装最新版本的 PowerShell AzureRm 模块。 如果不熟悉 Azure PowerShell,请参阅 Azure PowerShell 概述。
-
在 PowerShell 会话中,使用
login-azurermaccount
命令以 Azure 帐户登录到 Azure。 -
查看以下脚本及其注释。 在浏览器中,复制该脚本并将其粘贴到 PowerShell 会话中:
PowerShell# Create a resource group. New-AzureRmResourceGroup ` -Name myResourceGroup ` -Location chinaeast # Create the public and private subnets. $Subnet1 = New-AzureRmVirtualNetworkSubnetConfig ` -Name Public ` -AddressPrefix 10.0.0.0/24 $Subnet2 = New-AzureRmVirtualNetworkSubnetConfig ` -Name Private ` -AddressPrefix 10.0.1.0/24 # Create a virtual network. $Vnet=New-AzureRmVirtualNetwork ` -ResourceGroupName myResourceGroup ` -Location chinaeast ` -Name myVnet ` -AddressPrefix 10.0.0.0/16 ` -Subnet $Subnet1,$Subnet2
-
若要查看虚拟网络的子网,请复制以下命令,并将其粘贴到 PowerShell 会话中:
PowerShell$Vnet.subnets | Format-Table Name, AddressPrefix
-
可选:完成后续步骤下列出的其他教程,以便使用网络安全组筛选出进出每个子网的网络流量,以及通过网络虚拟设备路由子网之间的流量,或将虚拟网络连接到其他虚拟网络或本地网络。
- 可选:若要删除在本教程中创建的资源,请完成删除资源中所述的步骤。
Resource Manager 模板
可以使用 Azure Resource Manager 模板部署虚拟网络。 若要详细了解模板,请参阅什么是 Resource Manager。 若要访问模板并了解其参数,请参阅创建包含两个子网的虚拟网络模板。 可以使用门户、Azure CLI 或 PowerShell 部署模板。
部署模板后可选择执行的步骤:
- 完成后续步骤下列出的其他教程,以便使用网络安全组筛选出进出每个子网的网络流量,以及通过网络虚拟设备路由子网之间的流量,或将虚拟网络连接到其他虚拟网络或本地网络。
- 若要删除在本教程中创建的资源,请完成删除资源任何子节中的步骤。
Azure 门户
- 在浏览器中打开模板页。
- 单击“部署到 Azure”按钮。 如果尚未登录到 Azure,请在显示的 Azure 门户登录屏幕中登录。
- 使用 Azure 帐户登录到门户。 如果没有 Azure 帐户,可以注册 试用版。
-
输入以下参数值:
参数 值 订阅 选择订阅 资源组 myResourceGroup 位置 选择位置 VNet 名称 myVnet VNet 地址前缀 10.0.0.0/16 Subnet1Prefix 10.0.0.0/24 Subnet1Name 公共 Subnet2Prefix 10.0.1.0/24 Subnet2Name 专用 -
同意条款和条件,然后单击“购买”部署虚拟网络。
Azure CLI
- 安装并配置 Azure CLI。 确保已安装最新版本的 Azure CLI。 若要获取 CLI 命令的帮助,请键入
az <command> --help
。 - 如果在本地运行 CLI,请使用
az cloud set -n AzureChinaCloud' 'az login
命令登录到 Azure。 -
若要为虚拟网络创建资源组,请复制以下命令,并将其粘贴到 CLI 会话中:
Azure CLIaz group create --name myResourceGroup --location chinaeast
-
可以使用下列参数选项之一来部署模板:
-
默认参数值。 输入以下命令:
Azure CLIaz group deployment create --resource-group myResourceGroup --name VnetTutorial --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/101-vnet-two-subnets/azuredeploy.json`
-
自定义参数值。 部署模板之前下载并修改模板。 还可以在命令行中使用参数来部署模板,或使用单独的参数文件来部署模板。 若要下载模板和参数文件,请在创建包含两个子网的虚拟网络模板页上单击“在 GitHub 上浏览”按钮。 在 GitHub 中单击 azuredeploy.parameters.json 或 azuredeploy.json 文件。 然后单击该文件对应的“Raw”按钮。 在浏览器中,复制该文件的内容。 将内容保存到计算机上的某个文件中。 可以修改模板中的参数值,或使用单独的参数文件部署模板。
若要详细了解如何使用这些方法部署模板,请键入
az group deployment create --help
。
-
PowerShell
- 安装最新版本的 PowerShell AzureRm 模块。 如果不熟悉 Azure PowerShell,请参阅 Azure PowerShell 概述。
- 在 PowerShell 会话中,若要使用 Azure 帐户登录,请输入
login-azurermaccount
。 -
若要为虚拟网络创建资源组,请输入以下命令:
PowerShellNew-AzureRmResourceGroup -Name myResourceGroup -Location chinaeast
-
可以使用下列参数选项之一来部署模板:
-
默认参数值。 输入以下命令:
PowerShellNew-AzureRmResourceGroupDeployment -Name VnetTutorial -ResourceGroupName myResourceGroup -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/101-vnet-two-subnets/azuredeploy.json
-
自定义参数值。 部署模板之前下载并修改模板。 还可以在命令行中使用参数来部署模板,或使用单独的参数文件来部署模板。 若要下载模板和参数文件,请在创建包含两个子网的虚拟网络模板页上单击“在 GitHub 上浏览”按钮。 在 GitHub 中单击 azuredeploy.parameters.json 或 azuredeploy.json 文件。 然后单击该文件对应的“Raw”按钮。 在浏览器中,复制该文件的内容。 将内容保存到计算机上的某个文件中。 可以修改模板中的参数值,或使用单独的参数文件部署模板。
若要详细了解如何使用这些方法部署模板,请键入
Get-Help New-AzureRmResourceGroupDeployment
。
-
删除资源
完成本教程后,可以删除创建的资源,以免产生使用费。 删除资源组会删除其中包含的所有资源。
Azure 门户
- 在门户的搜索框中,输入 myResourceGroup。 在搜索结果中,单击“myResourceGroup”。
- 在“myResourceGroup”边栏选项卡中,单击“删除”图标。
- 若要确认删除,请在“键入资源组名称”框中输入 myResourceGroup,然后单击“删除”。
Azure CLI
在 CLI 会话中输入以下命令:
az group delete --name myResourceGroup --yes
PowerShell
在 PowerShell 会话中输入以下命令:
Remove-AzureRmResourceGroup -Name myResourceGroup -Force
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2015-12-07 Hadoop和大数据:60款顶级大数据开源工具