问题标签 [aws-elasticache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
52 浏览

redis - 如何在 apollo v3 中实现 redis 缓存?. 需要使用 npm 包 apollo-server-cache-redis 的完整示例实现

文档仅提供如下配置。但我需要如何从配置的 redis设置获取值?

;

0 投票
0 回答
17 浏览

redis - ElastiCache Redis 横向扩展错误 - 并非所有插槽都被覆盖

当将 AWS 中的 ElastiCache 从 3 个分片扩展到 12 个时,我的服务开始抛出 500 个错误,并且与客户端的连接丢失。检查日志时,我看到以下错误:

https://paste-bin.xyz/14386(整个堆栈跟踪太大而无法发布)

从上面的修剪日志看来,客户端无法跟上的连接请求太多。但我不确定我在这里是否正确。

我将分片数从 12 减少到 7,并且在日志中没有看到上述错误。但是,当有 3 个分片时,会有更多的缓存未命中。分片配置与 1 个主节点和 3 个工作节点相同。我的机器最多可以处理 65535 个文件描述符,我认为这对于 12 个分片来说已经足够了。任何指向正在发生的事情的指针都非常感谢!

0 投票
2 回答
41 浏览

amazon-web-services - “链接” AWS 安全组是什么意思?

在我对 AWS 的研究中,我多次看到对“链接”安全组的引用。我不明白这在实践中意味着什么。我目前的理解是,在安全组中定义规则时,它们是根据端口和 CIDR 范围定义的,与另一个组没有链接。所以,我的问题是,这种语言指的是什么?我在下面的 Elasticache 常见问题解答中有一段使用这种语言的片段:

“要允许网络访问您的集群,请创建一个安全组并将所需的 EC2 安全组(反过来指定允许的 EC2 实例)链接到它。”

0 投票
0 回答
59 浏览

node.js - ElasticCache redis实例抛出大量ECONNRESET和ETIMEDOUT erroes

我在 ElasticCache 上使用ioredis作为适配器我有 2 个节点,一个主节点和一个副本,

有了这个配置

  • 数据分层:禁用
  • 引擎版本兼容性:5.0.6
  • 多可用区:启用
  • 自动故障转移:启用

在此处输入图像描述

在上个月,我们开始遇到很多 ECONNRESET 和 ETIMEDOUT 错误,通常是随着新实例的扩展而出现的,其中一些连接了这些错误,而另一些则因这些错误而下降

这是我们的包装代码

  1. 有人遇到过这个问题吗?
  2. 错误处理的最佳实践是什么,在这种情况下,我应该在 [ECONNRESET,ETIMEDOUT] 错误状态代码返回时调用断开连接吗?
0 投票
0 回答
78 浏览

node.js - 如何使用 aws-sdk NodeJS 将键值对插入 AWS Elasticache (Redis)

我正在尝试使用 npm 包将键值对插入到 Elasticache Redis 中@aws-sdk/client-elasticache

此实现的目的是存储带有 ID 的令牌。

这应该是一个 lambda 函数,所以我添加了一个层来使用这个 SDK,代码实现是这样的:

当我 console.logclient实例时,我看到:

我无法将KVP插入redis,我在这里做错了什么?

PS client.send(params)抛出错误说send不是函数。

0 投票
1 回答
81 浏览

amazon-ec2 - 扩展 AWS 预留实例(EC2、Elasticache、Aurora)

要求: 我有 1 个m5.xlargeEC2 实例。m5.2xlarge有时我会在短时间内放大到,然后缩小到m5.xlarge. 我不会水平扩展,所以不能使用超过 1 个实例。
在 6 个月内,我的流量可能会增加很多,因此我可能不得不m5.2xlargem5.4xlarge.
我也有 1 cache.r5.large(Redis Elasticache) 和 1 db.r5.large(aurora),具有与上述相同的约束。

问题: 让我们从 EC2 实例开始。
我想节省成本并评估标准 RI,包括以下可能性:

  1. 不时扩大/缩小规模m5.xlarge/m5.2xlarge
  2. 可能会m5.2xlarge作为基础

假设我保留 1 m5.xlarge。关于

  1. 我可以暂时放大到m5.2xlarge. 我将节省 50%。剩下的 50% 我将支付按需费用。说得通。关于
  2. 我需要将我的 RI 预留修改为,m5.2xlarge但我想我不能,因为我阅读了: https ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html#ri-modification-instancemove

原始预留实例和新预留实例必须具有相同的实例大小占用空间。

m5.2xlarge并且m5.xlarge有不同的足迹,所以我不能这样做。
有替代方案吗?
例如,我可能明白我需要再买一个m5.xlarge,所以我有 2 个m5.xlarge,这将 100% 用于我的m5.2xlarge?
唯一的潜在问题是到期日期,这 2 个 RI 将有 2 个不同的到期日期。
为了解决这个问题,我可以选择合并 2 个 RI,对吗?所以我会将我的 2 个m5.xlargeRI 合并为 1 个m5.2xlarge(到期日期当然是最长的)?

希望我确实理解正确。在继续之前,我想与您再次确认。

现在关于 RDShttps ://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithReservedDBInstances.html 1) 和 2) 似乎相同

关于 Elasticache,文档很简单:https://aws.amazon.com/elasticache/reserved-cache-nodes/ 我理解 1)是相同的,但不知道 2)因为他们没有提到扩大 RI

0 投票
1 回答
57 浏览

amazon-cloudformation - 通过 CDK 创建 ElastiCache ParameterGroup 时如何设置(或获取)名称?

当通过 AWS 控制台创建参数组时,有一个名称字段,并且CreateCacheParameterGroupAPI 操作有一个CacheParameterGroupName参数。

但是,似乎没有办法使用CloudFormation/CDK设置名称。

在不设置名称的情况下,将使用生成的名称创建参数组。但似乎也没有办法获得这个名字。那么,当两者都部署在同一个堆栈中时,如何ReplicationGroup引用呢?ParameterGroup

0 投票
0 回答
28 浏览

typescript - 如何从 aws cdk 中的 CfnReplicationGroup 获取 PrimaryClusterId

我使用 cdk 创建了全局数据存储(Test-Replication-group),它有 1 个主节点,第二个是副本节点 Test-Replication-group-001 Test-Replication-group-002

那么如何使用 cdk(typescript) 访问这 2 个节点

0 投票
2 回答
62 浏览

amazon-web-services - 我们可以将 DynamoDb 和 VPC 都用于 aws lambda 吗?

我正在研究一个 AWS lambda,我想在其中使用 DynamoDB 和 VPC(用于 redis 的 Amazon elasticcache)。但是我在触发 lambda 时遇到超时错误

0 投票
1 回答
59 浏览

amazon-web-services - 基于默认组在 AWS Elasticache 中创建自定义参数组

我正在尝试在 AWS Elasticache 中创建自定义参数组。

我想使用默认参数组作为基础(名为 default.redis5.0.cluster.on 的组,因为我需要其他所有东西,但我只想更改一个属性),请参阅https:// docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html有关默认参数组的更多详细信息

我的基本假设是我需要将默认参数组值复制到 Terraform 资源,然后只修改我需要更改的唯一参数。但是,这会产生大量参数列表,并且似乎不是最简单的方法。

如果我需要在default.redis5.0.cluster.on参数组中复制参数,那么我需要在 Terraform 中有这些参数。有没有办法将默认资源组导入为 Terraform 配置?