我正在尝试使用Boto3从python lambda函数设置并从ElastiCache(memcached)获取密钥。我可以弄清楚如何获得端点,但这几乎就是它。是否有一些文档显示整个过程?
答案 0 :(得分:0)
听起来你正试图通过Boto3与Memcached进行交互。这是不可能的。 Boto3用于与AWS API交互。您可以通过AWS API管理ElastiCache服务器,但无法与在这些服务器上运行的Memcached软件进行交互。您需要在Python代码中使用Memcached客户端库(如python-memcached)来实际获取和设置Memcached群集中的密钥。
此外,您的Lambda函数需要与ElastiCache节点驻留在同一个VPC中。
答案 1 :(得分:0)
我在旧帖子的评论中列出了确切的超时问题。我的错误在memcached的安全组中。这是terraform的工作版本:
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”。