Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
创建虚拟机(VM)时,请创建virtual network或使用现有虚拟机。 请确定如何在虚拟网络上访问虚拟机。 在创建资源之前计划非常重要并确保了解网络资源的 限制。
在下图中,virtual machines表示为 Web 服务器和应用程序服务器。 每个虚拟机集都被分配到虚拟网络中的单独子网。
可以在创建虚拟机之前创建virtual network,也可以在创建虚拟机时创建virtual network。
需要创建以下资源来支持与虚拟机进行通信:
网络接口
IP 地址
虚拟网络和子网
此外,请考虑以下可选资源:
网络安全组
负载均衡器
网络接口
网络接口(NIC)是虚拟机与虚拟网络之间的互连。 虚拟机中至少具有一个 NIC。 虚拟机可以具有多个 NIC,具体取决于所创建 VM 的大小。 若要了解每个虚拟机大小支持的 NIC 数,请参阅 VM 大小。
可以创建具有多个 NIC 的 VM,并可在 VM 的整个生命周期中添加或删除 NIC。 多个 NIC 允许 VM 连接到不同的子网。
附加到 VM 的每个 NIC 必须位于与 VM 相同的位置和订阅下。 每个 NIC 必须连接到与该 NIC 位于同一 Azure 位置和订阅中的虚拟网络。 创建 VM 后,可以更改 VM 连接到的子网。 无法更改虚拟网络。 附加到 VM 的每个 NIC 将分配有一个 MAC 地址,在删除 VM 之前,该地址不会变化。
下表列出了可用于创建网络接口的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 在Azure portal中创建 VM 时,会自动创建网络接口。 门户将创建只包含一个 NIC 的 VM。 如果想要创建包含多个 NIC 的 VM,必须使用其他方法创建 VM。 |
| Azure PowerShell | 使用 New-AzNetworkInterface 指定 -PublicIpAddressId 参数,以提供您先前创建的公共 IP 地址的标识符。 |
| Azure CLI | 若要提供之前创建的公共 IP 地址的标识符,请使用 az network nic create 和 --public-ip-address 参数。 |
| 模板 | 有关使用模板部署网络接口的信息,请参阅具有公共 IP 地址的Virtual Network中的 Network 接口。 |
IP 地址
可以将这些类型的 IP 地址分配给Azure中的网络接口:
公共 IP 地址 - 用于与 Internet 及其他未连接到 Azure 虚拟网络的资源进行入站和出站通信(没有网络地址转换(NAT))。 向 NIC 分配公共 IP 地址是可选操作。 公共 IP 地址会产生少许费用,并且每个订阅可使用的最大公共 IP 地址数目有限制。
Private IP 地址 - 用于虚拟网络、本地内部网络和 Internet(使用 NAT)进行通信。 必须至少为 VM 分配一个专用 IP 地址。 若要详细了解 Azure 中的 NAT,请阅读 Azure 中的出站连接。
可以为以下项目分配公共 IP 地址:
虚拟机
公共负载均衡器
可以为以下项目分配专用 IP 地址:
虚拟机
内部负载均衡器
可以使用网络接口将 IP 地址分配给 VM。
默认情况下,Azure动态分配 IP 地址。 未在创建时分配 IP 地址,但在创建或启动停止的 VM 时分配 IP 地址。 停止或删除该 VM 时,会释放该 IP 地址。
若要使 VM 的 IP 地址保持不变,请将分配方法设置为静态。 仅当删除 VM 或将其分配方法更改为动态时,IP 地址才会立即分配并释放。
下表列出了可用于创建 IP 地址的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 默认情况下,公共 IP 地址是动态的。 当 VM 停止或删除时,IP 地址可能会更改。 为确保 VM 始终使用同一个公共 IP 地址,需创建静态公共 IP 地址。 默认情况下,门户会在创建 VM 时向 NIC 分配一个动态专用 IP 地址。 创建 VM 后,可将此 IP 地址更改为静态地址。 |
| Azure PowerShell | 将 New-AzPublicIpAddress 与值为 Dynamic 或 Static 的 -AllocationMethod 参数配合使用。 |
| Azure CLI | 将az network public-ip create与--allocation-method参数一起使用,将其设置为动态或静态。 |
| 模板 | 有关使用模板部署公共 IP 地址的详细信息,请参阅具有公共 IP 地址的Virtual Network中的 Network 接口。 |
创建公共 IP 地址后,可将它分配到 NIC,从而将它与 VM 相关联。
注意事项
Azure为未分配公共 IP 地址的虚拟机,或者位于内部基本 Azure 负载均衡器后端池中的虚拟机,提供默认的出站访问 IP。 默认出站访问 IP 机制提供一个无法配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载均衡器的后端池中,可能包含或不包含出站规则。
- Azure 虚拟网络 NAT 网关资源被分配给 VM 的子网。
在灵活协调模式下使用虚拟机规模集创建的 VM 没有默认的出站访问。
有关 Azure 中的出站连接的详细信息,请参阅 Azure 默认出站访问 和 使用源网络地址转换(SNAT)进行出站连接。
虚拟网络和子网
子网是virtual network中的 IP 地址范围。 可以将virtual network划分为多个子网,实现组织和安全性。 VM 中的每个 NIC 都连接到一个virtual network中的一个子网。 连接到virtual network中的子网(相同或不同)的 NIC 可以相互通信,而无需任何额外的配置。
设置virtual network时,请指定拓扑,包括可用的地址空间和子网。 如果virtual network连接到其他虚拟网络或本地网络,请选择不重叠的地址范围。 IP 地址是专用地址,无法从 Internet 访问。 Azure将任何地址范围视为专用virtual network IP 地址空间的一部分。 地址范围只能在虚拟网络、互联的虚拟网络和本地位置内访问。
如果内部网络由组织中的其他某人负责,则应在选择地址空间前,先咨询该负责人。 确保地址空间中不存在重叠问题。 告诉他们要使用的空间,以免其尝试使用相同的 IP 地址范围。
默认情况下,子网之间不设安全边界。 每个子网中的虚拟机可以相互通信。 如果部署需要设置安全边界,可以使用网络安全组 (NSG) 来控制流入或流出子网及 VM 的流量。
下表列出了可用于创建virtual network和子网的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 如果在创建 VM 时允许 Azure 创建一个虚拟网络,则名称是包含该虚拟网络的资源组名称与 -vnet 的组合。 地址空间为 10.0.0.0/24,所需的子网名称为 default,子网地址范围为 10.0.0.0/24。 |
| Azure PowerShell | 使用 New-AzVirtualNetworkSubnetConfig 和 New-AzVirtualNetwork 创建子网和虚拟网络。 还可以使用 Add-AzVirtualNetworkSubnetConfig 将子网添加到现有virtual network。 |
| Azure CLI | 子网和虚拟网络同时创建。 请提供--subnet-name参数,并在az network vnet create命令中指定子网名称。 |
| 模板 | 有关使用模板创建virtual network和子网的详细信息,请参阅包含两个子网的 Virtual Network。 |
在子网上使用多个地址前缀
子网上的多个地址前缀是一项功能,可用于修改子网上的 IP 地址空间。 使用此解决方案,使用虚拟机和虚拟机规模集的客户可以添加和删除 IP 地址前缀以满足其缩放要求。
限制:
客户只能对每个 NIC 使用单个客户地址 (CA) 配置。
客户只能在 VM 和Virtual Machine Scale Sets子网上使用。 不支持委托子网。
定价:子网上的多个地址前缀免费提供。
我们欢迎你在此快速调查中分享对此功能的反馈。
重要
Azure Virtual Network 子网的多个前缀支持目前为公开预览。 此预览版没有服务级别协议,不建议用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Azure 预览版的使用条款。
若要详细了解如何配置在子网上使用多个地址前缀的功能,请参阅为子网创建多个前缀。
重要
地址空间有两个子网属性:AddressPrefix(字符串)和 AddressPrefixes(列表)。 二者的区别和用法如下所述。
- 该数组属性是为双栈引入的。 该属性还可用于具有多个子网前缀的场景,如前所述。
- 作为Azure portal客户体验更新的一部分,AddressPrefixes 是通过门户创建子网时子网地址空间的默认属性。
- 通过门户创建的任何新子网,将默认采用 AddressPrefixes 列表参数。
- 如果客户在其virtual network中使用双堆栈或具有多个子网前缀,则会将其更新为使用列表属性。
- 对于使用字符串定义子网地址前缀的现有部署,除非在虚拟网络中显式更改为使用列表属性,否则将保留当前行为。 一个例子是向子网添加IPv6地址空间或另一个前缀。
- 我们建议客户在适用的情况下在子网中查找这两个属性。
网络安全组
网络安全组(NSG)包含一系列访问控制列表(ACL)规则,这些规则用于允许或拒绝网络流量流向子网、NIC 及两者。 NSG 可与子网或者已连接到子网的各个 NIC 相关联。 当 NSG 与某个子网相关联时,ACL 规则将应用到该子网中的所有 VM。 可以通过将 NSG 直接关联到 NIC 来限制流向单个 NIC 的流量。
NSG 包含两组规则:入站规则和出站规则。 在每组中,规则的优先级必须保持唯一。
每个规则都具有以下属性:
协议
源端口和目标端口范围
地址前缀
流量方向
优先度
访问类型
所有 NSG 都包含一组默认规则。 你不能删除或覆盖这些默认规则,因为它们的优先级最低,并且你创建的任何规则都不能取代它们。
将 NSG 关联到 NIC 时,NSG 中的网络access规则仅应用于该 NIC。 若在包含多个 NIC 的 VM 中将 NSG 应用到单个 NIC,则流向其他 NIC 的流量不会受到影响。 可将不同的 NSG 关联到 NIC(或 VM,具体取决于部署模型)以及 NIC 或 VM 绑定到的子网。 优先级是根据流量方向指定的。
在规划虚拟机和虚拟网络时,请务必计划您的NSG。
下表列出了可用于创建网络安全组的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 在Azure portal中创建 VM 时,会自动创建 NSG 并将其关联到门户创建的 NIC。 NSG 的名称由 VM 名称和 -nsg 组合而成。
此 NSG 包含一个入站规则, 该规则的优先级为 1000。 服务设置为 RDP。 协议设置为 TCP。 端口设置为 3389。 操作设置为“允许”。 若要允许任何其他入站流量流入 VM,请另外创建一个或一些规则。 |
| Azure PowerShell | 使用 New-AzNetworkSecurityRuleConfig 并提供所需的规则信息。 使用 New-AzNetworkSecurityGroup 创建 NSG。 使用 Set-AzVirtualNetworkSubnetConfig 为子网配置 NSG。 使用 Set-AzVirtualNetwork 将 NSG 添加到virtual network。 |
| Azure CLI | 使用 az network nsg create 初始创建 NSG。 使用 az network nsg rule create 将规则添加到 NSG。 使用 az network vnet subnet update 命令将 NSG 添加到子网。 |
| 模板 | 使用 创建网络安全组作为使用模板部署网络安全组的指南。 |
负载均衡器
Azure Load Balancer为应用程序提供高可用性和网络性能。 可以将负载均衡器配置为均衡传入的互联网流量至虚拟机,或者实现虚拟网络中虚拟机之间的流量均衡。 load balancer还可以平衡本地计算机与跨界网络中 VM 之间的流量,或将外部流量转发到特定 VM。
load balancer在以下两者之间映射传入和传出流量:
负载均衡器上的公共 IP 地址和端口。
VM 的专用 IP 地址和端口。
创建load balancer时,还必须考虑以下配置元素:
前端 IP 配置 – load balancer可以包含一个或多个前端 IP 地址。 这些 IP 地址充当流量的入口。
后端地址池 – 与负载分配到的 NIC 关联的 IP 地址。
端口转发 - 使用入站 NAT 规则定义入站流量如何流经前端 IP 并分配到后端 IP。
Load balancer 规则 - 将特定的前端 IP 地址及端口映射到对应后端 IP 地址及端口集。 单个负载均衡器可以有多个负载均衡规则。 每个规则都包含前端 IP 和端口,以及与 VM 关联的后端 IP 和端口。
探测 - 监视 VM 的运行状况。 当探测无法响应时,load balancer停止向不正常的 VM 发送新连接。 现有连接不受影响,新连接将发送至运行状况良好的 VM。
Outbound 规则 - 出站规则配置出站网络地址转换(NAT),将由您的标准负载均衡器的后端池标识的所有虚拟机或实例转换为前端。
下表列出了可以用于创建面向 Internet 的负载均衡器的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 可以使用 Azure portal 将 Internet 流量负载均衡到虚拟机。 |
| Azure PowerShell | 若要提供事先创建的公共 IP 地址的标识符,请使用 New-AzLoadBalancerFrontendIpConfig 并指定 -PublicIpAddress 参数。 使用 New-AzLoadBalancerBackendAddressPoolConfig 创建后端地址池的配置。 使用 New-AzLoadBalancerInboundNatRuleConfig 创建与你创建的前端 IP 配置关联的入站 NAT 规则。 使用 New-AzLoadBalancerProbeConfig 创建所需的探测。 使用 New-AzLoadBalancerRuleConfig 创建负载均衡器配置。 使用 New-AzLoadBalancer 创建负载均衡器。 |
| Azure CLI | 使用 az network lb create 创建初始负载均衡配置。 使用 az network lb frontend-ip create添加之前创建的公共 IP 地址。 使用 az network lb address-pool create 添加后端地址池的配置。 使用 az network lb inbound-nat-rule create 添加 NAT 规则。 使用 az network lb rule create 添加负载均衡器规则。 使用 az network lb probe create 命令添加探测器。 |
| 模板 | 使用负载均衡器中的3台虚拟机作为使用模板部署负载均衡器的指南。 |
下表列出了可用于创建内部负载均衡器的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 可以在 Azure 门户中通过负载均衡器平衡内部流量负载。 |
| Azure PowerShell | 要在网络子网中提供专用 IP 地址,请使用 New-AzLoadBalancerFrontendIpConfig 和 -PrivateIpAddress 参数。 使用 New-AzLoadBalancerBackendAddressPoolConfig 创建后端地址池的配置。 使用 New-AzLoadBalancerInboundNatRuleConfig 创建与你创建的前端 IP 配置关联的入站 NAT 规则。 使用 New-AzLoadBalancerProbeConfig 创建所需的探测。 使用 New-AzLoadBalancerRuleConfig 创建负载均衡器配置。 使用 New-AzLoadBalancer 创建负载均衡器。 |
| Azure CLI | 使用 az network lb create 命令来创建初始负载均衡器配置。 若要定义专用 IP 地址,请使用 az network lb frontend-ip create和 --private-ip-address 参数。 使用 az network lb address-pool create 添加后端地址池的配置。 使用 az network lb inbound-nat-rule create 添加 NAT 规则。 使用 az network lb rule create 添加负载均衡器规则。 使用 az network lb probe create 添加探针。 |
| 模板 | 使用负载均衡器中的2个虚拟机作为使用模板部署负载均衡器的指南。 |
虚拟机
虚拟机可以在同一个虚拟网络中创建,并且可以使用私有 IP 地址相互连接。 虚拟机可以连接,如果它们位于不同的子网中。 而且无需配置网关或使用公共 IP 地址。 若要将虚拟机 (VM) 放入虚拟网络,请创建虚拟网络。 创建每个 VM 时,需要将其分配到虚拟网络和子网。 虚拟机在部署或启动期间获取其网络设置。
虚拟机在部署时会分配一个 IP 地址。 将多个 VM 部署到virtual network或子网时,在启动时会为其分配 IP 地址。 你还可以为 VM 分配静态 IP。 如果分配静态 IP,应考虑使用特定子网,以避免意外重复使用另一个 VM 的静态 IP。
如果创建 VM,稍后想要将其迁移到virtual network,则这不是简单的配置更改。 将 VM 重新部署到virtual network。 重新部署的最简单方法是删除 VM,但不删除附加到 VM 的任何磁盘,然后使用virtual network中的原始磁盘重新创建 VM。
下表列出了可用于在virtual network中创建 VM 的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 使用前面所述的默认网络设置创建包含单个 NIC 的 VM。 若要创建包含多个 NIC 的 VM,必须使用其他方法。 |
| Azure PowerShell | 使用 Add-AzVMNetworkInterface 将事先创建的 NIC 添加到 VM 配置中。 |
| Azure CLI | 创建 VM 并将其连接到按单独步骤生成的虚拟网络、子网和 NIC。 |
| 模板 | 使用 Windows VM 的简单部署作为使用模板部署 VM 的指南。 |
NAT 网关
Azure NAT 网关简化了虚拟网络的仅出站互联网连接。 在子网中配置后,所有出站连接将使用指定的静态公共 IP 地址。 无需直接将负载均衡器或公共 IP 地址附加到虚拟机,便可实现出站连接。 NAT 是完全托管式的,且具有很高的复原能力。
可为使用 NAT 的每个子网定义出站连接。 同一virtual network中的多个子网可以具有不同的 NAT。 可以通过指定要使用的 NAT 网关资源来配置子网。 任何虚拟机实例中的所有 UDP 和 TCP 出站流都会使用 NAT 网关。 NAT 与标准公共 IP 地址资源或公共 IP 前缀资源或两者的组合兼容。 可以直接使用公共 IP 前缀,或者在多个 NAT 网关资源之间分配前缀的公共 IP 地址。 NAT 会将所有流量梳理到前缀的 IP 地址范围。 部署中的任何 IP 筛选过程都很简单。
NAT 网关自动处理所有出站流量,无需任何客户配置。 不需要指定用户定义的路由。 NAT 优先于其他出站方案,可替代子网的默认 Internet 目标。
有关 Azure NAT 网关的详细信息,请参阅 什么是 Azure NAT 网关?
下表列出了可用于创建 NAT 网关资源的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 创建virtual network、子网、公共 IP、NAT 网关和虚拟机以测试 NAT 网关资源。 |
| Azure PowerShell | 包括使用 New-AzNatGateway 来创建 NAT 网关资源。 创建virtual network、子网、公共 IP、NAT 网关和虚拟机以测试 NAT 网关资源。 |
| Azure CLI | 包括使用 az network nat gateway create 创建 NAT 网关资源。 创建virtual network、子网、公共 IP、NAT 网关和虚拟机以测试 NAT 网关资源。 |
| 模板 | 创建虚拟网络、子网、公共 IP 地址和 NAT 网关资源。 |
Azure Bastion
部署 Azure Bastion 以提供与虚拟网络中的虚拟机的安全管理连接。 Azure Bastion服务使你能够安全且无缝地通过 RDP 和 SSH 连接到你的虚拟网络中的 VM。 Azure bastion启用连接,而无需在 VM 上公开公共 IP。 连接直接从Azure portal进行,无需额外的客户端/代理或软件片段。 Azure Bastion支持标准公共 IP 地址。
无论出站数据使用情况如何,按小时定价都从部署 Bastion 的时间开始算起。 有关详细信息,请参阅 Pricing 和 SKUs。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。
有关Azure Bastion的详细信息,请参阅 什么是 Azure Bastion?
下表列出了可用于创建Azure Bastion部署的方法。
| 方法 | 说明 |
|---|---|
| Azure portal | 创建虚拟网络、子网、公共 IP、堡垒主机和虚拟机。 |
| Azure PowerShell | 创建虚拟网络、子网、公网 IP 和堡垒主机。 包括使用 New-AzBastion 来创建堡垒主机。 |
| Azure CLI | 创建虚拟网络、子网、公共 IP 以及堡垒主机。 包括使用 az network bastion create 创建堡垒主机。 |
| 模板 | 有关将Azure Bastion主机与示例部署集成的模板部署示例,请参阅 Quickstart:使用 ARM 模板创建公共load balancer以对 VM 进行负载均衡。 |
后续步骤
有关如何管理 VM Azure 虚拟网络的特定于 VM 的步骤,请参阅 Windows 或 Linux 教程。
还有关于如何对 VM 进行负载均衡以及如何使用 CLI 或 PowerShell 创建高度可用应用程序的快速入门
了解如何配置 VNet 到 VNet 的连接。
了解如何排查路由问题。
了解有关虚拟机网络带宽的详细信息。