一文读懂基于 Redis 的 Amazon MemoryDB 数据库

数据库
0
0
{"value":"#### **前言**\n\n传统的自建 Redis 通过 Jedis、Redisson 以及 Lettuce\n- Jedis:由 JAVA 实现,支持较为全面的 Redis 命令\n- Redisson:分布式操作多以及可拓展性强\n- Lettuce:分布式缓存框架应用比较多\n\n对比传统方法以及传统数据库,通过云数据库搭建 Redis,从效率、操作、安全以及可用性来说,功能效果非常齐全,将其传统数据库中的缺点转变成优点。\n\nMemoryDB 同时可提供内存性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,无需单独管理缓存和持久数据库\nMemoryDB of Redis 拥有持久化内存数据库服务,提供超快的性能\n1. MemoryDB 与流行的开源数据存储 Redis 兼容,能够使用友好的Redis 数据结构、API 和命令快速构建应用程序\n2. MemoryDB 可将所有数据都存储在内存,实现微秒级读取和个位数毫秒级写入,从而达到低延迟和高吞吐量\n3. 使用多可用区事务日志来跨多个可用区从而达到持久存储数据,以实现快速故障转移、数据库恢复和节点重启\n其核心组件拥有:集群、节点、碎片等\n\n关于 Amazon 的其他数据库也有很多种类型,优点很多而且非常容易上手:[数据库免费试用链接及上手教程](https://aws.amazon.com/cn/getting-started/databases/get-started/?nc=sn&loc=4&trk=fab55528-7c2e-4517-b90e-65b760ecfc1c&sc_channel=el)。再者不定期的举办技术会议来促进交流,通过[云原生数据库在线大会](https://www.awsevents.cn/CloudNative/listDetails.html?trk=1227489f-bfd0-430a-85df-750d92bb9d11&sc_channel=el)的链接网址,可以学到更多前沿技术。不仅文档教程代码齐全,而且免费套餐力度特别大,亚马逊云科技提供了100余种产品免费套餐。其中,计算资源 [Amazon EC2 ](https://aws.amazon.com/cn/ec2/?trk=cndc-detail)首年12个月免费,750小时/月;存储资源 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 首年12个月免费,5GB 标准存储容量;数据库资源 [Amazon RDS](https://aws.amazon.com/cn/rds/?trk=cndc-detail) 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。附上链接:[100余种产品免费套餐](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)\n\n在进入正文原理以及实验讲解的同时,需要注册账号以及验证个人信息\n(注:1. 个人信息的地址需要使用英文\n 2. 账单信息使用 VISA 等信用卡或借记卡号)\n\n\n#### **1. 配置 MemoryDB**\n\n##### **1.1 获取 Amazon 访问密钥**\n\n主要步骤如下:\n1. 通过前面的步骤注册登录 Amazon 管理控制台,通过如下打开 [IAM 控制台 ](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Fiam%2F%3Fregion%3Dus-east-1%26state%3DhashArgs%2523%26isauthcode%3Dtrue&client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fiam&forceMobileApp=0&code_challenge=Y1XpHsEsODQEfMKXosH17NgtBmVGEvybS5JE_Uvx9Ss&code_challenge_method=SHA-256)。\n2. 在左侧导航栏目中,选择 **Users (用户)**,**创建用户(选择Security credentials (安全凭证) 选项卡)**,在 **Access keys(访问密钥)** 部分,选择 **Create access key (创建访问密钥)**\n\n![image.png](https://dev-media.amazoncloud.cn/6b11d41b6d13493dad109bc173a7508b_image.png)\n\n3. 设置权限(将其用户添到组中),并且设置权限的边界(如果不设置权限会提示此用户没有访问权限)。\n4. 要查看新访问密钥对,请选择 Show (显示)。关闭此页面后,您将无法再次访问该私有访问密钥。您的凭证与下面类似:\n\n![image.png](https://dev-media.amazoncloud.cn/c7059eedb0b34d9496f58aa096cb9fdc_image.png)\n\n5. 要下载密钥对,请选择 **Download .csv file (下载 .csv 文件)**。将密钥存储在安全位置。\n\n![image.png](https://dev-media.amazoncloud.cn/501273017e7a49d58791d45fa8f7926b_image.png)\n\n##### **1.2 下载和配置 Amazon CLI**\n\n配置凭证的方式可以通过编程方式或通过 Amazon CLI(须配置凭证来为应用程序启用授权)\n下载和配置的文档链接如下:[Amazon CLI](https://aws.amazon.com/cn/cli/)\n\n展示界面Windows的安装过程(命令比较少):\n\n![image.png](https://dev-media.amazoncloud.cn/607aab5497754c9f859902c9f4b1d700_image.png)\n\n\n同理 linux 平台上的安装过程(其他平台同理):\n\n![image.png](https://dev-media.amazoncloud.cn/2543e95dc32b4e82aa12e5f0d160280f_image.png)\n\n之后还需要配置凭证,通过```aws configure```(以下显示示例值)\n\n```\\nAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE\\nAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\\nDefault region name [None]: us-west-2\\nDefault output format [None]: json\\n```\n截图如下:\n\n![image.png](https://dev-media.amazoncloud.cn/ecf5f2a549204991b8ea78066926c70d_image.png)\n\n#### **2. 配置集群**\n\n##### **2.1 创建集群**\n\n**创建集群的方式有三种:**\n**第一种:通过控制台**\n具体步骤如下,点击**创建集群**\n\n![image.png](https://dev-media.amazoncloud.cn/42b927f2c74848ae9583af43db77dbbe_image.png)\n\n子网组、VPC 以及子网(如果启用了多可用区,子网组包含两个不同可用区以上的子网)\n\n![image.png](https://dev-media.amazoncloud.cn/5c5721ebdd684258966c62900b6e2ee2_image.png)\n\n**设置集群**\n- 版本:兼容性选择默认值6.2\n- 端口:默认值选择 Redis 的6379(如果端口冲突,可选择相应的端口号)\n- 参数组:默认选择 default.memorydb-redis6\n- 节点类型:选择适合节点类型的内存值\n- 分片数量:该集群所需的分区数(为了提高集群可用性,建议选择2个分片以上)\n- 副本数:为分片中选择需要的只读副本数(如果启用多可用区,每个分片1个副本以上)\n\n![image.png](https://dev-media.amazoncloud.cn/9d88ddc5fe1a4adeb37925f1040b5cc7_image.png)\n\n对于高级选项中的**安全组**(充当防火墙来控制对集群的网络访问)\n- 加密数据(静态加密:对磁盘上存储的数据加密;传输中加密:对传输的数据启用加密)\n\n![image.png](https://dev-media.amazoncloud.cn/ffe0d8d8848b483da06f429ecab10552_image.png)\n\n之后的快照、维护以及集群标签部分视个人情况而定\n\n**第二种:通过 Amazon CLI**\nLinux 示例代码:\n```aws memorydb create-cluster \\\\```\n```--cluster-name my-cluster \\\\```\n```--node-type db.r6g.large \\\\```\n```--acl-name my-acl \\\\```\n```--subnet-group my-sg```\nWindows示例代码:\n```aws memorydb create-cluster ^```\n```--cluster-name my-cluster ^```\n```--node-type db.r6g.large ^```\n```--acl-name my-acl ^```\n```--subnet-group my-sg```\n成功创建之后会输出一串 json 格式\n\n**第三种:通过 API**\n\n以上三种更加详细的说明可看:[创建集群文档](https://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/getting-started.createcluster.html)\n\n##### **2.2 授予集群访问权限**\n所有 MemoryDB 集群通过 [Amazon EC2 ](https://aws.amazon.com/cn/ec2/?trk=cndc-detail)实例进行访问(须授权 EC2 实例)\n同一 VPC 中 EC2 实例与集群之间的访问\n启动实例的具体步骤:[Amazon EC2 控制台](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fec2%2Fv2%2Fhome%3Fstate%3DhashArgs%2523%26isauthcode%3Dtrue&client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fec2&forceMobileApp=0&code_challenge=F3aNv1rcZg2m7cu2sslQRKhZ5R9trh7pYX3Fq01-YZw&code_challenge_method=SHA-256)\n1. 创建密钥对(启动的实例没有密钥对,就不能连接到该实例)\n\n![image.png](https://dev-media.amazoncloud.cn/431704a17bca4d0f919c2e2bc7651453_image.png)\n\n创建实例\n- Name and tags:名称与标签\n- Application and OS Images (Amazon Machine Image):快速启动和 AMI 映像\n- 实例类型:默认选择 t2.micro 实例类型(如果```t2.micro```\n实例不可用的区域,可选择```t3.micro```\n 实例)\n- 密钥对:选择一开始创建的密钥对\n- 网络设置:选择现有的安全组或者创建新的安全组(此安全组可用于限制对集群的访问权限)\n\n![image.png](https://dev-media.amazoncloud.cn/6f61d1f876ec4b588e65d30529990a67_image.png)\n\n在集群的安全组中创建自定义规则(此安全组将允许访问其他安全组成员),编辑入站规则,选择添加规则\n从 **Type** 中选择 **Custom TCP Rule**\n- 端口号:指定创建集群时的端口(此处为了方便测试,统一使用了广播地址0.0.0.0)\n- Source源:安全组的ID\n\n![image.png](https://dev-media.amazoncloud.cn/e21dacef27544a9fabf0e529a6808b9c_image.png)\n\n启用连接访问后,就可连接到集群\n\n![image.png](https://dev-media.amazoncloud.cn/2de9d46e18dd45b09b2fdb2ed4f456f5_image.png)\n\n最后的展示页面如下:\n\n![image.png](https://dev-media.amazoncloud.cn/ccf7592df7fe44939757b88227b5f48f_image.png)\n\n##### **2.3 连接到集群**\n确定集群的终端节点:(通过 describe-clusters 命令搜索集群终端节点)\n```\\naws memorydb describe-clusters \\\\\\n --cluster-name mycluster\\n```\n\n命令将返回集群的终端节点,通过 json 格式响应\n\n![image.png](https://dev-media.amazoncloud.cn/bbb3b69c15f543c9bc570eac93dd6c29_image.png)\n\n使用 redis-cli 连接到 MemoryDB 节点\n下载并编译 redis-cli 实用工具:\n\n```\\n\$ sudo yum -y install openssl-devel gcc\\n\$ wget http://download.redis.io/redis-stable.tar.gz\\n\$ tar xvzf redis-stable.tar.gz\\n\$ cd redis-stable\\n\$ make distclean\\n\$ make redis-cli BUILD_TLS=yes\\n\$ sudo install -m 755 src/redis-cli /usr/local/bin/\\n```\n编译执行过程截图:\n![image.png](https://dev-media.amazoncloud.cn/a43ae97676a048f6a09c0ce342d17299_image.png)\n\n在EC2的实例中执行如下命令(集群和端口的终端节点替换此示例)\n通过```src/redis-cli -c -h Cluster Endpoint --tls -p 6379```\n具体 Cluster Endpoint 的集群通过点击集群终端节点即可查看\n\n![image.png](https://dev-media.amazoncloud.cn/ad636a118c6a4fb6ba6bb559544b4d63_image.png)\n\n2.4 删除集群\n将其创建集群的名称删除即可\n单独删除一个集群:```aws memorydb delete-cluster --cluster-name my-cluster```\n\n删除多个集群:\n```\\naws memorydb delete-cluster \\\\\\n --cluster-name my-cluster \\\\\\n --region us-east-1\\n```\n#### **总结**\n纵观全文,通过阅读文档以及整套实验下来,行云流水,得益于文档以及功能都比较齐全,体验感很美妙。本身 MemoryDB 无需单独管理缓存和持久数据库,是一款非常高性能的数据库,基于 Redis 提供了持久化内存数据库服务,有其读取以及写入数据,达到低延迟和高吞吐量;能够友好使用 Redis 的数据结构、API 和命令快速构建应用程序\n\n通过以上的实验步骤,你已经可以入门学习了,更多的探索部分如果还想了解学习可通过:[Amazon MemoryDB for Redis 官网文档](https://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/what-is-memorydb-for-redis.html)\n\n亚马逊云科技专为开发者们打造了多种学习平台:\n①[入门资源中心](https://aws.amazon.com/cn/getting-started/?nc1=h_ls&trk=32540c74-46f0-46dc-940d-621a1efeedd0&sc_channel=el):从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。\n② [架构中心](https://aws.amazon.com/cn/architecture/?intClick=dev-center-2021_main&trk=3fa608de-d954-4355-a20a-324daa58bbeb&sc_channel=el&cards-all.sort-by=item.additionalFields.sortDate&cards-all.sort-order=desc&awsf.content-type=*all&awsf.methodology=*all&awsf.tech-category=*all&awsf.industries=*all):亚马逊云科技[架构中心](https://aws.amazon.com/cn/architecture/?trk=cndc-detail)提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。\n③[构建者库](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):了解亚马逊云科技如何构建和运营软件。\n④[工具包](https://aws.amazon.com/cn/developer/tools/):用于在亚马逊云科技平台上开发和管理应用程序。\n\n除了代码文档齐全完善,为了让更多的人体验体会,特此推出【专属福利】\n福利一:[100余种产品免费套餐](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 EC2首年12个月免费,750小时/月;存储资源 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 首年12个月免费,5GB标准存储容量。\n福利二:[最新优惠大礼包](https://www.amazonaws.cn/campaign/?sc_channel=el&sc_campaign=credit-acts-ldr&sc_country=cn&sc_geo=chna&sc_category=mult&sc_outcome=field&trkCampaign=request-credit-glb-ldr&trk=f45email&trk=02faebcb-3f61-4bcb-b68e-c63f3ae33c99&sc_channel=el):200\$ 数据与分析抵扣券,200\$ [机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)抵扣券,200\$ 微服务与应用开发抵扣券。\\n福利三:[解决方案 CloudFormation 一键部署模版库](https://aws.amazon.com/cn/quickstart/?solutions-all.sort-by=item.additionalFields.sortDate&solutions-all.sort-order=desc&awsf.filter-content-type=*all&awsf.filter-tech-category=*all&awsf.filter-industry=*all)\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n","render":"<h4><a id=\\"_0\\"></a><strong>前言</strong></h4>\\n<p>传统的自建 Redis 通过 Jedis、Redisson 以及 Lettuce</p>\\n<ul>\\n<li>Jedis:由 JAVA 实现,支持较为全面的 Redis 命令</li>\\n<li>Redisson:分布式操作多以及可拓展性强</li>\\n<li>Lettuce:分布式缓存框架应用比较多</li>\\n</ul>\\n<p>对比传统方法以及传统数据库,通过云数据库搭建 Redis,从效率、操作、安全以及可用性来说,功能效果非常齐全,将其传统数据库中的缺点转变成优点。</p>\\n<p>MemoryDB 同时可提供内存性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,无需单独管理缓存和持久数据库<br />\\nMemoryDB of Redis 拥有持久化内存数据库服务,提供超快的性能</p>\\n<ol>\\n<li>MemoryDB 与流行的开源数据存储 Redis 兼容,能够使用友好的Redis 数据结构、API 和命令快速构建应用程序</li>\\n<li>MemoryDB 可将所有数据都存储在内存,实现微秒级读取和个位数毫秒级写入,从而达到低延迟和高吞吐量</li>\\n<li>使用多可用区事务日志来跨多个可用区从而达到持久存储数据,以实现快速故障转移、数据库恢复和节点重启<br />\\n其核心组件拥有:集群、节点、碎片等</li>\\n</ol>\\n<p>关于 Amazon 的其他数据库也有很多种类型,优点很多而且非常容易上手:<a href=\\"https://aws.amazon.com/cn/getting-started/databases/get-started/?nc=sn&amp;loc=4&amp;trk=fab55528-7c2e-4517-b90e-65b760ecfc1c&amp;sc_channel=el\\" target=\\"_blank\\">数据库免费试用链接及上手教程</a>。再者不定期的举办技术会议来促进交流,通过<a href=\\"https://www.awsevents.cn/CloudNative/listDetails.html?trk=1227489f-bfd0-430a-85df-750d92bb9d11&amp;sc_channel=el\\" target=\\"_blank\\">云原生数据库在线大会</a>的链接网址,可以学到更多前沿技术。不仅文档教程代码齐全,而且免费套餐力度特别大,亚马逊云科技提供了100余种产品免费套餐。其中,计算资源 Amazon EC2 首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB 标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。附上链接:<a href=\\"https://aws.amazon.com/cn/free/?nc2=h_ql_pr_ft&amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;all-free-tier.sort-order=asc&amp;awsf.Free%20Tier%20Types=*all&amp;awsf.Free%20Tier%20Categories=*all&amp;trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&amp;sc_channel=el\\" target=\\"_blank\\">100余种产品免费套餐</a></p>\\n<p>在进入正文原理以及实验讲解的同时,需要注册账号以及验证个人信息<br />\\n(注:1. 个人信息的地址需要使用英文<br />\\n2. 账单信息使用 VISA 等信用卡或借记卡号)</p>\\n<h4><a id=\\"1__MemoryDB_23\\"></a><strong>1. 配置 MemoryDB</strong></h4>\\n<h5><a id=\\"11__Amazon__25\\"></a><strong>1.1 获取 Amazon 访问密钥</strong></h5>\\n<p>主要步骤如下:</p>\\n<ol>\\n<li>通过前面的步骤注册登录 Amazon 管理控制台,通过如下打开 <a href=\\"https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Fiam%2F%3Fregion%3Dus-east-1%26state%3DhashArgs%2523%26isauthcode%3Dtrue&amp;client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fiam&amp;forceMobileApp=0&amp;code_challenge=Y1XpHsEsODQEfMKXosH17NgtBmVGEvybS5JE_Uvx9Ss&amp;code_challenge_method=SHA-256\\" target=\\"_blank\\">IAM 控制台 </a>。</li>\\n<li>在左侧导航栏目中,选择 <strong>Users (用户)</strong>,<strong>创建用户(选择Security credentials (安全凭证) 选项卡)</strong>,在 <strong>Access keys(访问密钥)</strong> 部分,选择 <strong>Create access key (创建访问密钥)</strong></li>\\n</ol>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/6b11d41b6d13493dad109bc173a7508b_image.png\\" alt=\\"image.png\\" /></p>\\n<ol start=\\"3\\">\\n<li>设置权限(将其用户添到组中),并且设置权限的边界(如果不设置权限会提示此用户没有访问权限)。</li>\\n<li>要查看新访问密钥对,请选择 Show (显示)。关闭此页面后,您将无法再次访问该私有访问密钥。您的凭证与下面类似:</li>\\n</ol>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/c7059eedb0b34d9496f58aa096cb9fdc_image.png\\" alt=\\"image.png\\" /></p>\\n<ol start=\\"5\\">\\n<li>要下载密钥对,请选择 <strong>Download .csv file (下载 .csv 文件)</strong>。将密钥存储在安全位置。</li>\\n</ol>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/501273017e7a49d58791d45fa8f7926b_image.png\\" alt=\\"image.png\\" /></p>\\n<h5><a id=\\"12__Amazon_CLI_42\\"></a><strong>1.2 下载和配置 Amazon CLI</strong></h5>\\n<p>配置凭证的方式可以通过编程方式或通过 Amazon CLI(须配置凭证来为应用程序启用授权)<br />\\n下载和配置的文档链接如下:<a href=\\"https://aws.amazon.com/cn/cli/\\" target=\\"_blank\\">Amazon CLI</a></p>\\n<p>展示界面Windows的安装过程(命令比较少):</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/607aab5497754c9f859902c9f4b1d700_image.png\\" alt=\\"image.png\\" /></p>\\n<p>同理 linux 平台上的安装过程(其他平台同理):</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/2543e95dc32b4e82aa12e5f0d160280f_image.png\\" alt=\\"image.png\\" /></p>\\n<p>之后还需要配置凭证,通过<code>aws configure</code>(以下显示示例值)</p>\\n<pre><code class=\\"lang-\\">AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE\\nAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\\nDefault region name [None]: us-west-2\\nDefault output format [None]: json\\n</code></pre>\\n<p>截图如下:</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/ecf5f2a549204991b8ea78066926c70d_image.png\\" alt=\\"image.png\\" /></p>\\n<h4><a id=\\"2__68\\"></a><strong>2. 配置集群</strong></h4>\\n<h5><a id=\\"21__70\\"></a><strong>2.1 创建集群</strong></h5>\\n<p><strong>创建集群的方式有三种:</strong><br />\\n<strong>第一种:通过控制台</strong><br />\\n具体步骤如下,点击<strong>创建集群</strong></p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/42b927f2c74848ae9583af43db77dbbe_image.png\\" alt=\\"image.png\\" /></p>\\n<p>子网组、VPC 以及子网(如果启用了多可用区,子网组包含两个不同可用区以上的子网)</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/5c5721ebdd684258966c62900b6e2ee2_image.png\\" alt=\\"image.png\\" /></p>\\n<p><strong>设置集群</strong></p>\\n<ul>\\n<li>版本:兼容性选择默认值6.2</li>\\n<li>端口:默认值选择 Redis 的6379(如果端口冲突,可选择相应的端口号)</li>\\n<li>参数组:默认选择 default.memorydb-redis6</li>\\n<li>节点类型:选择适合节点类型的内存值</li>\\n<li>分片数量:该集群所需的分区数(为了提高集群可用性,建议选择2个分片以上)</li>\\n<li>副本数:为分片中选择需要的只读副本数(如果启用多可用区,每个分片1个副本以上)</li>\\n</ul>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/9d88ddc5fe1a4adeb37925f1040b5cc7_image.png\\" alt=\\"image.png\\" /></p>\\n<p>对于高级选项中的<strong>安全组</strong>(充当防火墙来控制对集群的网络访问)</p>\\n<ul>\\n<li>加密数据(静态加密:对磁盘上存储的数据加密;传输中加密:对传输的数据启用加密)</li>\\n</ul>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/ffe0d8d8848b483da06f429ecab10552_image.png\\" alt=\\"image.png\\" /></p>\\n<p>之后的快照、维护以及集群标签部分视个人情况而定</p>\\n<p><strong>第二种:通过 Amazon CLI</strong><br />\\nLinux 示例代码:<br />\\n<code>aws memorydb create-cluster \\\\</code><br />\\n<code>--cluster-name my-cluster \\\\</code><br />\\n<code>--node-type db.r6g.large \\\\</code><br />\\n<code>--acl-name my-acl \\\\</code><br />\\n<code>--subnet-group my-sg</code><br />\\nWindows示例代码:<br />\\n<code>aws memorydb create-cluster ^</code><br />\\n<code>--cluster-name my-cluster ^</code><br />\\n<code>--node-type db.r6g.large ^</code><br />\\n<code>--acl-name my-acl ^</code><br />\\n<code>--subnet-group my-sg</code><br />\\n成功创建之后会输出一串 json 格式</p>\\n<p><strong>第三种:通过 API</strong></p>\\n<p>以上三种更加详细的说明可看:<a href=\\"https://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/getting-started.createcluster.html\\" target=\\"_blank\\">创建集群文档</a></p>\\n<h5><a id=\\"22__118\\"></a><strong>2.2 授予集群访问权限</strong></h5>\\n<p>所有 MemoryDB 集群通过 Amazon EC2 实例进行访问(须授权 EC2 实例)<br />\\n同一 VPC 中 EC2 实例与集群之间的访问<br />\\n启动实例的具体步骤:<a href=\\"https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fec2%2Fv2%2Fhome%3Fstate%3DhashArgs%2523%26isauthcode%3Dtrue&amp;client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fec2&amp;forceMobileApp=0&amp;code_challenge=F3aNv1rcZg2m7cu2sslQRKhZ5R9trh7pYX3Fq01-YZw&amp;code_challenge_method=SHA-256\\" target=\\"_blank\\">Amazon EC2 控制台</a></p>\\n<ol>\\n<li>创建密钥对(启动的实例没有密钥对,就不能连接到该实例)</li>\\n</ol>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/431704a17bca4d0f919c2e2bc7651453_image.png\\" alt=\\"image.png\\" /></p>\\n<p>创建实例</p>\\n<ul>\\n<li>Name and tags:名称与标签</li>\\n<li>Application and OS Images (Amazon Machine Image):快速启动和 AMI 映像</li>\\n<li>实例类型:默认选择 t2.micro 实例类型(如果<code>t2.micro</code><br />\\n实例不可用的区域,可选择<code>t3.micro</code><br />\\n实例)</li>\\n<li>密钥对:选择一开始创建的密钥对</li>\\n<li>网络设置:选择现有的安全组或者创建新的安全组(此安全组可用于限制对集群的访问权限)</li>\\n</ul>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/6f61d1f876ec4b588e65d30529990a67_image.png\\" alt=\\"image.png\\" /></p>\\n<p>在集群的安全组中创建自定义规则(此安全组将允许访问其他安全组成员),编辑入站规则,选择添加规则<br />\\n从 <strong>Type</strong> 中选择 <strong>Custom TCP Rule</strong></p>\\n<ul>\\n<li>端口号:指定创建集群时的端口(此处为了方便测试,统一使用了广播地址0.0.0.0)</li>\\n<li>Source源:安全组的ID</li>\\n</ul>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/e21dacef27544a9fabf0e529a6808b9c_image.png\\" alt=\\"image.png\\" /></p>\\n<p>启用连接访问后,就可连接到集群</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/2de9d46e18dd45b09b2fdb2ed4f456f5_image.png\\" alt=\\"image.png\\" /></p>\\n<p>最后的展示页面如下:</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/ccf7592df7fe44939757b88227b5f48f_image.png\\" alt=\\"image.png\\" /></p>\\n<h5><a id=\\"23__152\\"></a><strong>2.3 连接到集群</strong></h5>\\n<p>确定集群的终端节点:(通过 describe-clusters 命令搜索集群终端节点)</p>\\n<pre><code class=\\"lang-\\">aws memorydb describe-clusters \\\\\\n --cluster-name mycluster\\n</code></pre>\\n<p>命令将返回集群的终端节点,通过 json 格式响应</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/bbb3b69c15f543c9bc570eac93dd6c29_image.png\\" alt=\\"image.png\\" /></p>\\n<p>使用 redis-cli 连接到 MemoryDB 节点<br />\\n下载并编译 redis-cli 实用工具:</p>\\n<pre><code class=\\"lang-\\">\$ sudo yum -y install openssl-devel gcc\n\$ wget http://download.redis.io/redis-stable.tar.gz\\n\$ tar xvzf redis-stable.tar.gz\n\$ cd redis-stable\\n\$ make distclean\n\$ make redis-cli BUILD_TLS=yes\\n\$ sudo install -m 755 src/redis-cli /usr/local/bin/\n</code></pre>\n<p>编译执行过程截图:<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/a43ae97676a048f6a09c0ce342d17299_image.png\\" alt=\\"image.png\\" /></p>\n<p>在EC2的实例中执行如下命令(集群和端口的终端节点替换此示例)<br />\\n通过<code>src/redis-cli -c -h Cluster Endpoint --tls -p 6379</code><br />\\n具体 Cluster Endpoint 的集群通过点击集群终端节点即可查看</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/ad636a118c6a4fb6ba6bb559544b4d63_image.png\\" alt=\\"image.png\\" /></p>\n<p>2.4 删除集群<br />\\n将其创建集群的名称删除即可<br />\\n单独删除一个集群:<code>aws memorydb delete-cluster --cluster-name my-cluster</code></p>\\n<p>删除多个集群:</p>\n<pre><code class=\\"lang-\\">aws memorydb delete-cluster \\\\\\n --cluster-name my-cluster \\\\\\n --region us-east-1\\n</code></pre>\\n<h4><a id=\\"_194\\"></a><strong>总结</strong></h4>\\n<p>纵观全文,通过阅读文档以及整套实验下来,行云流水,得益于文档以及功能都比较齐全,体验感很美妙。本身 MemoryDB 无需单独管理缓存和持久数据库,是一款非常高性能的数据库,基于 Redis 提供了持久化内存数据库服务,有其读取以及写入数据,达到低延迟和高吞吐量;能够友好使用 Redis 的数据结构、API 和命令快速构建应用程序</p>\n<p>通过以上的实验步骤,你已经可以入门学习了,更多的探索部分如果还想了解学习可通过:<a href=\\"https://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/what-is-memorydb-for-redis.html\\" target=\\"_blank\\">Amazon MemoryDB for Redis 官网文档</a></p>\\n<p>亚马逊云科技专为开发者们打造了多种学习平台:<br />\\n①<a href=\\"https://aws.amazon.com/cn/getting-started/?nc1=h_ls&amp;trk=32540c74-46f0-46dc-940d-621a1efeedd0&amp;sc_channel=el\\" target=\\"_blank\\">入门资源中心</a>:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。<br />\\n② <a href=\\"https://aws.amazon.com/cn/architecture/?intClick=dev-center-2021_main&amp;trk=3fa608de-d954-4355-a20a-324daa58bbeb&amp;sc_channel=el&amp;cards-all.sort-by=item.additionalFields.sortDate&amp;cards-all.sort-order=desc&amp;awsf.content-type=*all&amp;awsf.methodology=*all&amp;awsf.tech-category=*all&amp;awsf.industries=*all\\" target=\\"_blank\\">架构中心</a>:亚马逊云科技[架构中心](https://aws.amazon.com/cn/architecture/?trk=cndc-detail)提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。<br />\\n③<a href=\\"https://aws.amazon.com/cn/builders-library/?cards-body.sort-by=item.additionalFields.sortDate&amp;cards-body.sort-order=desc&amp;awsf.filter-content-category=*all&amp;awsf.filter-content-type=*all&amp;awsf.filter-content-level=*all&amp;trk=835e6894-d909-4691-aee1-3831428c04bd&amp;sc_channel=el\\" target=\\"_blank\\">构建者库</a>:了解亚马逊云科技如何构建和运营软件。<br />\\n④<a href=\\"https://aws.amazon.com/cn/developer/tools/\\" target=\\"_blank\\">工具包</a>:用于在亚马逊云科技平台上开发和管理应用程序。</p>\\n<p>除了代码文档齐全完善,为了让更多的人体验体会,特此推出【专属福利】<br />\\n福利一:<a href=\\"https://aws.amazon.com/cn/free/?nc2=h_ql_pr_ft&amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;all-free-tier.sort-order=asc&amp;awsf.Free%20Tier%20Types=*all&amp;awsf.Free%20Tier%20Categories=*all&amp;trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&amp;sc_channel=el\\" target=\\"_blank\\">100余种产品免费套餐</a>。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 首年12个月免费,5GB标准存储容量。<br />\\n福利二:<a href=\\"https://www.amazonaws.cn/campaign/?sc_channel=el&amp;sc_campaign=credit-acts-ldr&amp;sc_country=cn&amp;sc_geo=chna&amp;sc_category=mult&amp;sc_outcome=field&amp;trkCampaign=request-credit-glb-ldr&amp;trk=f45email&amp;trk=02faebcb-3f61-4bcb-b68e-c63f3ae33c99&amp;sc_channel=el\\" target=\\"_blank\\">最新优惠大礼包</a>:200\$ 数据与分析抵扣券,200\$ [机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)抵扣券,200$ 微服务与应用开发抵扣券。<br />\\n福利三:<a href=\\"https://aws.amazon.com/cn/quickstart/?solutions-all.sort-by=item.additionalFields.sortDate&amp;solutions-all.sort-order=desc&amp;awsf.filter-content-type=*all&amp;awsf.filter-tech-category=*all&amp;awsf.filter-industry=*all\\" target=\\"_blank\\">解决方案 CloudFormation 一键部署模版库</a></p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