云计算里AWS和Azure的探究(4)

——Amazon EC2 和 Windows Azure Virtual Machine

接下来我们来看看Azure VM的创建。Azure里面虚拟机的创建跟AWS比就要简单许多了,配置的东西比较少,创建的过程也相对短一些。

创建虚拟机

首先进入Azure的Management Portal

点击下面的新建按钮,选择计算->虚拟机->从库中创建

这里创建的方式和Amazon一样,也是向导。向导的界面更显得现代化一点。第一步是选择操作系统,主要包含Windows Server 2008/2012,OpenLogic CentOS, SUSE Linux和Ubuntu,当然还有BizTalk Server 2013和SQL Server 2012。

我们这里选择Windows Server 2012。下一步是输入虚拟机的机器名,用户名在Windows下默认就是Administrator,输入机器的密码。最后是选择实例的类型,也就是超小,小,中,大和超大。我们和AWS一样选择中等。

接下去是选择机器的类型,是单独的虚拟机,还是连接到一个已经存在的虚拟机。在windows azure里面,有一个Cloud Service的概念,一个cloud service有一个公共的dns名字,你可以为每一台虚拟机创建一个新的cloud service,也可以把多个虚拟机放在同一个cloud service里面,通过负载均衡来访问。DNS名字是这个cloud service公开的名字,可以用于全局的访问,当然也必须是唯一的。存储账户可以创建新的,也可以用现存的,它是用于存放虚拟机的系统盘镜像盘的文件,也就是vhd文件的位置。存储账户的概念我们会在以后比较S3和Azure Storage Account的时候进一步描述。接下来是区域/地缘组/和虚拟网络。这里有几个概念,首先区域就是我们之前讨论过的Azure的数据中心的区域,主要现在有六个,很快在中国大陆会有第七个。地缘组Affinity Group和AWS里面的Available Zone想类似,也是保证机器在某一个相同的机房里。所不同的是AWS预先定义了所有的AZ,而Azure的AG名字是可以自己定义的,能保证在同一个机房但是不保证在什么位置。最后是虚拟网络,虚拟网络是Azure中网络配置的一个概念,能够将不同的虚拟机放在不同的子网定义中,还可以通过VPN来构造混合云。所以这里也可以定义把这台虚拟机放到哪个虚拟网络中。如果选择虚拟网络,还需要选择相应的子网,选择区域和地缘组则不需要。如下图

最后一步是创建一个新的地缘组,或者选择已有的地缘组。这里我们选择None。

最后点击完成,Azure就会自动帮你创建这台机器了。这个时候下方会出现创建的状态,等待10分钟左右,机器就会自动创建完成。

创建完成之后,选中这台机器,下面就会有各种操作的按钮,例如连接,启动,关闭,附加新磁盘,捕获镜像,删除等等。对于连接,启动,添加新磁盘等我们接下去会讨论,而捕获镜像我们会在以后的章节中说明。

机器

首先,第一个按钮就是连接,当点击connect的时候,同样会自动下载一个rdp文件远程连接服务器,所不同的是由于刚才手工设置了密码,所以不需要像amaozn一样通过一个pem文件来解密私钥。这台机器的名字是hotcanazuresample.cloudapp.net。azure并没有通过一个公共ip来设置DNS名字,而是让用户自己选了一个dns名字来访问,这个名字是不会变的,也不需要使用Elastic IP来绑定到这台服务器上。如果需要用自己的域名,可以直接用一个CName记录来链接到这个自定义的全局dns。

我们可以看到相类似的,右边也有一个公共的ip,这个公共的ip也可能会出现变化,所以千万不要把自己域名的a记录绑定到这个ip。

连接上机器以后,我们同样来看看这台机器的硬件配置:

类似的,这台机器是AMD Opteron处理器4171HE,2.1GHz, 3.5G内存。和AWS不同,在存储上,它有一个30G的系统盘,还有一个134G的临时存储的盘,这个临时存储的盘可以用于存放一些临时的数据。千万要注意,这个盘上的数据不是持久化的,所以如果需要对这个盘上的数据进行持久保存,还需要挂一个新的磁盘上去,而不是放在这个D盘上。

有趣的是,这台机器还带一个软盘和一个光驱,不过这个软件和光驱怎么用,我就不是很清楚了,莫非要冲到Azure的机房里面去塞光盘?不知道Azure是不是支持这个服务。

创建新卷

