我正在尝试使用 Boto3 从 python lambda 函数的 ElastiCache (memcached) 中设置和获取密钥。我可以弄清楚如何获取端点,但仅此而已。是否有一些文档可以显示整个过程?
听起来您正在尝试通过 Boto3 与 Memcached 进行交互。这是不可能的。Boto3 用于与 AWS API 进行交互。您可以通过 AWS API 管理 ElastiCache 服务器,但无法与这些服务器上运行的 Memcached 软件进行交互。您需要在 Python 代码中使用 Memcached 客户端库(如 python-memcached),以便在 Memcached 集群中实际获取和设置密钥。
此外,您的 Lambda 函数需要与 ElastiCache 节点位于同一 VPC 中。
我在旧帖子的推荐中列出了确切的超时问题。我的错误在内存缓存的安全组中。这是地形形式的工作版本:
resource "aws_security_group" "memcached" {
vpc_id = "${aws_vpc.dev.id}"
name = "memcached SG"
ingress {
from_port = "${var.memcached_port}"
to_port = "${var.memcached_port}"
protocol = "tcp"
cidr_blocks = ["${var.public_subnet_cidr}"]
}
egress {
from_port = "${var.memcached_port}"
to_port = "${var.memcached_port}"
protocol = "tcp"
cidr_blocks = ["${var.public_subnet_cidr}"]
}
tags = {
Name = "memcached SG"
}
}
我通过在公有子网中创建 EC2 实例并执行"telnet(输入您的缓存节点 URL)11211"来测试连接。