[转载]AWS使用小记之EC2(Elastic Compute Cloud)

@Deprecated 博客搬家致使图片丢失了,经验教训告诉咱们仍是须要有专门的图片服务器才行。这篇文章也已经基本过期了。前段时间忙于创业和技术探索,最近终于慢慢开始有了本身的时间,能够写一写东西。目前主要用的技术是 DirectShow 相关的东西,还买了一套通信框架 UDX ,关于 H264 编解码之类的问题是我头疼已久的问题(最近用硬件解决了,硬件是王道啊)。天天都会抽时间上来写写东西。node

 

在十月中旬的时候,忽然萌生了想法,建一个本身的网站,因而开始寻觅DNS,爷爷给推荐了 name.com ,很给力。对比了网上所谓的十大美国主机以后,我发现不如买个Linode来的实在,正当我纠结于一个月十几刀的价格的时候,爷爷又一次出现了。此次给我推荐了Amazon Web Services的EC2,又一次给力的推荐。sql

 

EC2,全名 Elastic Compute Cloud ,正如这个名字所说的同样,是为开发者们提供的一个弹性(便可控制可调整)计算的Web服务。个人主要需求是一台VPS,因此我只须要在EC2上运行一个实例就好了。幸运的是AWS在从2010年11月份开始推出一项推广措施,即 AWS Free Usage Tier ,主要包括如下内容(我友情翻译一下):数据库

 

AWS免费层(每个月):服务器

  • Amazon EC2(亚马逊弹性计算云,云计算服务的核心即基础,提供很是弹性的实例管理)Linux微型实例750小时的使用权(613M内存且支持32位和64位平台)——(750h>31*24h,也就是说你能够整月都开着这个实例)*
  • Amazon Elastic Load Balancer(or Elastic Load Balancing,亚马逊弹性负载均衡,在EC2基础上实现的负载均衡服务)750小时使用加15GB的数据处理空间(这个没用过,因此很差评价)*
  • Amazon Elastic Block Storage(亚马逊弹性块存储,能够理解成EC2的硬盘)10GB空间,外加100万次IO、1GB快照空间、1万快照GET请求和1000次快照PUT请求*
  • Amazon S3 Storage(or Amazon Simple Storage Service,亚马逊简单存储服务,相似于网络硬盘,我用Gladinet把它变成了个人Dropbox之一,固然它的利用价值远不止这些)5GB空间,外加2万次GET请求和2000次PUT请求*
  • 贯穿于全部服务(除Amazon CloudFront服务外)的共30GB(包括15GB的流入流量和15GB的流出流量各半)的网络流量*
  • Amazon SimpleDB(亚马逊简单数据库服务,非关系型数据存储,提供了不少给力的特性如运行时修改数据模型且自动索引等,有点相似于nosql,但更像一个削除了繁杂的关系查询的精简版关系数据库,我的观点^^,有时间多研究研究)25机器小时(即一台机器运行一小时)以及1GB的空间**
  • Amazon Simple Queue Service(亚马逊简单消息队列服务)10万个请求**
  • Amazon Simple Notification Service(亚马逊简单通知服务,这个服务很是给力,想一想之后只须要简单配置就能够实现各类“推”的场面,目前这个服务还处于beta阶段,有时间必定要试用下)10万个请求、10万个HTTP通知以及1000个邮件通知**
  • Amazon Cloudwatch (亚马逊云服务监控,这个应该是EC2上比较高级的一个功能,有针对性的监控并有警报响应)10次警报**

几点补充说明:网络

  1. AWS Management Console是这些Web服务的统一管理界面,免费的,哈哈。
  2. 后面带*的项适用于该层发布后新注册的用户且有效期为2010.11到2011.11共12个月。
  3. 后面带**的项至关于已有收费机制的调整,没有有效期限制和用户限制。
  4. 全部的指标均是覆盖四大服务区域(US – N. Virginia, US – N. California, EU – Ireland, and APAC – Singapore)的,即这四个区域的使用的全部指标一块儿计算后去除无偿使用层后再按标准收费。以第一条为例,免费一个实例,就是说你只能在四个区域中选择一个新建一个实例使用,而不是每一个区域各一个。

下面详细介绍一下个人EC2的使用过程:负载均衡

 

Step 1. Sign Up and Sign In,即注册一个Amazon Account并登录

 

这里不是很复杂,直接到EC2的界面上注册(Sign Up)就是了,值得注意的是你须要有一张支持visa或者是mastercard的信用卡,来做为支付手段。注册结束以后信用卡里面会被扣掉$2(EC2 和EBS各一刀,确认你这我的存在用的,好像事后又还回来了),注册完了以后就登陆到AWS Management Console上的EC2管理界面上了。框架

 

