月底,出于成本考虑,决定不再续租Linode,准备尝试用Amazon EC2做反向代理、VPN、挂个网站什么的。

申请主要参考了如下的文章:

http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide

Amazon AWS 漫游指南

from 有微码头1 person liked this本文适用对象您希望建立自己的英特网漫游隧道您有一张可以刷外币的信用卡,比如VISA。手机。您有基本的英文阅读技能开始前需要注意本文作者不对任何因本文造成的费用负责;Amazon包含750小时的free tiers活动从2010年11月1日开始,10月20日后注册的新用户都可以享受此项服务;Free tires包含10GB EBS,30GB带宽(SSH proxy的话,实际上只有15GB),超出部分仍然需要付费;本文作者不熟悉Amazon EC2等服务,部分描述或理解可能有差错。注册Amazon AWS账户注册Amazon账户

启动浏览器,访问 http://aws.amazon.com/ ,点击"Sign Up Now":

转入amazon账户登陆页面,如果您已经是amazon的用户,可以直接登陆,本文假设您还没有amazon账户,注册新用户:

输入email地址选中"I am a new user.点击"Sign in using secure server"

转入新用户注册页面:

姓名email地址重复email地址账户密码重复密码点击"Create account"

转入联系信息页面:

联系地址:街道,公司,必填联系地址:几单元门牌号等,按需填写城市省份邮编国家:china电话号码:直接填写,无需 +86协议验证码注册AWS账户

联系信息提交成功后转入AWS登陆页面,输入email,密码,登陆后,转到AWS联系信息页面,虽然之前注册Amazon账户已经填写过联系信息,注册Amazon AWS账户还是需要充填一遍,按照原先输入的信息表单会自动补全。

联系信息提交成功后,AWS账户注册步骤完成了。Amazon AWS会email通知告诉你接下来如何如何。

填写信用卡信息

Amazon EC2一般的付费模式是On Demand按需付费,不用不付费。在使用之前需要关联信用卡信息到您的AWS账户。

点击上面邮件中的account链接,或直接访问:http://aws.amazon.com/account,点击Payment Method ,登陆后转到支付方式页面,输入你的信用卡信息 Continue

继续转到账单地址页面,选择注册AWS时提供的地址 Continue

信用卡验证会刷掉1美金(我的理解是预付费,验证不会真的扣钱,这点我并未去证实),如果没有成功会收到邮件通知更正信用卡信息,Account Activity页面也会提示你更新信用卡信息或者用已有信息重新验证。

开通 AWS EC2 等服务

开通AWS相关服务需要登陆AWS管理后台console。访问 https://aws.amazon.com/console ,点击 Sign in to the AWSConsole,登陆后转到AWS后台。

默认登陆console后转到 Amazon S3 管理页面,点击 Amazon EC2 转到 EC2 管理页面,点击 Sign Up For Amazon EC2

转到电话验证页面

选择China填写手机号码,无需+86点击 "Call Me Now"

点击后,此页面转到第二步,显示 PIN 验证码。同时接收到亚马逊电话验证,输入您浏览器页面中的PIN码,信息验证完成。转到第三步,点击Continue

转到完成启用服务确认页面,这个页面展示不同机房不同服务的收费情况,并非配置页面,直接Complete Sign Up

系统提示正在启用订阅,订阅后会发送邮件到你的邮箱。

至此EC2服务已经开通。可以进入console跑instance啦!

启动实例

打开 https://console.aws.amazon.com/ec2/home 进入 EC2 console:

