我在新加坡的2个可用区域中使用AWS负载平衡和多个Web服务器.
我现在希望在两个可用区域中部署弹性缓存节点,并想知道Web服务器访问不同可用区域的弹性缓存节点是否存在延迟问题?
更新 - 实际上经过更多调查后,似乎弹性缓存群集只能存在于一个可用区域中.因此,处理可用区域中断的最佳解决方案是什么?
有人可以一步一步地介绍如何连接到弹性疼痛。
我正在尝试从我的EC2实例内部(插入)连接到redis elasticache节点。每次都会出现“连接超时”错误,而且我无法弄清楚配置AWS设置的方式出了什么问题。
它们在不同的VPC中,但是在我的Elasticache VPC中,我在端口6379处有一个自定义TCP入站规则,可以从任何地方接受。两个VPC共享我建立的Active Peer连接。我还打算做什么?
编辑:
我正在尝试通过redis-cli命令进行连接。因为我的EC2实例托管一个节点服务器,所以我最初是尝试通过node-redis模块进行连接的。所以正式地,我的两次尝试是1.一个脚本化模块和2. 2. AWS文档中提供的redis-cli命令。
据我所知,我还根据此正确设置了路由表:http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#route-tables-vpc-peering
我需要为 ElastiCache 集群创建 CNAME 记录。但是,我构建了redis集群,并且只有一个节点。据我发现 redis 集群没有 ConfigurationEndpoint.Address 。是否有机会更改集群中节点的 DNS 名称以及如何更改?
目前模板看起来像:
"ElastiCahceDNSRecord" : {
"Type" : "AWS::Route53::RecordSetGroup",
"Properties" : {
"HostedZoneName" : "example.com.",
"Comment" : "Targered to ElastiCache",
"RecordSets" : [{
"Name" : "elche01.example.com.",
"Type" : "CNAME",
"TTL" : "300",
"ResourceRecords" : [
{
"Fn::GetAtt": [ "myelasticache", "ConfigurationEndpoint.Address" ]
}
]
}]
}
Run Code Online (Sandbox Code Playgroud)
}
amazon-web-services amazon-elasticache aws-cloudformation amazon-route53
我试图确定在ElastiCache Redis节点(cache.m3.medium)上看到一些高延迟的原因。我使用redis-cli延迟测试收集了一些数据,并从与ElastiCache节点相同的区域/可用性区域中的EC2实例运行该数据。
我看到平均而言,延迟相当不错(〜.5ms),但离群值却很高。我不认为异常值是由于网络延迟造成的,因为两个EC2实例之间的网络ping测试不会表现出如此高的峰值。
Redis节点没有任何负载,并且指标看起来还不错。
我的问题是:
。
user@my-ec2-instance:~/redis-3.2.8$ ./src/redis-cli -h redis-host --latency-history -i 1
min: 0, max: 12, avg: 0.45 (96 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.33 (96 samples) -- 1.00 seconds range
min: 0, max: 3, avg: 0.33 (96 samples) -- 1.01 seconds range
min: 0, max: 2, avg: 0.29 (96 samples) -- 1.01 seconds range
min: 0, max: 2, avg: 0.26 (96 samples) -- 1.01 seconds range
min: 0, …Run Code Online (Sandbox Code Playgroud) 我有一个 Elasticache 设置,其中有一个主设备和两个从设备。我仍然不确定如何传入主从 RedisURI 列表来构造StatefulRedisMasterSlaveConnectionfor LettuceConnectionFactory。我只看到对具有单个主机和端口的独立配置的支持。
LettuceClientConfiguration configuration = LettuceTestClientConfiguration.builder().readFrom(ReadFrom.SLAVE).build();
LettuceConnectionFactory factory = new LettuceConnectionFactory(SettingsUtils.standaloneConfiguration(),configuration);
Run Code Online (Sandbox Code Playgroud)
我知道有一个类似的问题Configuring Spring Data Redis with Lettuce for Redis master/slave
但我认为它不适用于 ElastiCache 主/从设置,因为目前上述代码将尝试用于MasterSlaveTopologyProvider发现从属 ip。但是,从属 IP 地址无法访问。那么配置 Spring Data Redis 使其兼容主/从 ElastiCache 的正确方法是什么?在我看来,LettuceConnectionFactory需要获取端点列表并使用StaticMasterSlaveTopologyProvider才能工作。
我已经在 AWS 中创建了一个 Redis Elasticache 集群,并希望使用 Python 脚本读取和写入数据到集群中,该脚本最终将成为一个 Lambda 函数。我读过连接到集群的典型方法是 EC2。我已经设置了一个 EC2 实例并使用 SSH 和密钥对成功连接到它。
我的问题是:
谢谢你的帮助
python amazon-ec2 amazon-web-services amazon-elasticache aws-lambda
我有一个用例,我在 Dynamo 数据库中的两个表(即事务中的 t1 和 t2)中写入数据。我的应用程序需要多次从这些表中读取数据(1 次写入,至少 4 次读取)。我正在考虑 DAX 与 Elastic Cache。有人有什么建议吗?提前致谢K
在 ElasticCache 中创建了一个 redis 实例,它将像往常一样用于存储和检索数据。
这个 redis 实例是否有最大内存,如何检查?
我所需要的只是举个例子,如果 redis 中的数据大小达到 100 mb 以上,那么它应该自动缩放,而我不必手动缩放它或创建一个新实例之类的东西。
并且当数据大小减少时(例如:由于流量减少而从 300mb 减少到 50mb),那么实例应该减少,这样就不会产生额外的成本。如何在 AWS ElastiCache 中进行配置?
我使用 Ubuntu,并在 Redis 中使用 Golang lambda 函数。已经压缩并上传了。但我还需要进一步开发它。
每次我进行更改并想要查看 CloudWatch 中的日志时...似乎我需要一遍又一遍地执行这些步骤。
代码 -> 构建 main.go -> 压缩 -> 上传 -> 触发函数 -> 查看日志
无效。
有没有办法简化步骤?
可以通过CLI上传吗?
谢谢你!
我最近在 AWS elasticache 上创建了一个 Redis 集群,但在通过本地计算机上的 redis-cli 连接时遇到问题。每次我运行命令时:
redis-cli -h <redis_cluster_domain> -p 6379
Run Code Online (Sandbox Code Playgroud)
连接从未建立并最终因超时而退出。
最终,我发现它是由于安全组上的设置而被阻止的,因此我编辑了入站规则以允许来自我的 IP 地址的所有流量。即使执行此操作后,我仍然无法连接到集群。有什么想法可能是为什么吗?
amazon-web-services amazon-elasticache amazon-vpc redis-cli aws-security-group
redis ×5
amazon-ec2 ×2
aws-lambda ×2
amazon-vpc ×1
go ×1
java ×1
latency ×1
lettuce ×1
python ×1
redis-cli ×1