我有以下脚本
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
它们可以非常全面。拿点爆米花来。:(
干杯。