### **前言**
说到云厂商,大家可能第一反应是阿里云、华为云、腾讯云等,包括我自己,我记得国内最开始做云计算的是阿里云,现在也是国内云厂商老大也是阿里云,毕竟人家2009年就开始做云,要知道2009年那会儿国内整个互联网都还没发展起来
但是我查阅了2021年全球云计算市场调查报告后发现,国内扛把子阿里云只能在云厂商里排第三

简单总结了 Amazon 能成为top1的原因:
1. 全球优势,包括22个区域、69个可用区、180个边缘站点等;2.政策优势,包括海外中国区域物理隔离等;
2. 技术优势,包括完善的安全服务等;
3. 案例优势,多数区块链项目部署在 Amazon 上;
4. 资源优势,比如与区块链领域的投资者和机构紧密合作一起做间接投资等。
知道差距了吧,国内云厂商还有很长的路要走啊~
今天的重点是给大家分享:如何**使用**一年亚马逊服务器,没有套路,纯纯使用
### **重点来了**
亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。
**再说一遍,没有任何套路,纯纯是使用**,[使用入口](https://aws.amazon.com/cn/free/?nc2=h_ql_pr_ft&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all&trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&sc_channel=el)

虽然是免费的,但是亚马逊毕竟是国外厂商,在注册账号这一块有几个需要注意的地方,今天我就带着大家体验一下全流程吧,咱们就以 Amazon rds为例(RDS是关系型数据库服务(Relational Database Service)的简称),[入口](https://aws.amazon.com/cn/getting-started/databases/get-started/?nc=sn&loc=4&trk=fab55528-7c2e-4517-b90e-65b760ecfc1c&sc_channel=el)

### **注册账号**
[注册入口](https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=header_signup&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation&language=zh_cn#/start/email)

接着输入验证码,再点验证,会来到下面的设置密码界面

接着填写个人信息
这里选 "个人"

其它没啥需要注意的,地区选中国,姓名和地址只能填英文,所以,随便填填咯,**电话最好填真实的,因为后面需要用到实名制信用卡**
最最最关键的是这一步,我一开始注册的时候一直以为需要用支持 visa 的卡才行,后面试了下一张普通的信用卡,也可以,所以,这里的卡你就随便填一张你的信用卡,到期日期可以在信用卡上看到

后面就没啥需要注意的了,提交完了等审核,审核周期也很快,我的几分钟就通过了,前提是你信息要填对,别全瞎填,人家那么大一个厂不至于泄露你的个人信息
### **登录控制台**
[登录入口](https://us-east-1.console.aws.amazon.com/rds/home?region=us-east-1)
进来以后这里面东西超级多,为了方便,我们可以像下图一样在这里搜rds,选择搜索结果的第一个选项

进来以后我们先创建一个数据库,点击【创建数据库】

### **创建数据库**
因为我们是使用的,所以可选配置有限,说实话配置是低了点,但是用于日常开发测试是完全没问题的
Amazon 创建数据库步骤非常简单,真正做到了**开箱即用**
这里有两个选项,左边的标准创建相比右边的轻松创建就多了一些配置项,很多配置保持默认即可,所以我们为了省事可以选择轻松创建

接下来会让我们选择需要的数据库类型,我们就以 mysql 为例吧,毕竟使用的人最多

这里的数据库实例大小一定记得选免费套餐,前面两个是要收费的

最后都是一些基本信息,包括一下几点:
1. 数据库标识符:这个要说一下啊,数据库标识符并不是你的 mysql 数据库名称,而是在 Amazon 上创建的数据库唯一标识符,这个标识符在当前 Amazon 账户拥有的所有数据库实例中必须是唯一的;
2. 用户名:数据库登录用户名,一般为 root;
3. 登录密码:连接数据库的密码

填写完成后点击【创建数据库】
等待几分钟,你的 mysql 数据库就创建成功啦,等数据库实例创建完成后就能使用啦,是不是很方便
至此,我们可以对比下 Amazon rds 创建数据库和在传统云主机或者物理机上搭建一台 mysql 服务器的区别
#### **Amazon rds:**
1. 创建数据库实例
2. 配置数据库
#### **传统云主机或物理机:**
1. 下载 mysql 二进制包
2. 解压
3. 安装 mysql server(可能需要先卸载旧版本)
4. 启动 mysql 并登录
5. 创建新用户、设置密码等
6. ......
其实光看步骤看不出啥,传统方式安装 MySQL 熟悉了以后也很简单,10分钟也能搞定,但这是基于你的服务器环境正常,如果有老版本残留,你还得先清理残留数据,这一步就已经很容易出错了,总之,rds 带来的便捷不是传统数据库能比拟的
### **连接数据库**
现在我们来连接刚才创建的数据库简单做些测试吧

在这个界面可以看到我们刚才创建好的数据库实例,点击数据库标识符名称就能查看数据库详细信息

右上角的还可以修改数据库信息和其它操作,比如停止、重启、创建读库、拉快照、数据还原等

#### **重要**
这里面很多信息不需要再配置,但是有一点,大多数同学可能都会忘记,如果不配置的话,大概率无法从服务器外部访问数据库
#### **配置出入站规则**
点击实例详情右上角的修改按钮,往下面翻,会看到安全组配置,Amazon 是支持给每个数据库实例单独配置安全组的,这一点很实用,比如我有两个库,有一个只能外网访问,那就可以通过单独配置安全组的出入站规则来实现

这个配置是在安全组里
### **配置安全组**
安全组需要去 EC2控制台创建
在搜索框搜索 EC2(多说一句,对于这种云计算控制台,在找功能入口时最好就直接搜索,因为这种控制台按钮都特别多,能把你找的头皮发麻)


点右上角创建安全组

基本信息随意填
出入站规则顾名思义,就是指定哪些 ip 能访问,和你能访问哪些 ip
我们这个是作为测试机使用,不会有什么重要信息,所以为了方便,直接全部开放即可,就像下面这样配置即可

完事儿点创建安全组,等几分钟
回到我们刚才创建的数据库实例,点击修改,然后把安全组设置成我们刚刚创建的这个
等数据库实例配置成功后,我们就能连接使用了
为了方便演示,我就直接用 navicat 来连接吧
我的是 navicat premium,里面已经适配对 Amazon rds 的支持了

我们选择 amazon rds for mysql
其实跟我们平常连接普通 mysql 一样,填写 host 和密码即可

这里的终端节点域名可以在 **aws rds - 数据库实例 - 连接和安全性**中找到

接下来的创建数据库表就跟普通 mysql 一样的,就不做过多演示了

### **总结**
相对于普通数据库,Amazon rds 更轻便、更容易部署,而且弹性可扩展,还大大降低了后期维护成本,这些特性注定了云原生才是数据库未来发展趋势,如果你对云原生感兴趣,最近刚好有个[云原生数据库技术分享大会](https://www.awsevents.cn/CloudNative/listDetails.html?trk=1227489f-bfd0-430a-85df-750d92bb9d11&sc_channel=el),感兴趣的朋友可以看看~
除此之外
亚马逊云科技专为开发者们打造了多种学习平台:
1. [入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源](https://aws.amazon.com/cn/getting-started/?nc1=h_ls&trk=32540c74-46f0-46dc-940d-621a1efeedd0&sc_channel=el);
2. [架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等](https://aws.amazon.com/cn/architecture/?intClick=dev-center-2021_main&trk=3fa608de-d954-4355-a20a-324daa58bbeb&sc_channel=el);
3. [构建者库:了解亚马逊云科技如何构建和运营软件](https://aws.amazon.com/cn/builders-library/?cards-body.sort-by=item.additionalFields.sortDate&cards-body.sort-order=desc&awsf.filter-content-category=*all&awsf.filter-content-type=*all&awsf.filter-content-level=*all&trk=835e6894-d909-4691-aee1-3831428c04bd&sc_channel=el);
4. [用于在亚马逊云科技平台上开发和管理应用程序的工具包](https://aws.amazon.com/cn/tools/?intClick=dev-center-2021_main&trk=972c69e1-55ec-43af-a503-d458708bb645&sc_channel=el)。