Amazon S3: S3存储服务,可不用Amazon EC2: 类似传统的VPS服务,可以在这里启动Instance,增加EBS硬盘Region: 四个可选区域,一般来讲国内连西海岸加州机房较快,如果对国内提供web服务,也可以考虑新加坡机房,新加坡机房价钱要贵一些。Instances: 所有实例(VPS)AMIs: 所有AMIs,可以看成是不用安装的操作系统,选择一个启动即得到一个Instance。Volumes:EBS硬盘,EC2默认不带存储,虽然可以通过存储在S3的AMI启动,但当你关闭或重启Instance后,所有数据都会消失。而通过存储在EBS的AMI启动则不会有这个问题。所有数据变更保存到EBS中。您也可以添加额外的EBS挂在到某个Instance。Snapshots: 增量备份的系统快照。Elastic IP: EC2的Instance是变化的,如果你需要固定的IP,可以在这里设置,不过需要注意,如果你分配了固定IP但是没有挂载到任何Instance上,你会被Amazon惩罚性收费。Launch Instance: 点击启动新的Instance实例。

点击 Launch Instance, 打开实例向导窗口:这里我们用的是默认的第一个 AMI, Basic 32-bit Amazon Linux AMI1.0,大致解释一下:

Amazon Linux是Amazon基于fedora为EC2定制的AMI,默认禁止root ssh密码方式登陆,去除不需要的服务等,默认配置更加安全。安全。自带 Amazon 工具包。Amazon每个Region都为Amazon Linux提供了软件仓库,更新软件不造成带宽费用。micro instance更适合跑32-bit linux。EBS boot,默认配合10GB的EBS。使用此instance没有额外费用。选择Windows instance,需按使用支付Windows授权费用。这里没有选择ubuntu的原因是因为我发现Ubuntu的AMI默认是15GB的EBS,而free tier只提供了10GB的EBS硬盘。

点击Select,进入向导第二步:

实例数,默认为1,free tiers包含每月750小时的micro instance,如果不间断运行的话,正好够跑一个instance。可用区域,这里用了默认的,无特别喜好。实例类型,必须选择Micro,除非你不准备使用免费的micro instance。启动实例,对应的另外一个选项是"Request Spot Instances",类似竞价方式在空闲的机器上跑Instance,这个用默认的。

点击Continue转到高级实例选项设定,这里全部默认。

点击Continue转到Tag设定页面,可以不设定直接跳过。

点击Continue进入"Create Key Pair":

指定一个密钥名称,如: fookey点击生成并下载密钥,这个密钥需要妥善保存,有了这个密钥,可以随时打开(登陆)您跑在amazon aws上的机器

点击Continue进入"CONFIGURE FIREWARE":配置防火墙页面,这个设置安全组别为"Web", 并添加了"http", "https",允许此台服务器提供web服务。

点击Continue进入"Review":注意一下,Instance Type为 Micro (t1.micro)

点击"Launch"启动Instance。基于EBS的AMI启动大约需要1分钟。点击View your instances on the Instances page察看Instance状态。

您应该已经看到有一个 t1.micro status为Running,至此您的microintance已经启动,意味这您有一台可以ssh登陆的linux服务器啦。

用它来做什么用来做web服务器,跑php, python, ruby网站用来跑SSH proxy, VPN更多...

SSH proxy在Linux下很简单,一条命令即可:

$mv ~/Downloads/fookey.perm ~/.ssh/$chmod 400 ~/.ssh/fookey.perm$ssh -i ~/.ssh/ec2.pem ec2-user@YOUR_AMAZON_PUBLIC_DNS -f -N -D 10003系统只允许通过key密钥登陆我们安装的AMI,默认登陆用户为 ec2-user用你的Public DNS代替 YOUR_AMAZON_PUBLIC_DNS跑了一个ssh forward监听本地10003端口

Public DNS可以在Instances详细信息中找到,

Windows用户

Windows默认没有ssh客户端,需要下载putty。putty默认不支持Amazon ec2的key,需要做转换,具体过程请参考官方文档

做tunnel的话还需要在putty中设定tunnel选项,如端口,动态,自动等。具体还请大家自行测试。或者看这里:SSHTunneling Proxy using Putty on Windows and Linux

进一步学习Linux一本linux书籍看看 fedora文档:http://fedoraproject.org/去国内的社区寻求帮助,如linuxsir