用Amazon的EC2翻墙

一、Amazon AWS 帐户注册
Amazon的EC2 服务相当于远程虚拟主机。有一定的免费使用额度。
注册地址:http://aws.amazon.com/
按照提示一步步操作的即可。
注意事项:
注册中需要提供信用卡信息。Amazon会从卡上扣一美元,再即时退回,以验证信用卡。所以你会收到消费提示,但实际账单上并不会有支出。
注册中要提供可联系到你的电话或手机信息,国家代码+86最好一并写上。Amazon会即刻电话通知你验证码。
二、EC2 instance 建立
回到aws首页:http://aws.amazon.com/
用注册好的帐户登录,切换到EC2 Service页:
EC2 instance是有地区之分的。对天朝用户来说,选择Asia Pacific(Tokyo)连接速度应该会快一些,仅是猜测。
点击“Launch Instance”, 来初始化一个该区域的EC2实例。
然后进入到 Request Instances Wizard界面。注意Windows server 不在免费计划里,所以这里选择了大行其道的Ubuntu系统,点选到Community AMIs页面,在Viewing中选择Free Tier eligible就会滤出所有包括在免费计划里的instance,每一行后面的黄颜色五角星即标记此意。
然后到了这个页面,注意,Instance Type一定要选Micro这个,因为只有这个免费。Number of Instance选1个就够了,Availability Zone默认即可。点击下面的Continue。
Detial页面上,使用默认即可。需提一下的是Shutdown Behavior这项,有两个备选, stop和terminate。区别在于Amazon会自动回收已经terminate的instance。如果你的Instance由于运行错误等其他原因shutdown—-相当于关机—-这时,如果这里选的是terminate,那么,Amazon会删除掉该instance,也就是从你的Console就看不到该instance了,虽然不是即刻发生的。如果这里选stop,那么instance只是停止运行而已,会继续保留在你的Console里,你还可以重新启动运行它。
下一页, 设置Key value信息,默认已有一个Name项,可输入Name的value值,作为该Instance的名字。也可以直接跳过,之后还可以再修改。
下一页,是设置Key pair 信息。首次使用,需要创建新的Key Pair。输入Key名,可任意选择,然后点击“Create & Download your key pair”。这时你会下载到一个 Key名.pem 文件。该文件是你以后登录该Instance的认证凭据,而且仅此一份,如果你要从多台电脑登录,请复制到各电脑上。
下一个页面,是选防火墙设置,保持默认选项即可。
最后一页,选择Launch,则该Instance就最终正式运行起来了。
这时,从Dashboard上,选到相应地区,就可以看到已经在运行的Instance。
几点提示:
从Dashboard上选中Instance,可进一步看到该Instance的具体信息。其中Public DNS就是该instance的网络标识,可以通过 SSH yourUserName@yourPublicDNS 的方式连接到该Instance。
Pulbic DNS 太长很难记。一个好办法是使用Elastic IP,它就相当于一个静态IP。
在Dashboard 的 Elastic IP 页面上,可以创建一个Elastic IP, 然后马上“Associate Address”到上面创建的Instance上。注意马上。从此,该Instance就有了一个从公网可以直接连接的IP地址。
Amazon 提供的 Elastic IP 可以免费申请,也可以免费使用仅当该IP没有被空置的时候。也就是说,IP申请到后,如果马上被附加到一个Instance上,那么一切都是免费的。相反,如果申请到的IP一直空放在那儿没用,那么每一个IP, Amazon每小时收你$0.01,直到这个IP被释放掉,或者被附加到Instance上面去。
上面所有用到的Amazon的资源,对于新注册用户一年内都是免费的。另外,如果想继续免费使用,还需遵守每个月的免费额度,具体可参考 http://aws.amazon.com/free . 这些额度,对普通流量的用户来说是足够的。当然你也可以即时查询Account Activity (AWS Management Console -> Account -> Account Activity)来监控你的使用量。
三、SSH 翻墙设置
Amazon EC2上的Instance已经运行起来,就相当于你已经有了一台在墙外的电脑。接下来要做的,就是让你的本地电脑与这个远程的Instance通信,来帮你连通墙外的世界。主要通过两步来实现,SSH配置,浏览器配置。
对于SSH配置,要区分Windows用户和Linux用户。
Wondows用户SSH配置
先下载 putty.exe 和 puttygen.exe两个文件:
将之前建立Instance时下载下来的pem文件用 puttygen.exe 转成ppk文件。具体如下:打开 puttygen.exe,选择load, 导入之前的pem文件 (可能需要把文件过滤选成ALL才能看到)。正常情况下,会提示导入成功。然后点击“Save private key”,输入文件名,即可保存为ppk文件。
打开putty.exe,
在Session页面,Host Name处输入 ubuntu@yourPubli**S-or-yourElasticIP,Port用22, Protocl 选择SSH。
到Connection -> SSH -> Auth 页面, 在“Private key file for authentication”处读取之前的 ppk 文件的路径。
到Connection -> SSH -> Tunnels 页面,Source port处输入3128,选择Dynamic类型,点击Add。
回到Session页面,Saved Sessions处输入一个任意标识名,点击Save,将所有配置保存下来。下次再用时,直接Load这个标识名即可。最后,点击Open,即可看到从远程EC2 Instance返回的登录成功信息。
Linux用户SSH配置
将相应的pem保存到 .ssh 文件夹。在该文件内建立config文件,输入以下配置内容:
Host aws
HostName **.**.**.**
User ubuntu
IdentityFile ~/.ssh/your-key.pem
CompressionLevel 6
DynamicForward localhost:3128
Host 为设定一个名字给该连接,可任意选,此处用aws;
HostName 这里输入附加到该Instance的Elastic IP, 或者 public DNS 的连接,这些都可从Dashboard instance 信息里面看到;
User 因为之前EC2上建立的是ubuntu AMI,其默认的登录用户名为 ubuntu;
IdentityFile 需输入你的 pem 文件的路径;
DynamicForward 默认用localhost:3128,在后面的浏览器设置中要用到。
到此ssh配置完成。从temnial输入:
ssh aws
即可看到从远程EC2 Instance返回的登录成功信息。
通用的浏览器配置
前面是 Windows 用户和 Linux用户各自的SSH配置。接下来是通用的浏览器配置。
这里以Firefox为例。Preference -> Advanced -> Network -> Settings, 选择手动代理设置,SOCKS Host 中输入 localhost, 端口号3128 , SOCKS v5。OK 确认。浏览器配置完毕。这里针对 Firefox 再附加一点内容:
发现用同样的代理配置,其他浏览器正常工作,偏偏就 Firefox 不能登录 Facebook 和 Twitter,而除这两个外,其他墙外网站却都可以正常浏览。
Google了一圈,现总结如下:
在Firefox地址栏输入 about:config
有安全提示,点击继续;
找到“network.proxy.socks_remote_dns”,双击改为True(默认False);
可能需要重启Firefox。
已验证可行。
看看墙外世界
输入一个撞墙网址试试看行还是不行。不管你行不行,反正我是行了。
几点提示:
如果你想用password+userName 而不是pem的方式登录EC2 instance, 那么你需要修改 /etc/ssh/sshd_config 文件,将其中的 PasswordAuthentication 由默认的 no 改为 yes。使用passwd 设置该用户名下的密码。然后重启ssh server。
你可以在系统中添加多位用户,使他们能用password方式登录,从而共享你的EC2 instance。

