1.1 AWS系列产品
Amazon ElastiCache 是一种 Web 服务,让用户能够在云中轻松部署和运行与 Memcached 或 Redis 协议兼容的服务器节点。Amazon ElastiCache 支持您从速度快的托管型内存系统检索信息,而不是完全依赖于速度较慢、基于磁盘的数据库,从而提高了 Web 应用程序的性能。本服务可简化并减少内存环境的管理、监控和运营任务,让您的工程资源专注于应用程序开发。借助 Amazon ElastiCache,您不仅能够改善用户操作和查询的加载与响应时间,还可降低扩展 Web 应用程序所需的费用。
亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。
点击下方链接即可免费体验6种AWS云原生数据库产品:
1.2 选择Amazon ElastiCache
如图所示有6种免费体验AWS云原生数据库产品和套餐,我们可以按需要选择点击其中一个去体验使用。
体验前先做一些准备工作,点击第二个菜单“技术文档中心”
1.3 创建AWS账户
虽然AWS提供了一系列免费体验产品和套餐,但是想要使用这些产品,用户必须注册AWS账号
输入邮箱地址和账户名称,官方会发一封验证码邮件到你的个人邮箱
输入验证码
验证通过之后,设置密码
选择地区和输入姓名等信息
注册最后一步,需要用个人的VISA/MASTERCARD等外币信用卡验证,可能会扣你1美元用于验证。
信息输入之后,恭喜你注册成功!注册成功之后可以先查阅下以下两教程:数据库免费试用链接及上手教程:上手试用
另外AWS经常会举办一些在线学习会议:云原生数据库在线大会:云原生数据库在线大会
在您可以以编程方式或通过 AWS Command Line Interface (AWS CLI) 访问 ElastiCache 之前,您必须具有 AWS 访问密钥。
登录 AWS 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。
在导航窗格中选择Users
3.设置权限
4.选择要为其创建访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。
5.在 Access keys(访问密钥)部分,选择 Create access key(创建访问密钥)。
创建好秘钥之后,注意要下载和保存好秘钥
6.下载和配置AWS CLI
- 下载并运行适用于 Windows(64 位)的 AWS CLI MSI 安装程序:
-
- https://awscli.amazonaws.com/AWSCLIV2.msi
或者,您可以运行 msiexec
命令来运行 MSI 安装程序。
D:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
要确认安装,请打开 Start(开始)菜单,搜索 cmd
以打开命令提示符窗口,然后在命令提示符处使用 aws --version
命令。
- D:\> aws --version
- aws-cli/2.4.5 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
看到如下图所示即表明已下载安装成功
本示例是用Redis来搭载Amazon ElastiCache构建云缓存服务,运行以下命令进行安装
$ sudo yum install gcc
下载并编译 Redis 客户端:
- $ curl -O http://download.redis.io/redis-stable.tar.gz
- $ tar xvzf redis-stable.tar.gz
- $ cd redis-stable
- $ make distclean # Ubuntu systems only
- $ make
选择“Redis”作为“集群引擎”。
确认“集群模式已启用”
配置Redis名称
将“节点类型”更改为 cache.t2.micro。对于本教程来说,此节点类型没有问题,但是对于生产集群而言,节点的大小应该取决于您的工作负载,您应该从 m5 或 r5 实例系列开始。
在“分区数量”中,选择 3。这表示数据将分区到三个不同的主节点中。
在“每个分区的副本数量”中,选择 2。这表示每个主节点将拥有两个副本。如果发生故障,将触发自动故障转移,其中一个副本将接管主节点的角色。
选择子网组
选中“具有自动故障转移功能的多可用区”对应的框
为 Redis 集群选择安全组
配置备份
维护设置
点击
也使用 Amazon CL,下面的命令将会一次性创建整个 Redis 集群:
- $ aws elasticache create-replication-group \
- --replication-group-id elc-tutorial \
- --replication-group-description "Tutorial example" \
- --num-node-groups 3 \
- --cache-node-type cache.t2.micro \
- --cache-parameter-group default.redis5.0.cluster.on \
- --engine redis \
- --engine-version 5.0.3 \
- --cache-subnet-group-name sn-value \
- --security-group-ids sg-value \
- --node-group-configuration \
- "ReplicaCount=2,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1b','us-east-1c',Slots=0-5460" \
- "ReplicaCount=2,PrimaryAvailabilityZone='us-east-1b',ReplicaAvailabilityZones='us-east-1c','us-east-1a',Slots=5461-10921" \
- "ReplicaCount=2,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1a','us-east-1b',Slots=10922-16383"
对于 --security-group-ids 的参数,您需要将 sg-value 替换为您想要使用的安全组的 ID。
而对于 --cache-subnet-group-name 的参数,请将 sn-value 替换为子网组的名称。如果需要创建子网组,请使用以下命令:
- $ aws elasticache create-cache-subnet-group \
- --cache-subnet-group-name elc-tutorial-subnet \
- --cache-subnet-group-description "Tutorial Subnet Group" \
- --subnet-ids sn-ids
sn-ids 的值必须是子网 ID 列表。
如果您倾向于使用 Amazon API,下面的请求可创建 Redis 集群:
- https://elasticache.us-east-1.amazonaws.com/
- ?Action=CreateReplicationGroup
- &CacheParameterGroup=default.redis5.0.cluster.on
- &Engine=redis
- &EngineVersion=5.0.3
- &ReplicationGroupDescription=Tutorial%20example
- &ReplicationGroupId=elc-tutorial
- &NumNodeGroups=3
- &PrimaryClusterId=elc-primary
- &ReplicasPerNodeGroup=2
- &Version=<version>
- &SignatureVersion=4
- &SignatureMethod=HmacSHA256
- &Timestamp=<timestamp>
- &X-Amz-Credential=<credential>
需要提供 Version、Timestamp 和 X-Amz-Credential 的值。
复制配置终端节点
$ ./src/redis-cli -c -h endpoint
- endpoint:6379> PING
- PONG
集群模式的一种功能是如果一个节点发生故障,集群可以自我修复。为了测试这一功能,您可以手动触发故障转移,这样将发生以下事件:系统将选择只读副本来接管主节点的角色,在系统执行故障转移后,您就能够连接到新的主节点。同时,系统会自动添加新的只读副本,以便集群仍拥有一个主节点和两个副本。
检查终端节点的角色
- endpoint:6379> ROLE
- 1) "master"
- ...
找到主节点后:选择任意节点,单击“操作”并选择“故障转移主节点”。阅读消息,了解当前正在发生的事件,然后单击“继续”。其中一个副本成为新的主节点后,系统将会恢复每个主节点的副本数量。您可以运行 CLUSTER NODES 命令验证正在发生的事件。
已创建启用了集群模式的 Redis 集群。节点分散在各个可用区中,并配置有自动故障转移功能。您还学习了关于 Redis 集群部署的最佳实践。
亚马逊云科技专为开发者们打造了多种学习平台:
①入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。AWS入门_AWS入门使用教程_AWS云计算资源-AWS云服务
② 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。AWS架构中心部署说明_AWS云架构白皮书-AWS云服务
③构建者库:了解亚马逊云科技如何构建和运营软件。Amazon Builders' Library
④用于在亚马逊云科技平台上开发和管理应用程序的工具包:aws工具下载_aws开发工具_资源下载-AWS云服务
【专属福利】
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
福利二:最新优惠大礼包,200$数据与分析抵扣券,200$机器学习抵扣券,200$微服务与应用开发抵扣券。最新优惠活动_云服务器促销 - 亚马逊云科技
福利三:解决方案CloudFormation一键部署模版库