创建虚拟网络

来源:互联网 发布:php 随机获取数组元素 编辑:程序博客网 时间:2024/05/29 16:28

IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用。

这三个地址段分别位于A、B、C三类地址内:
     A类地址:10.0.0.0--10.255.255.255

  • B类地址:172.16.0.0--172.31.255.255
  • C类地址:192.168.0.0--192.168.255.255

     选择了VPN后,下一步是设置VPN客户端的IP地址范围。这个可以根据情况指定,注意一个虚拟网络最多有256个VPN客户端

 

设置云端虚拟网络的网络地址。我们可以任意划分多个子网,每个子网可以指定不同的IP地址段。IP地址可以是10、192.168或者172.16打头。这里我们定义了3个子网,分别是DbFarm,WebFarm,VMFarm. 最后还要添加一个网关子网

 

 

虚拟网络详解

  下面,我们来进一步了解下虚拟网络,以及它和Azure网络的关系。

  下面一张图,是我们部署了虚拟机、云服务并配置了VPN后的一个完整拓扑,它包括了4个子网,2个云服务,2个对外的VIP,以及数个虚拟机。

连接成功后,查看本机VPN IP,发现是之前指定的地址段。大功告成

等待一会儿后,Azure页面也会更新,显示有一个客户端连接,并且显示流入流出的数据量



不过此时云端没有任何资源可以连接,没法进一步测试

另外,还需要注意的是,一旦开始连接,Azure就开始按时间计费。同时,从Azure流出的流量也会算网络流量费。所以,不用的时候要及时断开连接

部署云服务到虚拟网络

  部署云服务到虚拟网络要稍微复杂些。我们以GuestBook这个应用为例,这个应用有一个WebRole和一个WorkerRole。我们希望WebRole能够部署到虚拟网络的WebFarm这个子网,而WorkerRole部署到DBFarm这个子网。目前这种指定没有图形化的配置工具,只能手动修改配置文件。

  打开该应用的cscfg文件,在末尾的</ServiceConfiguration>之前添加如下内容:

<NetworkConfiguration>  <VirtualNetworkSite name="MyNet" />  <AddressAssignments>    <InstanceAddress roleName="GuestBook_WebRole">      <Subnets>        <Subnet name="WebFarm" />      </Subnets>    </InstanceAddress>    <InstanceAddress roleName="GuestBook_WorkerRole">      <Subnets>        <Subnet name="DBFarm" />      </Subnets>    </InstanceAddress>  </AddressAssignments></NetworkConfiguration>

  这段配置表示该云服务将部署到MyNet这个虚拟网络,其中两个Role分别部署到一个子网。

  然后进入Azure门户,创建一个云服务。创建时,选择虚拟网络MyNet对应的地缘组,而不要选择区域。

  之后,就可以发布云服务了。可以用Visual Studio发布,或者用命令行等工具都可以。

  发布完成后,从VPN客户端就可以随意连接云服务里所有的虚拟机了,不需要定义端点,也不需要使用VIP。那么问题是,怎么看这些虚拟机的内部IP呢?

  很简单,进入虚拟网络的管理页面,所有的可连接的资源一目了然。

  虚拟网络详解

  下面,我们来进一步了解下虚拟网络,以及它和Azure网络的关系。

  下面一张图,是我们部署了虚拟机、云服务并配置了VPN后的一个完整拓扑,它包括了4个子网,2个云服务,2个对外的VIP,以及数个虚拟机。

  虚拟网络有如下的一些原则:

  • 所有虚拟网络内的虚拟机都可以通过IP互访,无论是哪个子网;
  • 虚拟网络外的资源要访问虚拟网络,必须通过VIP,内部被访问的端口必须被定义为Input端点。可以认为虚拟网络边界上有一个防火墙,而内部没有;
  • Input端点总是和负载均衡器关联,并且提供NAT能力,从而让发往VIP的请求转发给内部IP;
  • IaaS虚拟机是一种特殊的(或者退化的)云服务,有时我们看不到虚拟机对应的云服务,但实际上这个云服务是存在的。有时候我们删掉了虚拟机,会发现多了一个空的云服务,这个实际上就是之前已存在的。Azure使用同样的机制管理云服务和虚拟机。

  有了虚拟网络,我们就可以灵活的规划网络拓扑,实现类似于传统应用部署的分层架构,让安全性要求高的资源隐藏在虚拟网络内,只能在内部访问,而把需要提供Web服务的资源部署在单独的子网里,提供对外端口。

 

 

 

0 0
原创粉丝点击