共计 2306 个字符,预计需要花费 6 分钟才能阅读完成。
作为一个开发者, 一直希望能拥有一台自己的服务器能部署应用, 很早就打上了阿里云 / 腾讯云的主意, 但是二者的试用时长都不长, 阿里是最多 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 的。