说到云厂商,大家可能第一反应是阿里云、华为云、腾讯云等,国内阿里云是市场份额占用最多的,但全球范围的云计算市场份额,亚马逊才是老大哥:
目前亚马逊云科技提供了 100 余种产品的免费套餐。其中,计算资源 Amazon EC2 首年 12 个月免费,750 小时/月;存储资源 Amazon S3 首年 12 个月免费,5GB 标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750 小时;Amazon Dynamo DB 25GB 存储容量永久免费等等。
它有三种不同类型的免费优惠可供选择:
没有任何套路,纯纯是白嫖,AWS 免费套餐,白嫖入口
本文将以 Amazon MemoryDB 为例,介绍如何从零开始并构建你专属的 Redis 内存数据库。
搭建传统的自建 Redis,需要考虑性能、数据持久性、扩展性、防火墙等一系列搭建环境,步骤很繁琐,费时费力。通过云数据库搭建 Redis,从效率、性能、数据安全、扩展性等方面来说,解决了传统方式的痛点,节省大量时间与运维成本。如:
通过连续五年被 Stack Overflow 评为“最受欢迎”的数据库 Redis 来快速构建应用程序。使用灵活的 Redis 数据结构和 API(例如,流式传输、列表和集合)。
以微秒级的读取和个位数毫秒级的写入延迟和高吞吐量来访问数据。MemoryDB 每天可以处理超过 13 万亿个请求,并支持每秒超过 1.6 亿个请求的峰值。
MemoryDB 将数据存储在内存中,并使用多可用区事务日志实现快速数据库恢复和重启,而不会丢失数据。由于 MemoryDB 可以持久地存储数据,因此可以将其用作主数据库。
MemoryDB 可将每个集群的存储空间从几 GB 无缝扩展到 100 TB 以上,以满足您的应用程序需求。
没有 AWS 帐号的小伙伴需要先进行帐号注册:注册及上手试用地址 (在账单登记页可以使用国内的信用卡)
输入邮箱地址与密码即可
进来以后 Service 内容超级多,为了方便,我们可以像下图一样在这里搜 MemoryDB,选择搜索结果的第一个选项
可以看到整体的界面,点击开始使用即可:
Amazon MemoryDB for Redis 是一项与 Redis 兼容、极具持久性的内存数据库服务,可实现超快性能。为具有微服务架构的现代化应用程序提供亚毫秒级延迟、高吞吐量和多可用区持久性。
官方文档:https://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/getting-started.html
在左侧导航窗格中选择集群,然后点击创建集群
集群信息
输入集群的名称、描述信息
子网组
创建一个新的子网组,或从可用列表中选择要应用于此集群的现有子网组。子网类似于局域网
集群设置
使用 t4g.small 实例,2个月内免费(每月免费提供实例和 20GB 数据)
6.2
default.memorydb-redis6
参数组安全性
安全组 - 充当防火墙来控制对集群的网络访问,很重要!!!
静态加密 – 对磁盘上存储的数据启用加密
设置后,最后点击创建即可
当您的集群状态为 available 时,便可向其授予 EC2 访问权限,连接到集群并开始使用它。
创建 EC2 实例
此部分假设你已经熟悉 Amazon EC2 实例的启动和连接。有关更多信息,请参阅 Amazon EC2 入门指南。
密钥对(登录) 信息,千万不要选择【在没有密钥对的情况下继续】的选项,否则会导致 EC2 实例创建后无法直接连接访问
授权访问权限
通过安全组配置授权访问。
所有 MemoryDB 集群旨在通过 Amazon EC2 实例进行访问。最常见的情况是从同一 Amazon Virtual Private Cloud (Amazon VPC) 中的 Amazon EC2 实例访问 MemoryDB 集群。必须先授权 EC2 实例访问集群,然后您才能从 EC2 实例连接到集群。
这里为了演示,直接配置完整入站访问,0.0.0.0/0 即所有设备都可以访问
要从 MemoryDB 节点中访问数据,可以使用利用安全套接字层 (SSL) 的客户端,也可以在 Amazon Linux 2 上使用具有 TLS/SSL 的 redis-cli。
若要使用 redis-cli 连接到 Amazon Linux 2 上的 MemoryDB 集群,步骤如下:
登录 EC2 命令行控制台
选择 EC2 Instance Connect 连接类型
下载并编译 redis-cli 实用工具
在 EC2 实例的命令提示符处,键入以下命令
#Amazon Linux 2
$ sudo yum -y install openssl-devel gcc
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make distclean
$ make redis-cli BUILD_TLS=yes
$ sudo install -m 755 src/redis-cli /usr/local/bin/
在 EC2 实例的命令提示符处,键入以下命令,并使用你的集群和端口的终端节点替换此示例中显示的相应内容
# 示例
# src/redis-cli -c -h Cluster Endpoint --tls -p 6379
$ src/redis-cli -c -h clustercfg.redis-free.uyejvs.memorydb.ap-southeast-1.amazonaws.com --tls -p 6379
其中 Cluster Endpoint 位于 MemoryDB 集群信息下 集群端点
实操结果如下:
为了提供托管服务体验,MemoryDB 限制了对某些需要高级特权的命令的访问。以下命令不可用:
acl deluser
acl load
acl save
acl setuser
bgrewriteaof
bgsave
cluster addslot
cluster delslot
cluster setslot
config
debug
migrate
module
psync
replicaof
save
shutdown
slaveof
sync
MemoryDB 与 Redis 兼容,是一个很受欢迎的开源数据存储,使您能够使用他们目前已经使用的同样灵活友好的 Redis 数据结构、API 和命令快速构建应用程序。使用 MemoryDB,您的所有数据都存储在内存中,这使您能够实现微秒读取和单位数毫秒的写入延迟和高吞吐量。MemoryDB 还使用多可用区事务日志跨多个可用区 (AZ) 持久存储数据,以实现快速故障切换、数据库恢复和节点重启。
Memory DB 既具有内存中的性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,从而无需分别管理缓存和持久数据库。
亚马逊云科技还专为开发者们打造了多种学习平台: