作为一个开发者,一直希望能拥有一台自己的服务器能部署应用,很早就打上了阿里云/腾讯云的主意,但是二者的试用时长都不长,阿里是最多30天,而腾讯更是只有7天.因为没有特别的需求所以一直搁置在一边
之前就听闻亚马逊云有一年的免费试用,但担心是国外的服务器或许不方便就没有尝试,近期在一个无聊的下午,终于决定去试试,摆弄了两条感觉还挺方便,现在把自己踩坑的经验总结一下与各位分享.
在AWS上创建免费EC2实例
亚马逊云(简称AWS)的免费资格还是十分大方的,只要是新申请的用户就能获得一年的免费试用资格.所以第一步就是去AWS上申请一个账号,而你需要准备的就是一个 邮箱 和一张 信用卡 .
AWS云服务是有中文官网的,所以操作还是比较便捷的的,比较遗憾的就是,访问速度比较慢,我们需要足够的耐心.你可以在页面直接点击创建免费账户进入注册页面,或者AWS Console - Signup,按照步骤按部就班就好,注册过程中会让你绑定一个信用卡号,并扣取1美元的预授权,不会有任何的验证码之类的提示.不过据闻亚马逊的口碑还是不错的,不会乱收你的钱,超出预算还能投诉,所以如果你担心请停止,或者把你的信用卡限制额度为0~
因为我申请账号已经过去很久,具体细节记得不清楚,总之还是会比较顺利的
申请完账号就可以登陆控制台
进入控制台第一步你可以熟悉熟悉环境,但我们最好还是为服务器挑一个家。点击图示服务器所在区域,会显示所有可选择区域的列表,一般进去默认是美国俄勒冈。我选了亚太东京,主要是听说延迟比较低。
OK,准备创建在AWS的第一个服务器实例,流程也很简单,点击启动实例,你就进入到AWS的镜像市场,注意:如果你想免费试用请全程选择包含免费标识的内容。既然是第一个实例,就选一个简单的镜像。
这是一个配置好了简单开发环境的镜像,Linux系统。在实例类型中选择标有符合条件的免费套餐
我们使用默认配置,直接点击审核和启动按钮。然后会看见一些概览,事实上我也看不太懂,直接点启动吧。然后AWS会让你配置一个密钥对,这是你远程访问实例的凭证,为它起个名,比如MyPair。下载它,保持好你的密钥对。亚马逊教程建议我们把它放在C:\Users\你的用户\.ssh 文件夹下面,或许是个好主意。
点击启动之后,我们回到控制台,进入实例标签,你会发现你新建的实例正在启动,别急等一等,等实例状态变成绿色running,你的实例就启动完成了。
实例启动的同时会分配给你一个公网IP,如果不重启这个公网IP是不会变的,如果你希望有一个固定的IP,你可以先看下 #弹性IP申请与绑定。 在AWS的入门教程中,会利用git的命令行来连接实例,如果你安装了git,可以在任意位置,右键Git Bash Here
ssh -i '私钥地址\MyPair.pem' ec2-user@{公网IP 地址}
如果连接成功会看见AWS的欢迎页。
在AWS上还提供了另一种方案,使用 PuTTY 从 Windows 连接到 Linux 实例。教程是中文,也不难理解,整体流程为
- 安装PuTTY
- 将密钥对从pem转化为PuTTY支持的ppk格式(利用PuTTYgen工具,自带)
- 打开PuTTY进行配置
- 配置session-Host Name默认端口22, 和Connection-SSH-Auth指定ppk文件位置
- 回到session页,为Saved Session起名,并Save保存,以方便下次访问。以后就可以通过双击连接
- 单击Open打开会话进入命令行界面 其中Host Name格式为ec2-user@{公网IP 地址}, ec2-user是Amazon Linux AMI的默认用户名,而不是你的用户名。
与实例文件交换可以安装WinSCP,如果你在PuTTY中已经保存了会话,打开WinSCP的时候就可以直接导入而不用重新配置。
在刚才提供的链接中已有详细的教程,如果不懂可以好好研究
我们知道公网IP其实就是你的服务器在网络上的家,如果你的家总是搬朋友很容易就找不到你的。AWS会每一个实例分配一个公网IP,但是不固定,如果要固定一个IP,我们就要申请一个弹性IP。
弹性IP的申请是非常非常非常简单的,只需要进入弹性IP标签页-分配新地址-分配就可以了。
Action注意 AWS的弹性IP分配政策是非常有意思的,申请一个IP是免费的,但空闲是收费的。你申请的IP必须绑定在一个正在运行的实例上,否则按照0.05USD每小时收费。我就因为将一个实例关机一晚上而产生了0.5USD的账单。
So,申请下来的IP赶紧分配,操作-关联地址-选择关联实例-关联就可以了。如果有多余IP,通过操作-释放地址就可以释放了。
每个实例都会有一个安全组策略来控制端口的开放状态,默认情况下只开放SSH的22端口。我们可以按照自身需求来配置安全组策略。
通过实例状态栏最好一栏可以进入安全组策略。比如我希望搭建一个Web网站,那么我就要在入站策略中,开放80端口与443端口。同理,如果你搭建了一个网站,在外网却无法访问,那有可能就是你的Http端口没有开放。
AWS免费限额还是相对大方的,每月有750小时的实例运行时间,这意味着如果你仅开一个实例,每天24小时运行都不会超出限额。每个月有15G的出站流量,一般流量会比较坑,大家且用且珍惜。其他可以参见AWS 免费使用套餐常见问题。
其次是刚才提到过的弹性IP问题,如果担心可以不申请弹性IP,保证实例不关机就不会换IP的。
评论