Access Amazon EC2 with SSH/putty/SecureCRT

这两天注册了Amazon AWS,体验了一下EC2S3,总体来说很强大,很便宜,绝对是创业公司的首选云产品。

注册AWS需要一张国际信用卡,在注册完毕的时候,跟Apple iTunes一样会测试性地划款1美元,但是最终会退回到你的信用卡里,不必担心。对于AWS新用户,Amazon很大方地给予了一项免费体验套餐。

S3就是一份云存储,可以认为跟Dropbox或者Box.net是一样的东西,可以直接通过AWS Management Console操作。在第一年的每个月都将免费获得5G存储空间,20,000个下载请求, 2,000个上传请求, 15GB下载流量和15GB上传流量。

对于EC2而言,在第一年的每个月都将获得如下图中的免费资源。包括750小时的EC2运行时间,这基本上就是一个月31天每天24小时的免费运行。15G流量,10G存储。本月没有使用完的不会累计到下个月。
AWS Free Tier

本文主要讲述EC2,在某种意义上你可以认为EC2就是虚拟主机,支持Linux和Windows系统,每个虚拟主机就是一个EC2 Instance,一个EC2帐号支持创建多个Instance,每个虚拟主机都是你个人独享的,你可以选择启动/停止/删除。在AWS Management Console中可以通过copy模板(成为Amazon Machine Image,AMI)来很简单地创建自己的EC2 Instance。

免费的EC2套餐支持的Instance硬件情况如下图。Instance Type是Micro,最多1颗CPU,613M内存,8G存储空间。

Free Tier EC2 Instance

创建完毕以后,在AWS Management Console的EC2页面下就可以选择启动该Instance。接下来就是本文的重点,该如何通过工具来连接该虚拟主机呢?

1. SSH
如果是Mac或者Linux用户,那么可以使用命令行方式的ssh,在EC2 Instance上点右键,选择Connect,会出现以下页面提示你该如何通过ssh连接此实例。

Connect Amazon EC2 using SSH

其中第2步提到的Private key file是在创建Instance的时候会要求你创建并下载的,该key file的名称可以随意。
第3步提到的chmod必须要执行,否则ssh时候会报key file权限错误。
在Example中提到的命令如下:

ssh -i kamuskey.pem root@ec2-50-17-88-48.compute-1.amazonaws.com

但是在实际使用中,发现使用root是无法登陆的,必须要使用ec2-user,也许这是免费用户的限制。

ssh -i kamuskey.pem ec2-user@ec2-50-17-88-48.compute-1.amazonaws.com

2. putty
在Windows下没有原生的ssh命令,所以可以选择免费的putty作为ssh工具。
观看AWS EC2 Console Tutorial视频,其中详细描述了该如何使用puttygen来生成putty格式的密钥,并且在putty中该如何设置使用该密钥。

3. SecureCRT
SecureCRT是Windows下(现在也有Mac版了)极受欢迎的ssh工具,它不是免费的。
我们需要通过ssh-keygen命令将AWS的密钥转换成SecureCRT支持的OpenSSH格式密钥,详细教程参看此处

用ec2-user登录。