为了让系统有持久化的存储,我们可以点击管理界面里的Attach按钮,挂载一块新的磁盘到Windows上。

首先这个vhd文件会自动被放在和这台机器的系统盘在同一个storage account下面,文件名也会自动生成好,大小可以从1 – 1023GB之间选择。最后的Host Cache定义了这个磁盘的缓存特性,包括没有缓存,只读缓存或者读写缓存。默认是没有,要注意如果那个读写缓存,容易导致磁盘上数据的丢失。这是因为如果数据只写入到磁盘缓存而没有真正写到磁盘中的时候,如果恰巧那台机器所在的物理机出现问题被关机,或者需要升级被关机,这些还没有写入的数据就会丢失。但是如果一直不使用缓存,又会出现性能的问题。

在这一点上AWS就做得更好一些,AWS支持设置IOPS来解决磁盘的性能问题,会把磁盘的读写分配在不同的存储设备上,而Azure在这里还不支持。

当创建完磁盘之后,windows里面相应地也会出现新的磁盘,用户可以直接使用。这里和AWS稍微有点区别的是,在磁盘刚创建好的时候,AWS是offline的,而Azure是直接online的。

由于F盘存放在storage account里面,所以这些数据是持久耐用的。所有需要的数据都可以放在F盘上。

端点(Endpoint)

在创建Azure虚拟机的时候,我不知道大家有没有注意到我们并没有直接在向导中配置防火墙,这是因为这一步并没有被直接包含在Azure VM创建向导中,但是我们仍然需要对这台机器创建端点,让外面的机器可以访问。默认地,Azure为Windows也创建了一个用于远程连接的3389端口。

我们点击Endpoint标签,添加一个新的Endpoint

点击添加Endpoint:

这里主要有2个选项,一个是普通的endpoint,另外一个叫负载均衡endpoint,呆会我们会来讲解,首先选择添加端点。这里要输入名字,选择协议,定义外部端口和内部端口,我们应为是要打开80端口,所以选择tcp,内外都是80。

点击完成,当创建完了之后,我们就有了一个80端口可以访问了。要注意,这里的端点相当于是路由器上的端口映射,有的时候在Windows机器里还需要打开相应的防火墙。

负载均衡端点

和AWS不同的是,Azure是使用一个叫做负载均衡端点的东西来实现负载均衡的。但是首先,我们需要在同一个Cloud Service里面创建一台新的机器。在创建的时候,选择连接到一个已经存在的虚拟机。

我们这里选择连接到刚才的那台机器,等待机器创建完成以后,依然是到Endpoint这个tab上去添加一个新的端点。这次我们选择的是负载均衡端点,选择刚才的http-80。

给这个endpoint再起个名字,是http2,内部端口还是80。这里我们可以看出,对于load balance endpoint,外部只有一个端口,而内部可以配置不同的端口。但是这只是一个非常简单的负载均衡,和AWS提供的配置比起来,这个负载均衡非常简单。

注意这里有个management portal的小bug,这个负载均衡的名字不要和刚才的负载均衡名字相同,否则会创建不出来,也不报错。

我们打开endpoint的属性,可以看到这是一个load balance的endpoint,虚拟机有2台,包括了我刚才创建的两台机器,而在整体的界面上,也有Load-Balanced = Yes的显示。

在Azure上创建虚拟机的配置和AWS大体相同,向导更简单一些,也更易用一些。但是提供的功能局限,尤其是Load balance,在使用和配置上非常简单。如果对于通常的使用基本足够,但是要配置高级的LB,还显得远远不足。当然Azure的虚拟机现在还在preview阶段,希望在正式发布的时候,LB的功能可以获得增强。

