Amazon AWS 漫游指南(一、二、三)
Amazon AWS 漫游指南二
上一篇文章介绍了如何开通Amazon AWS服务启动EC2 instance,有朋友遇到关于资费以及Windows客户端连接上的问题,这篇算是一个回答。
账户使用报告
打开Account Activity页面: 免费服务在报告中显示为 “under monthly free tier“,没有的话表明您无法享受free tier服务,需要付费。我的Micro instance已经免费稳定运行128小时。
图片中各项的意思是:
- 当前ec2 micro instance运行的时间总计;
- 费用,free tier的话,没有任何费用;
- EC2 EBS硬盘使用情况;
- EBS IO数目,free tier限额为100万次/月,足够了;
- EBS snapshot请求数,free tier限额为1万次读/月,图例中用掉2560次,应该是instance第一次启动造成的,常规运行无需任何snapshot请求,如果您经常重建instance,则此项可能会超出使用限额;
如果您被收费,可能是因为:
- 您不是AWS新用户;
- 您用一张信用卡绑定了多个AWS账户;
- 您用了Windows的instance,EC2 free tier只对 linux AMI免费,有部分linux AMI也会收费;
- 您超出了free tier的限制:10GB EBS硬盘,30GB流量(15GB in,15GB out)等;
- 您分配了固定IP,但未绑定到运行中的instance上,被惩罚收费;
- 其它…
如果您已经被收费又不清楚具体原因,可以停用AWS服务。
停用AWS服务
上图中点击View/Edit Service => cancel this service => cancel this service 即可停用服务。对于启用的每项服务需要分别重复此步骤。
Windows客户端
上一篇文章提到Windows下可以用putty连接EC2服务器,putty下需要转换key文件。本文中我们使用另外一个客户端Bitviese Tunnelier,Tunnelier支持EC2上下载的perm key密钥。
安装
点击 http://dl.bitvise.com.s3-external-3.amazonaws.com/Tunnelier-Inst.exe 下载文件并安装。
设定
打开Tunnelier,Login登陆信息标签页如图: 需要设定项:
- 您的EC2 instance Public DNS,见前文如何获取Public DNS,图例;
- Amazon Linux AMI默认登陆用户为 ec2-user;
- SSH 默认登陆端口为22;
- Initial meth登陆认证方式,在导入key pem密钥文件后选择publickey – slot 1;
- User keypair manager用户密钥管理器
点击User keypair manager进入密钥管理: 点击Import选择您之前下载到本地的pem key密钥文件,新窗口中Import,导入密钥成功后返回Login窗口选择Initial meth为 publickey – slot 1。
转到Services标签页: Enabled启用socks Proxy代理转发,设定默认监听本地端口8888。
点击Login按钮即可登陆EC2服务器,并启动本地代理。
Note: 如果不需要登陆后打开终端,可以去Options标签页中取消On Login中的Open Terminal,你或许也不需要Open SFTP。
IE设置
不废话了,见图: 现在访问神马土鳖视频,忒塔试试吧。
下一篇将介绍如何安装VPN。
Amazon AWS 漫游指南三: VPN
Update 2010-11-08:重新测试了一遍,只需开放 tcp 1723端口即可正常连接PPTP VPN。
本篇介绍在Amazon ec2上一键安装配置PPTP VPN服务,开始之前您应该已经有一个AWS账户并运行Instance。如果您还没有开通,可以参照前面的文章(一,二)。
为什么PPTP
VPN常见的有:IPSec, PPTP, L2TP, OpenVPN。OpenVPN运行在用户空间,这需要用户端安装客户端软件,对手机用户来说并不友好。IPSec, L2TP over IPSec则过于繁琐。PPTP的话,从协议上来讲,不够安全,但由于其易用并且安全风险在可以接受的范围,这里选择了 PPTP。
警告:如果您对安全要求非常高,请使用IPSec或者OpenVPN代替。
安装配置PPTP
我在DiaHosting提供的PPTPD一键安装脚本基础上定制了 Amazon AWS EC2的pptpd安装配置脚本。
系统要求
需要您的系统为 Amazon Linux AMI。
安装
登陆您的EC2 instance,如果您用使用Tunnier并且按照前文登陆时默认关闭”Open Terminal”的话,需要在Login后,点击左侧Open New Terminal Console进入EC2 instance终端。
进入EC2系统终端后,输入下面的代码:
wget https://gist.github.com/raw/666241/e8f3030a9e7066b8deb0a3d9ec761360e2d94227/pptpd.sh sudo sh pptpd.sh
安装配置完成后会高亮提示vpn用户名和密码。
VPN用户管理
增加用户,直接编辑 /etc/ppp/chap-secrets 文件,按照相同格式添加用户名和密码即可。
防火墙
如果您使用的不是默认的Security Group,比如按照前文设置的”Security Group”,那么还需要调整防火墙规则。
PPTP默认跑1723端口,我设置了没有成功,所以这里我打开了所有的端口只需第一行规则即可,见图:
客户端连接
客户端使用PPTP协议连接您的EC2服务器,服务器地址为您的Public DNS(参见前文),使用安装完成提示您的用户名密码即可连接。
需要注意,Public DNS在EC2 instance重启后会变更,您可以通过动态域名服务或者设置固定IP来解决。其实还有更简单的办法,对于普通用户,不妨不重启EC2 instance,linux系统稳定跑上一年没问题,一年后都收费了。如果你讨厌冗长的Public DNS,不妨ping一下得到您的IP,其实就是Public DNS中间的一串数字。
如果您希望长时间运行不受动态IP地址问题的影响,那么不妨设置一个固定IP。
有图有真相
感谢 @CharSeer 帮忙测试脚本,并报告Mac成功连接。
Amazon AWS 漫游指南
本文适用对象
- 您希望建立自己的英特网漫游隧道
- 您有一张可以刷外币的信用卡,比如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 AWS Console,登陆后转到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 AMI 1.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,至此您的micro intance已经启动,意味这您有一台可以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选项,如端口,动态,自动等。具体还请大家自 行测试。或者看这里: SSH Tunneling Proxy using Putty on Windows and Linux
进一步学习Linux
- 一本linux书籍
- 看看 fedora文档:http://fedoraproject.org/
- 去国内的社区寻求帮助,如linuxsir
这个要信用卡呀
搞不好还扣费
听说速度比较慢!