Step 2. New an instance,即新建一个实例。

 

先来看看咱们如今的AWS Management Console的EC2界面。熟悉一下这个界面。大概了解一下每一个块显示的是什么内容。下图是Dashboard的一个截图。运维

新建分为几个小的步骤:nosql

  1. 选择好区域,我选择的是亚太地区,即新加坡机房。而后点击Launch Instance,弹出一个窗口,开始新建实例。
  2. 第一步、选择AMI,即亚马逊机器镜像,通俗点说就是选个已经配置好的GHOST,主要有三类:AMI(Quick Start,官方提供的AMI)、My AMIs(我本身的镜像)、Community AMIs(社区里的镜像,也就是别人公开出来的镜像),按需选择,我我的选择的是社区里的某人公开出来的Cent OS 5.5 x86。
  3. 第二步、选择你须要运行实例的个数,我的用户一个就够了。而后是实例类型,免费层范围内的是Micro(微型),值得注意的是不一样的AMI对应的机器的类型是不同的,某些是没有微型的,系统老是有个适用范围的。见图。
  4. 第三步、选择CPU和内存,就是选出一个你可用的序列号,没什么特别的意思。在这里能够启用Cloudwatch(若是你有钱的话)。不上图了,下一步。
  5. 第四步、加标签,简单说就是给你的这个实例贴上一些方便识别的标签,就像运维在机房里作的那样,也不上图了。
  6. 第五步、很是重要,选择密钥对。这个密钥的主要功能是SSH登陆主机时候使用。取名以后建立,下载妥善保存该PEM文件。该文件其中包含了公私钥信息。可根据不一样的客户端使用。
  7. 第六步、配置防火墙。即配置iptables规则。默认已经有一个配置了。这里的注意点一些常用的端口要打开,好比你要远程SSH用的22端口,HTTP用的80端口之类的。当你发现你配置的应用没法访问的时候不妨查看一下这里的配置,粗心的我就常常犯这样的错误。比较简单,不上图了。
  8. 第七步、确认以前全部的配置信息,肯定没有错误以后,ready to go,点Launch。
  9. done。你能够在Instance面板上看到你本身的实例了已经。

使用过程当中的TIPs:

 

SSH登陆

在实例管理的页面上右击你的实例,点选Connect就会有Linux下SSH链接该实例的方法了。我的用的电脑系统是WIN7,懒得每天到虚拟机里去SSH,搞了个SecureCRT,而后在SSH的链接选项里面配置了这个PEM文件就能够练上去了,通常默认的用户名是root,固然有些实例若是root不容许登录的话会提示你应该用什么用户登陆。putty也有相似的功能,可是须要用 putty自带的工具从pem文件中导出私钥,我懒得搞。上张SecureCRT中会话选项的配置图。ide

登陆上去以后想干吗干吗。

 

Elastic IP的配置

 

链接SSH的提示中用的是一个amazom的三级域名,即该实例的Public Dns,这个地址一般不会变,特殊状况(实例中止后从新启用)下会发生变更,针对这种状况,能够去到Elastic IP面板中,新建一个Elastic IP,而且分配给你须要使用的实例。这样你就能够把本身的域名解析到这个IP上,坚挺而稳定。Allocate New Address——分配IP地址。Associte——把分配的IP地址与实例关联。

 

建立AMI和Snapshot

 

其实这两个东西不是同样东西,可是功能和操做方法都很相似,且有所关联,因此放到一块儿说一说。

先说AMI,当你的应用配置完毕以后,你能够方便别人或者方便本身,把当前的实例作出一个镜像,留待之后使用或者在社区中共享(把 Permission设置为Public就能够了)。在实例上右击->Create Image(EBS AMI)->按需填写。AMI建立成功以后能够直接用这个镜像起更多的实例(仍是那句话,若是你有钱)。

Snapshot,就是EBS的快照,其实每个AMI的建立都要求给出一个EBS的快照。咱们也能够本身建立EBS的快照。在Snapshot的界面选择Create Snapshot->选择你要建立快照的Volume->确认就能够了。

值得注意是在建立AMI或者Snapshot的时候机器都是会停掉的,会对使用形成必定的影响。固然,若是你拥有一个本身的集群,这些也就不是问题了。

以上就是我使用的时候遇到的一些比较实用的内容。下面介绍一下EC2的具体资费,这个应该是你们最关心的东西。

 

