目录
- 前言
- 1. 配置 MemoryDB
- 1.1 获取 AWS 访问密钥
- 1.2 下载和配置 AWS CLI
- 2. 配置集群
- 2.1 创建集群
- 2.2 授予集群访问权限
- 2.3 连接到集群
- 2.4 删除集群
- 总结
前言
传统的自建Redis通过Jedis、Redisson以及Lettuce
- Jedis:由JAVA实现,支持较为全面的Redis命令
- Redisson:分布式操作多以及可拓展性强
- Lettuce:分布式缓存框架应用比较多
对比传统方法以及传统数据库,通过云数据库搭建Redis,从效率、操作、安全以及可用性来说,功能效果非常齐全,将其传统数据库中的缺点转变成优点。
MemoryDB 同时可提供内存性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,无需单独管理缓存和持久数据库
MemoryDB of Redis 拥有持久化内存数据库服务,提供超快的性能
- MemoryDB 与流行的开源数据存储 Redis 兼容,能够使用友好的Redis 数据结构、API 和命令快速构建应用程序
- MemoryDB可将所有数据都存储在内存,实现微秒级读取和个位数毫秒级写入,从而达到低延迟和高吞吐量
- 使用多可用区事务日志来跨多个可用区从而达到持久存储数据,以实现快速故障转移、数据库恢复和节点重启
其核心组件拥有:集群、节点、碎片等
关于Amazon的其他数据库也有很多种类型,优点很多而且非常容易上手:数据库免费试用链接及上手教程。再者不定期的举办技术会议来促进交流,通过云原生数据库在线大会的链接网址,可以学到更多前沿技术。不仅文档教程代码齐全,而且免费套餐力度特别大,亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。附上链接:100余种产品免费套餐
在进入正文原理以及实验讲解的同时,需要注册账号以及验证个人信息
(注:1. 个人信息的地址需要使用英文
2. 账单信息使用VISA等信用卡或借记卡号)
1. 配置 MemoryDB
1.1 获取 AWS 访问密钥
主要步骤如下:
- 通过前面的步骤注册登录 AWS 管理控制台,通过如下打开IAM 控制台 。
- 在左侧导航栏目中,选择 Users (用户),创建用户(选择Security credentials (安全凭证) 选项卡),在 Access keys(访问密钥) 部分,选择 Create access key (创建访问密钥)
- 设置权限(将其用户添到组中),并且设置权限的边界(如果不设置权限会提示此用户没有访问权限)。
- 要查看新访问密钥对,请选择 Show (显示)。关闭此页面后,您将无法再次访问该私有访问密钥。您的凭证与下面类似:
- 要下载密钥对,请选择 Download .csv file (下载 .csv 文件)。将密钥存储在安全位置。
1.2 下载和配置 AWS CLI
配置凭证的方式可以通过编程方式或通过AWSCLI(须配置凭证来为应用程序启用授权)
下载和配置的文档链接如下:AWS CLI
展示界面Windows的安装过程(命令比较少):
同理linux平台上的安装过程(其他平台同理):
之后还需要配置凭证,通过aws configure(以下显示示例值)
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
截图如下:
2. 配置集群
2.1 创建集群
创建集群的方式有三种:
第一种:通过控制台
具体步骤如下,点击创建集群
子网组、VPC以及子网(如果启用了多可用区,子网组包含两个不同可用区以上的子网)
设置集群
- 版本:兼容性选择默认值6.2
- 端口:默认值选择Redis的6379(如果端口冲突,可选择相应的端口号)
- 参数组:默认选择default.memorydb-redis6
- 节点类型:选择适合节点类型的内存值
- 分片数量:该集群所需的分区数(为了提高集群可用性,建议选择2个分片以上)
- 副本数:为分片中选择需要的只读副本数(如果启用多可用区,每个分片1个副本以上)
对于高级选项中的安全组(充当防火墙来控制对集群的网络访问)
- 加密数据(静态加密:对磁盘上存储的数据加密;传输中加密:对传输的数据启用加密)
之后的快照、维护以及集群标签部分视个人情况而定
第二种:通过AWSCLI
- Linux示例代码:
aws memorydb create-cluster \
--cluster-name my-cluster \
--node-type db.r6g.large \
--acl-name my-acl \
--subnet-group my-sg
- Windows示例代码:
aws memorydb create-cluster ^
--cluster-name my-cluster ^
--node-type db.r6g.large ^
--acl-name my-acl ^
--subnet-group my-sg
成功创建之后会输出一串json格式
第三种:通过API
以上三种更加详细的说明可看:创建集群文档
2.2 授予集群访问权限
所有 MemoryDB 集群通过 Amazon EC2 实例进行访问(须授权EC2实例)
同一 VPC 中 EC2 实例与集群之间的访问
启动实例的具体步骤:Amazon EC2 控制台
- 创建密钥对(启动的实例没有密钥对,就不能连接到该实例)
创建实例
- Name and tags:名称与标签
- Application and OS Images (Amazon Machine Image):快速启动和AMI映像
- 实例类型:默认选择t2.micro实例类型(如果t2.micro实例不可用的区域,可选择t3.micro 实例)
- 密钥对:选择一开始创建的密钥对
- 网络设置:选择现有的安全组或者创建新的安全组(此安全组可用于限制对集群的访问权限)
在集群的安全组中创建自定义规则(此安全组将允许访问其他安全组成员),编辑入站规则,选择添加规则
从 Type 中选择 Custom TCP Rule
- 端口号:指定创建集群时的端口(此处为了方便测试,统一使用了广播地址0.0.0.0)
- Source源:安全组的ID
启用连接访问后,就可连接到集群
最后的展示页面如下:
2.3 连接到集群
确定集群的终端节点:(通过describe-clusters命令搜索集群终端节点)
aws memorydb describe-clusters \
--cluster-name mycluster
命令将返回集群的终端节点,通过json格式响应
使用 redis-cli 连接到 MemoryDB 节点
下载并编译 redis-cli 实用工具:
$ 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
具体Cluster Endpoint的集群通过点击集群终端节点即可查看
2.4 删除集群
将其创建集群的名称删除即可
单独删除一个集群:aws memorydb delete-cluster --cluster-name my-cluster
删除多个集群:
aws memorydb delete-cluster \
--cluster-name my-cluster \
--region us-east-1
总结
纵观全文,通过阅读文档以及整套实验下来,行云流水,得益于文档以及功能都比较齐全,体验感很美妙。本身MemoryDB无需单独管理缓存和持久数据库,是一款非常高性能的数据库,基于Redis提供了持久化内存数据库服务,有其读取以及写入数据,达到低延迟和高吞吐量;能够友好使用Redis的数据结构、API 和命令快速构建应用程序
通过以上的实验步骤,你已经可以入门学习了,更多的探索部分如果还想了解学习可通过:Amazon MemoryDB for Redis 官网文档
亚马逊云科技专为开发者们打造了多种学习平台:
①入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。
② 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。
③构建者库:了解亚马逊云科技如何构建和运营软件。
④工具包:用于在亚马逊云科技平台上开发和管理应用程序。
除了代码文档齐全完善,为了让更多的人体验体会,特此推出【专属福利】
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
福利二:最新优惠大礼包:200
数
据
与
分
析
抵
扣
券
,
200
数据与分析抵扣券,200
数据与分析抵扣券,200机器学习抵扣券,200$微服务与应用开发抵扣券。
福利三:解决方案CloudFormation一键部署模版库
更多推荐
一文读懂基于Redis的Amazon MemoryDB数据库
发布评论