[AWS vs Azure] 云计算里AWS和Azure的探究(4)的更多相关文章

  1. [AWS vs Azure] 云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析

    云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析 在虚拟机创建完成之后,CPU和内存的配置等等基本上是一目了然的.如果不考虑显卡性能,一台机器最重要的性能瓶颈就是硬盘. ...

  2. [AWS vs Azure] 云计算里AWS和Azure的探究(3)

    云计算里AWS和Azure的探究(3) ——Amazon EC2 和 Windows Azure Virtual Machine 今天我来比较一下AWS EC2和Azure VM的具体流程上的异同.以 ...

  3. [AWS vs Azure] 云计算里AWS和Azure的探究(2.1)

    云计算里AWS和Azure的探究(2.1) ——Amazon EC2 和 WindowsAzure Virtual Machine 刚发表了就发现Amazon的价格下降了,第一代Linux的EC2价格 ...

  4. [AWS vs Azure] 云计算里AWS和Azure的探究(1)

    转自:http://www.cnblogs.com/hotcan/archive/2013/01/31/2886794.html 云计算里AWS和Azure的探究(1) 全球领先的云的计算平台主要有两 ...

  5. [AWS vs Azure] 云计算里AWS和Azure的探究(2)

    Amazon EC2是Elastic Compute Cloud的简称,翻译成中文就是弹性计算云.它是Amazon云里面最基础的内容,也是发展到今天最成熟的部分,通过EC2, 你可以在Amazon的云 ...

  6. [AWS vs Azure] 云计算里AWS和Azure的探究(6) - Amazon Simple Storage Service 和 Microsoft Azure Blob Storage

    这几天Nasuni公司出了一份报告,分析了各个云厂商的云存储的性能,包括Amazon S3,Azure Blob Storage, Google Drive, HP以及Rackspace.其中性能上A ...

  7. 初识云计算 -《AWS云端企业实战圣经》读书笔记

    原书中涉及实操的地方,在本文中被省略.一是篇幅太长,放入文中太过累赘,二是原书成书过早,现在 AWS 的界面早已变化很大,不具备参考性. 第一章 谁在使用云计算 1.什么是云计算 云计算(cloud ...

  8. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

  9. 云计算之路-试用Azure:上不了高速的跑车,无法跨Cloud Service的DNS服务器

    从阿里云的踩坑大师,到Azure的抹黑大师,我们似乎成了云计算负面用户的典型,可是我们还是忍不住想表达自己真实的使用感受.如果有错误的地方,欢迎大家批评! 在Azure上建好虚拟网(Vitual Ne ...

随机推荐

  1. NPOI 中的公式列的值的获取

    方法1 NPOI 中,对 sheet 对象设置 ForceFormulaRecalculation = true,即可实现自动将 Excel 的公式计算出来. 方法2 循环 Excel 的行.列,取出 ...

  2. Linux特殊的文件控制权限FACL

    对文件设置特殊的权限,FACL(File Access Control List) ACL简介 基本ACL操作 getfacl  查看文件权限      setfacl  设定acl权限 设置file ...

  3. C#正则验证字符串是否全是数字

    Regex r = new Regex(@"^\d+$"); if (r.Match(vlannumber).Success) { sql += " and a.vlan ...

  4. 【PHP5.3+】获取getCurrentUrl()中 的地址url

    1.在控制器中调用其他 扩展或者类 的方法时候,getCurrentUrl()方法 是获取的[当前控制器下方法]的路由,不是[其他 扩展或者类 方法]的路由!!! 2.getCurrentUrl()方 ...

  5. 阿里云ecs配置辅助网卡绑定公网ip地址

    EIP直通车 前置条件:1.大家的实例是从经典迁移到VPC里面的,上古时期,经典实例大家购买实例的时候都是买了带宽的.而这种带宽一般情况下都是包年包月的,而且这种绑定在实例上的IP,我们把它叫做公网I ...

  6. Netty-gRPC介绍和使用

    转自:http://www.saily.top/2017/07/23/netty5/ gRPC Define your service using Protocol Buffers, a powerf ...

  7. 【RS】Local Low-Rank Matrix Approximation - LLORMA :局部低秩矩阵近似

    [论文标题]Local Low-Rank Matrix Approximation (icml_2013 ) [论文作者]Joonseok Lee,Seungyeon Kim,Guy Lebanon  ...

  8. 进阶之路(中级篇) - 016 温湿度传感器DHT11

    如果想使用 Arduino 开发板驱动 DHT11 来获取温湿度的时候建议使用第三方的库,这样可以加快程序的开发速度,而且不容易出错,下面的代码我已经安转了第三方的库了.详细的安装方法请参考极客先锋的 ...

  9. 进阶之路(基础篇) - 001 亮一个led灯

    /********************************* 代码功能:点亮一个led灯 使用函数: pinMode(引脚号,模式); digitalWrite(引脚号,电平状态); //默认 ...

  10. 【struts2】值栈(后篇)

    在值栈(前篇)我们学习了值栈的基本知识,接下来,来看看在程序中具体如何使用值栈. 1 ActionContext的基本使用 1.1 如何获取? 要获取ActionContext有两个基本的方法,如果在 ...