EC2资费指南 (EC2官方收费标准)

 

按需运行实例(On-Demand Instances)

 

这种实例的收费方式最简单,就拿个人实例(Linux Micro in Singapore,新加坡的Linux微型实例)来说,若是过了明年十一月份,免费层过时。按需运行:

运行一年的价格应该是:365d/y*24h/d*$0.025 per hour=$219=¥1457.445(今日汇率6.655

运行三年的价格应该是:$219*3=$657=¥4372.335

这种实例的优点是用多少算多少,按需来用,灵活性好,相对来讲较贵。

 

保留定制实例(Reserved Instances

 

不知道这样翻译会不会有问题,呵呵。这种收费模式就是说你的需求相对固定的时候,能够先花一笔钱,买下这个实例的使用权,而后要用的时候费率就相对打了一个比较大的折扣,由于需求的相对固定节约了运维的成本,天然整体的价格也就便宜下来了,仍是以个人实例为例。在保留定制实例状况下的收费:

运行一年的价格应该是:365d/y*24h/d*$0.01 per hour+$54=$141.6=¥942.348

运行三年的价格应该是:3*365d/y*24h/d*$0.01 per hour+$82=$344.8=¥2294.644

这种实例须要在一开始就定好你须要的实例类型,一旦肯定使用时就不能更改。比较适合我这种小用户使用。

 

现货竞价实例(Spot Instances

 

这个翻译可能更加惊悚,不过若是了解这个实例的话就会知道其实这个翻译仍是比较恰当的。这个实例有点像竞价的模式,价高者得,你能够设置一个你对你的实例的要求和你能接受的每小时最大费率,而后把这个请求投入“拍卖场”,市场的价格是在供需平衡的原则基础上波动的,一旦你是同等条件下的最最高出价人,那个阶段你的实例就会被运行。我的感受这个有点像去青楼找红牌,你掏出你这个月仅剩的一点点工资,去竞价,说不定何时其余人对XXOO的要求减小的时候,市场供求关系发生变更,供多求少的时候,价格跌下来,你一晚上春风的机会就来了。。囧一个。这个显然不适合我这样对持久性和稳定性要求比较严格的人(不要想歪了,我说的是网站的运营),它的适用范围是:

  • Image and video processing, conversion and rendering (图像和视频的处理、转换及渲染)
  • Scientific research data processing(科学研究数据的处理)
  • Financial modeling and analysis(金融建模及分析)

官方还给出了一个例子,我顺手也翻译成中文,有助于理解这种示例的使用模式:

假设你决定发起一个Spot请求——部署一个标准的小型(m1.small)实例在美国东北弗吉尼亚地区。你能够在AWS的管理控制台或使用亚马逊的EC2 API看到最近1-2小时的现货价格在0.030美圆/小时到0.060美圆/小时间波动,目前为0.050美圆/小时。你决定要把0.045美圆/小时设置为你能接受的最高价格。你经过使用亚马逊的EC2 API或经过AWS的管理控制台发起了该Spot请求。由于您的设置的最高价格比目前现货价格低,因此没有实例被启动且您的请求仍然处于挂起状态。

两个小时后,现货价格降低到0.045美圆/小时。在这个时间点上,您的请求可能会、也有可能不会被接受。这是由于您的最高价格刚好等于目前现货价格,而这个价格可能请求的人比较多,你没排上号。假设你的实例没有启动。三十分钟后,现货价格降低到0.039美圆/小时。由于这低于您的最高价,现货竞价实例将即时启动,你的实例运行的第一个小时的价格就是0.039美圆。

继续咱们的例子,三个小时后,现货价格上涨至0.043美圆/小时。如今,若是你继续运行实例,须要支付的价格0.043美圆/小时。你的实例不会被关闭,由于亚马逊的EC2现货价格仍低于您的最高价格。

一个小时后,现货价格上涨至0.045美圆/小时。在这一时间点上,您的实例可能会、也可能不会被终止(跟上面的状况差很少,由供求状况决定),在这种状况下,实例继续运行了,你将被收取0.045美圆/小时。

最后,四个小时后,现货价格上涨至0.055美圆/小时。由于这比您的最高价高,亚马逊EC2将终止你的实例。系统运行多出的不满整小时的部分不会收费,由于它是被亚马逊EC2终止的。

PS:我是在Google翻译的基础上改得通顺了些,因此请原谅这里面出现那么多“您”。

还有不少关于EC2的细节的东西我愿意与大家分享,将会在随后以编辑本文的形式发布。

 

转自: http://blog.2don.com/?p=20

相关文章
相关标签/搜索