AWS 免费使用套餐(每月):

Elastic Compute Cloud (EC2)

  • 750 小时的 Amazon EC2 Linux† 微型实例使用时间(配置为 613 MB 的内存、32 位和 64 位平台支持),足够整月持续运行*
  • 750 小时的 Amazon EC2 Microsoft Windows Server‡ 微型实例使用时间(配置为 613 MB 内存和 32 位和 64 位平台支持),足够整月持续运行*
  • 750 小时的 Elastic Load Balancing 加上 15 GB 数据处理*
  • 30 GB 的 Amazon Elastic Block Storage,加上 200 万个 I/O 和 1 GB 的快照存储*

Simple Storage Service (S3)

  • 5 GB 的 Amazon S3 标准存储,20 000 个获取请求以及 2 000 放入请求。*

DynamoDB

可与 Amazon DynamoDB搭配使用的 100 MB 的存储,5 个单位的写入容量和 10 个单位的读取容量。**

Relational Database Service (RDS)

  • 750 小时的 Amazon RDS 单一可用区域微型数据库实例使用时间,此类型数据库上运行 MySQL、Oracle BYOL 或 SQL Server(运行 SQL Server Express Edition),这足够整月持续运行数据库实例*
  • 20 GB 数据库存储
  • 1 000 万 I/O
  • 20 GB 备份存储,用于数据库自动备份和用户发起的数据库快照

Amazon CloudFront

  • 50 GB 的数据传出以及 2 000 000 个针对 Amazon CloudFront的 HTTP 和 HTTPS 请求*

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>