Служба Google Kubernetes Engine не может подключиться к снежинке - PullRequest
0 голосов
/ 13 февраля 2020

Я развернул службу в GKE на Google Cloud Platform, но, к сожалению, 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

1 Ответ

2 голосов
/ 14 февраля 2020

Ваше приложение «снежинка» принимает запросы только от IP-адресов, занесенных в белый список, а это значит, что вам необходимо указать c IP или набор определенных c IP-адресов, вызывающих снежинку. По умолчанию GKE не будет этого делать.

Когда запрос от одного из ваших модулей пытается выйти за пределы кластера, чтобы связаться со снежинкой, IP-адрес модуля - это SNATd, чтобы использовать IP-адрес узла. И узлы, и IP-адреса узлов являются динамическими c и не сохраняют состояния, поэтому вы не можете убедиться, что используются указанные c IP-адреса.

Вместо этого рассмотрите возможность использования Cloud NAT с GKE . Это гарантирует, что все запросы из вашего кластера GKE будут использовать один и тот же IP-адрес. Затем вы можете просто занести белый IP-адрес Cloud NAT в снежинку.

...