Azure vNet
Posted 百思不解
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure vNet相关的知识,希望对你有一定的参考价值。
VNet是Azure云中逻辑隔离的虚拟网络。它包含两个含义:
Azure的用户可以在VNet中创建自己的各种资源,感觉想自己的数据中心中一样;
在一个VNet中创建的资源和其它VNet创建的资源相互隔离,是Azure云中网络多租户的具体实现形式。
VNet内部提供的网络服务,包括子网的划分、网络安全和路由等功能
前端接入,提供公网IP地址、DNS地址解析、Source/Destination NAT、负载均衡等等各种服务
后端连接,提供IPSec Site-Site/Point-Site VPN,以及专线接入等服务。
Azure的各种网络服务大多是围绕Azure的VNet的,所以VNet是Azure Networking的基础。下面将介绍如何创建Azure VNet。
Azure VNet的部署
通过Portal页面部署Azure VNet
进入AzureChina的管理Portal
在"More Services"中点击虚拟网络:
进入虚拟网络后,可以看到已经创建的VNet信息,包括VNet名称、资源组、Region和订阅信息:
此时点击添加,添加新的VNet,在添加时需要填写如下信息:
VNet名称
VNet的地址空间,就是VNet整体的地址网段
每个VNet可以最大配置4096个IP地址的地址空间,目前通过开Case可以最大支持到8192个,Network的Limitation可以参考以下链接:https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#networking-limits。由于Azure的各种访问的能力在不停的变化,建议有可能到达各种Azure资源限制的时候,到这个链接上查询相关的数值;
地址段的选择建议符合RFC1918中定义的Private Address Space的三段地址,就是我们常说的10、172、192的三段地址;
Azure VNet的地址空间允许用户采用非Private Address Space的地址段,但建议是用户自己拥有的地址段,是自己在ARIN、RIPE、APNIC、LACNIC和AFRINIC等组织申请并付费的地址段,否则会发生部分网络访问不了的情况;
即使用户使用自己申请的IP地址段,Azure并不负责这些地址段的BGP宣告,用户需要采用一些特殊的方式通过自己的BGP网络宣告给各个运营商。
Azure VNet的地址空间可以是不连续的,即可以添加多个地址空间。建议以较小的地址段添加地址空间,这样可以避免地址浪费和地址冲突等各种问题;
★Azure VNet的地址空间的划分是非常重要的一项工作,建议企业的Network部门的同事参加。一旦地址划分出现重复等问题,有可能面临整个VNet内的资源要全部关停,甚至铲除重新部署的情况。所以说在云上业务建设之初,花一些精力把地址空间规划好,是非常重要的工作之一!
子网名称,类似物理网络中的Vlan的取名,可以取一些有提示功能的名称,比如Web、APP、DB或Frontend、Backend等等;
子网范围,要求在地址空间之内,建议根据需求,划分能够满足需求的较小的地址段,在今后的地址划分上比较灵活。比如预计这个网段中的VM或其他资源的数量不会超过100台,建议采用/25掩码的网段;
其他信息,包括资源组、订阅和Region信息
创建完成后,可以看到VNet的相关信息:
其他的几点需要注意的:
在地址空间中,还可以添加其他的地址空间:
在子网中,可以添加新的子网:
在子网中,还有一个网关子网,GatewaySubnet:
其名称是不能更改的,用于VPN Gateway和Express Route Gateway使用。建议采用/27掩码的网段,具体细节在IPSec VPN和Express Route的章节中介绍。
已连接设备
可以在"已连接的设备"中查看已经在VNet中部署的资源:
DNS
在Azure的VNet中有自己的DNS服务。Azure上的DNS服务和一般DNS不同的是,Azure的DNS服务是通过SDN的形式实现的。其DNS服务器的地址在Azure的全球范围内都是168.63.129.16。当Azure的SDN发现有客户端在请求168.63.129.16的DNS服务时,SDN的Network Controller会发送DNS的response给请求者。
当然可以添加自己的DNS服务器,比如在VNet中部署一台DNS服务器,在VNet DNS配置中添加这个IP地址即可,但要重启VNet中的资源,新的DNS服务器的配置才会生效。
以上是关于Azure vNet的主要内容,如果未能解决你的问题,请参考以下文章
Azure SQL 槽 VNet 的 Azure 函数连接字符串