问题描述
我想设置一个Google Cloud memorystore redis实例并通过我的google cloud函数连接到它。遵循本指南https://thecloudfunction.com/blog/firebase-cloud-functions-and-redis/
之后据我了解,一般步骤如下:
问题是,如果我先创建连接器(步骤1),然后在尝试创建Redis实例(步骤2)时出现此错误:
Server response: Invalid value for field 'resource.ipCidrRange': '10.92.0.0/28'. Invalid IPCidrRange: 10.92.0.0/28 conflicts with peer network in active peering 'redis-peer-863826821838'.
如果我尝试跳过这些步骤,请先创建redis实例(步骤#2),然后创建连接器(步骤#1),然后在尝试创建连接器时遇到此错误:
connector is in a bad state manual deletion recommended
我认为这是一个问题,因为第一个错误会导致一些IP范围冲突,但是查看VPC连接,我在任何地方都看不到冲突:
据我所知,这些都不应该与我的10.92.0.0/28
的IP范围冲突,对吗?
所有这些都在us-central1
上发生
想知道是否有人知道如何正确设置Redis实例+连接器并克服这些错误,或者是否有人对在哪里寻找此IP范围冲突以及如何解决它有任何建议。
谢谢!
解决方法
好吧,终于使它生效了。对于其他在此问题上苦苦挣扎的人,这是我必须要做的:
- 创建一个redis实例,而不是手动输入
Instance IP address range
。跳过该字段并创建一个字段。这将生成一个Redis实例,该实例与任何其他远程实例均不冲突。例如10.51.123.233
- 现在创建连接器并将其设置为创建的redis实例的ip范围。例如,如果您的redis实例生成的IP为
10.51.123.233
,则需要将连接IP范围设置为10.51.0.0/28