标签: amazon-elasticache

是否有人使用Hlasticnate将Elasticache用作其二级缓存?

我发现一些线程说这是可行的,但没有找到具体的说明或配置信息.

我也想从Beanstalk这样做:应用程序应该使用一个将hibernate指向elasticache实例的配置部署到beanstalk.

java hibernate amazon-ec2 amazon-elasticache

6
推荐指数
1
解决办法
3003
查看次数

将ElastiCache与RDS配合使用可提高读/写性能

我在amazon上使用RDS与MySQL接口.我的应用程序在EC2节点上运行并读取/更新数据库,但读取和写入的数量太多,从而降低了性能.大多数情况下,连接数超过允许的限制.我正在考虑使用Elasticache来提高性能,但是我没有在web上找到资源,如何配置数据库以有效地使用它.这是提高读/写性能的最佳方法吗?有什么建议?

mysql performance amazon-ec2 amazon-elasticache

6
推荐指数
1
解决办法
8293
查看次数

为什么我应该在AWS上使用简单队列服务(SQS)而不是ElastiCache

SQS看起来很容易使用,但有一些消息大小限制,例如256 KB的消息大小(真的,非常小).另一方面,ElasticCache似乎更高端?我不确定这些假设是否正确 - 请纠正我.

我正在使用一种或另一种类型的消息传递(和/或缓存)系统在AWS使用上部署应用程序.在什么情况下我会选择一个而不是另一个?

amazon-sqs amazon-web-services amazon-elasticache

6
推荐指数
1
解决办法
5159
查看次数

redis 2.8(elasticache)cache.r3.large中的高cpu

在ElasticCache中寻找帮助我们正在使用ElasticCache Redis来运行基于Resque的Qing系统.这意味着它是排序集和列表的混合.在正常操作中,一切正常,我们看到了良好的响应时间和吞吐量.CPU级别约为7-10%,Get + Set命令约为120-140K操作.(所有指标都是基于云计算的.)但是 - 当系统遇到(轻微)数据突发时,将几条K消息排入队列,我们​​发现服务器几乎没有响应.CPU稳定@ 100%利用率(度量标准为50,但它使用单核)运行次数减少到~10K响应时间对于每个请求的SECONDS来说很慢我们可以预期,即使CPU加载到在这种程度上,吞吐量水平将保持不变,这是我们在本地运行Redis时遇到的情况.redis可以利用CPU,但吞吐量仍然很高.因为它本身是单核的,所以不会出现上下文切换.AFAWK - 我们不强加任何限制,或持久性,不复制.使用基本配置.

size:cache.r3.large我们也不使用定期快照

amazon-web-services redis amazon-elasticache

6
推荐指数
1
解决办法
567
查看次数

AWS Lambda上具有Circuit Breaker的代理API

我正在构建一个API,它将充当n个底层API的代理,而所有这些API都做同样的事情。它将使用断路器模式来确定基本API之一何时不可用,因此代理API将具有状态。一种解决方案是在AWS lambda上运行API,并将断路器状态存储在AWS ElastiCache中。

是否有另一个更具成本效益的解决方案,不需要我运行像ElasticCache这样的“始终在线”服务?

amazon-web-services circuit-breaker amazon-elasticache aws-lambda

6
推荐指数
1
解决办法
1210
查看次数

使用无服务器框架通过VPC设置NAT网关

我正在尝试使用无服务器框架来创建Lambda函数,该函数可以访问Elasticache集群以及调出Internet。

我已经进行了配置,serverless.yml以创建Lambda函数,创建Elasticache集群(内存缓存引擎),最后创建VPC,并将Lambda函数和Elasticache集群都放置在其中(否则,它们将无法通信)。

我了解VPC内的事物无法访问Internet,通过围绕该主题进行研究,我得出的结论是,处理此问题的最佳实践方法是为VPC创建一个NAT网关,从而允许其在外部进行访问。访问。

我可以看到如何在AWS控制台中执行此操作,但是我想坚持在其中进行定义,serverless.yml以避免任何手动的基础架构设置。

  • 是否可以在其中创建NAT网关serverless.yml
  • 创建NAT网关是这样做的正确方法吗?(有更好的选择吗?)

附加信息

为了达到目前的目的,我大量复制了一个无服务器示例(这是一个基于Java的示例,但是概念和服务定义是相同的)。它创建一个Lambda函数,一个Elasticache集群,并将它们放入VPC中,以便它们可以进行通信。我认为Lambda函数无法访问互联网存在相同的问题。https://github.com/mugglmenzel/serverless-examples-cached-rds-ws/blob/master/serverless.yml

amazon-web-services node.js amazon-elasticache amazon-vpc serverless-framework

