[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

Windows Azure Platform 系列文章目录

  

  首先我们回顾前几章介绍的内容:

  1.首先我们新建了预装了SQL Server 2012的Virtual Machine

  2.创建完毕后,我们在这个VM里mount disk,分别是F盘(50GB) 和G盘(80GB)

  3.然后我们配置SQL Server 2012,将Data,Log, Backups分别指向我们创建的F盘和G盘。将TCP/IP协议设置成Enabled,并且配置防火墙规则,允许访问1433端口。

 

  本章我将给大家介绍,如何设置VM的Endpoint。这样,我们通过本地的SQL Server Management Studio,就直接可以连接到云端创建的SQL Server 服务了。

  首先我们先讲一下关于Windows Azure的EndPoints的概念。Windows Azure EndPoints分两种,分别是Public Port和Private Port。

  • Public Port。表示这个Endpoint是对Internet开放的。所有从外部发起的访问,都是通过Public Port来进行的。
  • Private Port。这个Endpoint不对Inetnet开放,只对Windows Azure 内部开放。如果Windows Azure包含多个实例(multi instance)并行计算,那么实例与实例(instance to instance)的内部访问是通过Private Port来实现的。
  • Endpoint使用TCP或者UDP的协议,TCP协议包括HTTP和HTTPS通信。

  我们来看下面一张图:

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  上图中,Public Port是57500,Private Port是1433。

  • 当外部的资源想访问Windows Azure服务时,是通过端口号为57500来访问的。
  • 然后Windows Azure的Load Balance会将这个请求转发到内部1433端口号,来实现访问。
  • 这样的好处是:Private Port可以实现内部消息的相互通信。Public Port可以开放Internet到Windows Azure的访问。两者互不冲突。而且在多实例的时候,可以将Public Port的消息通过负载均衡路由到每个VM,实现请求的自动负载均衡。具体架构如下图:

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

 

  Azure VM默认情况下,只开启了RDP的端口和PowerShell的端口,其他的端口都是关闭的。

  这就意味着,默认情况下,在客户端想访问Azure VM的其他端口,比如IIS 80是不可能的。

  只有Azure管理员开启了相应的端口号,即Public Port,才可以正常访问Azure VM的IIS。

 

  那开始我们本次的教学内容吧。

 

  1.首先登陆Windows Azure管理界面https://manage.windowsazure.com/

  2.在列表中选择"Virtual Machine",找到之前创建的SQL2012VM1并选中它。

  3.选中后,页面会跳转到SQL2012VM1的DashBoard窗口,我们点击Endpoints

  我们会发现,默认会有一个RemoteDesktop的端口号,也就是我们的远程桌面连接是通过3389端口连接到SQL2012VM1这台VM上的。

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

 

  4.然后我们点击窗口最下面的Add Endpoint,如下图:

 

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  5.在上图中,直接点击Next按钮。

  6.在Add Enpoint窗口里,将Name设置为sqlserver,Protocol选择为TCP,将Public Port设置为57500, Private Port为1433。

  这样对于Internet用户来说,访问公网的是57500端口,而这个端口对应的内网端口是1433。这样就做到了端口映射的功能。

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  7.最后选择保存。

  8.保存完毕后,我们可以看到新建的EndPoint

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  9.我们启动本地的SQL Server Management Studio

  10.将创建的DNS Name和端口号(57500)输入Server Name,然后在输入sa的密码。点击Connect

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  11.这时候,我们连到的SQL Server其实就是之前创建的SQL Server VM。然后我们选择Database,右键, New Database。创建一个新的数据库。比如叫LeiDB。

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  12.创建完成后,我们通过远程桌面连接,连接到名为LeiSQL2012VM的Virtual Machine上,打开SSMS和资源管理器。可以看到已经创建了名为LeiDB的Database,并且这个Database文件保存在F盘里。

[New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints

  13.这样就实现了运行本地的SSMA,连接Public Port 57500,映射到Private Port 1433,连接到Virtual Machine的SQL Server服务。并且VM中的SQL Server将数据保存在Mount Drive中(实际是Azure Storage的VHD),可以实现数据的持久化。

  


本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/11/25/2786291.html,如需转载请自行联系原作者
上一篇:Async、defer以及普通加载script区别详解


下一篇:Lucene中的token和term的区别