login as: ec2-user
Authenticating with public key "imported-openssh-key"

       __|  __|_  )  Amazon Linux AMI
       _|  (     /     Beta
      ___|\___|___|

See /usr/share/doc/system-release-2011.02 for latest release notes. 🙂
[ec2-user@ip-10-117-45-99 ~]$ pwd
/home/ec2-user 

主盘有8G存储空间,tmpfs只有300M,比较小。

[ec2-user@ip-10-117-45-99 ~]$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             8256952    901768   7271300  12% /
tmpfs                   305604        40    305564   1% /dev/shm

600M内存。

[ec2-user@ip-10-117-45-99 ~]$ free
             total       used       free     shared    buffers     cached
Mem:        611212      87612     523600          0       7032      40904
-/+ buffers/cache:      39676     571536
Swap:            0          0          0

虽然不可以用root登录,但是sudo命令可以正常使用。

[ec2-user@ip-10-117-45-99 ~]$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr 12:31:3D:03:22:99
          inet addr:10.117.45.99  Bcast:10.117.45.255  Mask:255.255.255.0
          inet6 addr: fe80::1031:3dff:fe03:2299/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:937 errors:0 dropped:0 overruns:0 frame:0
          TX packets:935 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99655 (97.3 KiB)  TX bytes:139821 (136.5 KiB)
          Interrupt:9

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Cheers.

Oracle and Cloud

Oracle的CEO拉里·埃里森(Larry Ellison)在Oracle Open World上对云计算的攻击言犹在耳。

有趣的是,云计算概念已经被我们扭曲了,现在的云计算概念几乎包括了我们要做的一切。你甚至找不到一家不宣称自己是云计算的。计算机行业是唯一一个比女性时装界还要追逐概念和潮流的行业。也许我是个笨蛋,但是我真的搞不懂他们在说些什么。到底什么是云计算呢?完全是胡扯。这很荒唐,这种愚蠢什么时候能够停下来呢?

好吧,(假如)我们也宣称我们是云计算,我们不跟云计算对着干。但是,我们真的不知道,我们每天做的有什么不同,云计算对我们顶多是个广告概念。这就是我对云计算的看法。

然而如今,我们已经可以使用Cloud中的Oracle Enterprise Edition 11g和Oracle Weblogic Server了,这是Oracle跟Amazon联手的成果。

"Oracle in the Cloud" AWS Webinar

View SlideShare presentation or Upload your own. (tags: amazon aws)

Amazon是云计算概念浪潮中的第一个实干家,EC2和S3分别了提供了前端运算和后端存储的云计算解决方案,而Oracle则是Amazon在云计算方面的第一个Partner,将Oracle Database 11g部署在Amazon EC2中,通过Oracle Secure Backup将数据库备份到Amazon S3中。这样的架构让Oracle和Amazon简直可以称为天作之合,我的意思是至少在宣传中是这样的。

云计算以其弹性、可扩展性和付费即用模式等特性在提供了灵活的高吞吐量同时又给了客户很大的成本节约空间。而使用部署在云计算中的Oracle数据库,又进一步让客户从繁琐的数据库规划和数据库备份管理的工作中解脱出来,让客户将更多的精力放在业务拓展而非IT管理上。

当然,云计算目前还存在着很多问题,最突出的就是数据安全性,将具有隐私性的数据存放在一个第三方提供的空间内,首先是否合乎法规,其次是否真的可以保证安全,这已经不单单是技术层面的问题,还牵涉到了政策法规以及消费者的心理因素。

其实,Oracle早在1995年就致力于推广NC(Netowrk Computer)的概念,并且宣称在2000年NC将大行其道,可惜这个计划在1998年的时候以失败告终。而当今的所谓云计算概念看上去正是NC的翻版,只是随着诸如网络带宽、网络速率、存储容量等近年来长足发展的技术条件的成熟,过去阻碍NC发展的障碍已经不存在了,所以这个理念又重新浮出水面并且炒得有声有色。

一个合适的概念要出生在一个合适的年代,落后注定失败,而过于超前也几乎同样意味着失败。

Larry在Open World上炮轰云计算,可能是出于他个人标新立异藐视一切的性格,对于N年后一个炒自己冷饭的概念居然甚受欢迎表达了自己的愤慨;另外则也可能是当时并没有发现很好的合作伙伴,也没有在云计算中发现属于Oracle公司自己的商业价值,甚至从类似于Amazon SimpleDB这样的云计算产品中感受到了对自己的压力。

但是,商场如战场,没有永远的盟友也没有永远的敌人,当发现了云计算中的商业价值,迅速地切入并且尝试成为领头羊无疑是明智的选择。这是Larry Ellison的个人风格,也同样是Oracle公司的企业形象,如果有可能就挑起纷争,如果有可能就抛开纷争,而所有可能的目的就是为了利益最大化