6
推荐指数
2
解决办法
1724
查看次数

是否可以在AWS ElastiCache群集中停止节点

我有一个用于开发的AWS账户.由于开发人员处于一个时区,我们会在数小时后关闭资源以节省使用量.

是否可以临时关闭弹性缓存集群中的节点?我在cli中找到的所有内容都是'删除集群':http: //docs.aws.amazon.com/cli/latest/reference/elasticache/index.html

amazon-web-services amazon-elasticache

6
推荐指数
2
解决办法
3298
查看次数

使用 aws_elasticache_replication_group 获取 Terraform 的终端节点

我有一个我认为是带有 Redis 的 AWS ElastiCache 的简单 Terraform 配置:

resource "aws_elasticache_replication_group" "my_replication_group" {
  replication_group_id          = "my-rep-group",
  replication_group_description = "eln00b"

  node_type                     = "cache.m4.large"
  port                          = 6379
  parameter_group_name          = "default.redis5.0.cluster.on"

  snapshot_retention_limit      = 1
  snapshot_window               = "00:00-05:00"

  subnet_group_name             = "${aws_elasticache_subnet_group.my_subnet_group.name}"

  automatic_failover_enabled    = true

  cluster_mode {
    num_node_groups             = 1
    replicas_per_node_group     = 1
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法定义端点输出:

output "my_cache" {
  value = "${aws_elasticache_replication_group.my_replication_group.primary_endpoint_address}"
}
Run Code Online (Sandbox Code Playgroud)

当我通过 terragrunt 运行 apply 时,我得到:

错误:运行计划出错:发生 1 个错误:

module.mod.output.my_cache:资源“aws_elasticache_replication_group.my_replication_group”没有变量“aws_elasticache_replication_group.my_replication_group.primary_endpoint_address”的属性“primary_endpoint_address”

我在这里做错了什么?

amazon-web-services amazon-elasticache terraform redis-cluster

6
推荐指数
1
解决办法
6066
查看次数

自定义域和 ElastiCache Redis SSL 问题

我刚刚创建了一个支持 SSL 的 EC Redis 复制组。

这是主要终点:master.dev-my-site.wmrsll.use1.cache.amazonaws.com:6379

dev-my-site.mydomain.com我还创建了一个 CNAME:master.dev-my-site.wmrsll.use1.cache.amazonaws.com

在我的机器上,我可以通过 cli 连接到 redis:

redis-cli -h dev-my-site.mydomain.com -p 6379 --tls
Run Code Online (Sandbox Code Playgroud)

但是当我使用Lambda时,我可以连接master.dev-my-site.wmrsll.use1.cache.amazonaws.com 但不能连接 CNAME:dev-my-site.mydomain.com

当我尝试使用 CNAME 时,收到以下错误:

2021-08-26T19:15:27.442Z    5801f8d4-08ae-4bd0-8091-e856d95d008c    ERROR   Uncaught Exception  {"errorType":"Error","errorMessage":"Redis connection to dev-my-site.mydomain.com:6379 failed - Hostname/IP does not match certificate's altnames: Host: dev-my-site.mydomain.com. is not in the cert's altnames: DNS:*.dev-ec-my-site.wmrsll.use1.cache.amazonaws.com","trace":["Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: dev-my-site. is not in the cert's altnames: DNS:*.dev-ec-my-site.wmrsll.use1.cache.amazonaws.com","    at Object.checkServerIdentity (tls.js:297:12)","    at TLSSocket.onConnectSecure …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services redis amazon-elasticache aws-lambda

6
推荐指数
0
解决办法
2187
查看次数

无法复制 Elasticache 备份

我已逐步按照这些说明进行操作:https ://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html

但是我有以下错误:

An error occurred (InvalidParameterValue) when calling the CopySnapshot operation: Elasticache was unable to validate the authenticated user has access on the S3 bucket ...
Run Code Online (Sandbox Code Playgroud)

该存储桶与备份位于同一区域

这是我的存储桶配置:

{
    "LocationConstraint": "eu-central-1"
}

Run Code Online (Sandbox Code Playgroud)
{
    "Version": "2012-10-17",
    "Id": "xxxxxxxx",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "eu-central-1.elasticache-snapshot.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketAcl",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket-name/*",
                "arn:aws:s3:::my-bucket-name"
            ]
        }
    ]
}

Run Code Online (Sandbox Code Playgroud)

这是快照

{
    "Snapshots": [
        {
            "SnapshotName": "my-snapshot-name",
            "CacheClusterId": "xxxxxxxx-xxx",
            "SnapshotStatus": "available",
            "SnapshotSource": "manual",
            "CacheNodeType": …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-elasticache

6
推荐指数
1
解决办法
4291
查看次数