google-app-engine - Google Kubernetes Engine 服务无法连接到 Snowflake
问题描述
我在 Google Cloud Platform 上为 GKE 部署了一项服务,但不幸的是,Snowflake 阻止了 IP 地址。我认为 Snowflake 仅启用与已列入白名单的 IP 地址的连接,因此我尝试在适当的网络中创建一个集群。但是当我公开服务时,我仍然遇到错误。
我还在适当的网络中创建了一个 App Engine 实例,但它仍然不允许我连接到 Snowflake。
错误信息:
DatabaseError: (snowflake.connector.errors.DatabaseError) 250001 (08001): None: Failed to connect to DB: IP [XXXXXXX] is not allowed to access Snowflake. Contact your local security administrator.\n(Background on this error at: http://sqlalche.me/e/4xp6)\nINFO:snowflake.con! nector.connection:closed\nINFO:snowflake.connector.connection:closed\n
解决方案
您的雪花应用程序仅接受来自白名单 IP 的请求,这意味着您需要有一个特定的 IP 或一组调用雪花的特定 IP。默认情况下,GKE 不会这样做。
当来自您的一个 pod 的请求尝试到达集群外部以联系雪花时,pod IP 是 SNATd 以使用节点的 IP 地址。节点和节点 IP 都是动态且无状态的,因此您无法确保使用特定的 IP。
相反,请考虑将Cloud NAT 与 GKE 结合使用。这将确保来自 GKE 集群的所有请求都使用相同的 IP 地址。然后,您可以将 Snowflake 上的 Cloud NAT IP 列入白名单。
推荐阅读
- python-telegram-bot - 如何通过 UserID 获取电报用户信息?
- vue.js - Vue.js 上不允许 Axios Post 返回 405 方法
- python - 从类 Tkinter 中调用 filedialog
- oracle - Oracle:在每次更新行时更改修改列的时间戳
- ruby-on-rails - 使用 ruby on rails 创建博客应用程序。当我尝试生成设计时出现错误
- java - Java问题:一个类的实例作为这个类的静态成员
- python - 在 Windows 上提交容器会破坏 python 代码
- selenium - 如何在 gitlab-ci.yml 文件中的 Selenium/standalone-chrome 中设置超时
- css - Unicode字符“⌙”(U+2319)在windows上翻转
- reactjs - 根据 api 中的日期对数据进行排序:react :js