GCP SQL 个具有自动缩放 GKE 节点的实例连接
GCP SQL instances connectios with autoscale GKE nodes
我有一个包含多个 SQL 实例的 GCP 项目,以及两个具有自动缩放功能的 GKE 集群。我已经在连接选项卡中使用 GKE 节点的 public ip 配置了 SQL 实例,以允许通过 public IP 进行连接。我的疑问是,当我的集群自动扩展时,如果我不添加新的 public ip 节点,它里面的 pod 不会连接。有没有办法在创建时自动添加节点的public ip?
谢谢
感谢您最后的评论,我了解您的问题!所以,这是错误的方式,原因有两个:
- 它不是自动的并且很难处理
- 你的节点的 IP 是临时的,如果你将它列入白名单,然后你将 IP 释放到 Google 云 IP 池,另一个用户(坏人?)需要 public IP 可以重复使用相同的 IP 并访问您的数据库!
所以,您有 2 个解决方案:
- 首先,您可以使用私有IP。这样你就不用担心添加授权IP了。如果 IP 在正确的 VPC 中,路由是自动的(如果不是这样,请查看防火墙规则)。
- 另一种解决方案是使用带 Cloud SQL Auth proxy loaded in it (or load it in your container, but, for a better separation of concern, I prefer the sidecar). This sidecar will establish a secure communication channel with your database and either open a linux socket or open a TCP port for your application. You have a full example here
的边车容器
第二种情况,只需要一个publicIP,不需要授权网络。 Cloud IAM 服务检查访问权限并允许打开安全隧道。使用此解决方案,它是可扩展的,并且更安全:您不需要数据库上的 SSL 证书来加密流量,默认情况下使用 Clous SQL 身份验证代理完成。
我有一个包含多个 SQL 实例的 GCP 项目,以及两个具有自动缩放功能的 GKE 集群。我已经在连接选项卡中使用 GKE 节点的 public ip 配置了 SQL 实例,以允许通过 public IP 进行连接。我的疑问是,当我的集群自动扩展时,如果我不添加新的 public ip 节点,它里面的 pod 不会连接。有没有办法在创建时自动添加节点的public ip?
谢谢
感谢您最后的评论,我了解您的问题!所以,这是错误的方式,原因有两个:
- 它不是自动的并且很难处理
- 你的节点的 IP 是临时的,如果你将它列入白名单,然后你将 IP 释放到 Google 云 IP 池,另一个用户(坏人?)需要 public IP 可以重复使用相同的 IP 并访问您的数据库!
所以,您有 2 个解决方案:
- 首先,您可以使用私有IP。这样你就不用担心添加授权IP了。如果 IP 在正确的 VPC 中,路由是自动的(如果不是这样,请查看防火墙规则)。
- 另一种解决方案是使用带 Cloud SQL Auth proxy loaded in it (or load it in your container, but, for a better separation of concern, I prefer the sidecar). This sidecar will establish a secure communication channel with your database and either open a linux socket or open a TCP port for your application. You have a full example here 的边车容器
第二种情况,只需要一个publicIP,不需要授权网络。 Cloud IAM 服务检查访问权限并允许打开安全隧道。使用此解决方案,它是可扩展的,并且更安全:您不需要数据库上的 SSL 证书来加密流量,默认情况下使用 Clous SQL 身份验证代理完成。