Python Redis:无法从本地机器或服务器连接到AWS Redis集群



我有以下脚本

import redis
client = redis.Redis.from_url('redis://xxx.amazonaws.com:6379')
client.ping()

当我在一次性EC2 instamce 上运行它时,这是有效的

然而,当我在本地或本地服务器上运行它时,我会得到

redis.exceptions.ConnectionError: Error 11 connecting to xxx.amazonaws.com:6379. Resource temporarily unavailable.

这与专有网络有关吗?如果是,该怎么办?

感谢

Elasticache Redis是一个仅限VPC的服务。例如,您只能从专有网络中的资源(如EC2实例或Lambda函数(连接到它。如果你想从外部连接,你首先需要一些东西来获得VPC访问权限,比如AWS VPN或Transit Gateway。

我认为这个链接讨论了它-从AWS外部访问ElastiCache资源-https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/accessing-elasticache.html#access-来自外部aws

如果您可能不知道,要添加更多上下文,VPC-虚拟私有云;基本上是所有云资源的氛围。您选择合作的每个地区都将有一个默认的VPC。这些默认VPC具有与它们相关联的特定IP地址块。当你在专有网络中创建资源时,其中一个IP地址将与你的一个资源相关联。

Subents-这些是VPC的分区。默认情况下,VPC内的所有子网都位于该地区AWS数据中心的不同可用区。例如;北弗吉尼亚州有6个AZ,这意味着它有6个不同的位置,你的资源可以存在。在默认的VPC中,每个子网代表其中一个位置。当你在默认VPC中选择一个子网时,你基本上就是在选择你的AZ。注意-在定制的VPC中,您可以在同一个AZ中拥有子网。这完全取决于您的设计方式。

如果你是这一切的新手,你可能想考虑浏览AWS文档-https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html

它们可以非常全面。拿点爆米花来。:(

干杯。

最新更新