Google Cloud Private Service Connect e Snowflake¶
Este tópico descreve os conceitos e como configurar o Google Cloud Private Service Connect para conectar sua sub-rede Google Cloud Virtual Private Cloud (VPC) à sua conta Snowflake hospedada no Google Cloud sem percorrer a Internet pública.
Observe que o Google Cloud Private Service Connect não é um serviço fornecido pela Snowflake. É um serviço do Google que o Snowflake permite usar com sua conta Snowflake.
Visão geral¶
O Google Cloud Private Service Connect fornece conectividade privada ao Snowflake, garantindo que o acesso ao Snowflake seja feito por meio de um endereço IP privado. O Snowflake aparece como um recurso em sua rede (ou seja, na rede do cliente), mas o tráfego flui unidirecionalmente de sua VPC para a Snowflake VPC pelo backbone de rede do Google. Essa configuração simplifica significativamente a configuração de rede ao mesmo tempo em que proporciona uma comunicação segura e privada.
O diagrama a seguir resume a arquitetura do Google Cloud Private Service Connect com relação ao cliente Google Cloud VPC e ao serviço Snowflake.

O Google Compute Engine (ou seja, uma máquina virtual) se conecta a um endereço IP virtual privado que encaminha para uma regra de encaminhamento (1). A regra de encaminhamento se conecta ao anexo de serviço através de uma conexão privada (2). A conexão é roteada através de um equilibrador de carga (3) que redireciona para o Snowflake (4).
Limitações¶
Máximo de 10 conexões por projeto.
Máximo de 50 conexões por conta.
Não há suporte para algumas funções do sistema Snowflake para gerenciamento de autoatendimento. Para obter mais informações, consulte Limitações atuais para contas na Google Cloud.
Para obter mais detalhes, consulte:
Configure seu ambiente Google Cloud VPC¶
Esta seção aborda os detalhes específicos do Snowflake para configurar seu ambiente Google Cloud VPC.
Importante
A Snowflake não é responsável pela configuração de seu ambiente Google Cloud. Este procedimento mostra as noções básicas de uso da Google Cloud CLI, mas não é um guia definitivo. Por exemplo:
Você poderia usar o Google Cloud console para configurar seu ambiente Google Cloud em vez da Google Cloud CLI, o que alteraria as etapas. Por exemplo, ao usar o Google Cloud console, você está criando um ponto de extremidade, não uma regra de encaminhamento.
Ele não mostra como configurar as atualizações necessárias do firewall e os registros DNS.
Ele não mostra a você como tornar um ponto de extremidade disponível em outras regiões (os pontos de extremidade do Private Service Connect são recursos regionais). Para obter mais informações sobre como tornar um ponto de extremidade disponível em outras regiões, consulte a documentação do Google.
Para obter ajuda adicional, entre em contato com o administrador interno do Google Cloud.
Como administrador de conta Snowflake (ou seja, um usuário com a função de sistema ACCOUNTADMIN), abra uma planilha e chame a função SYSTEM$GET_PRIVATELINK_CONFIG. Você precisa salvar a saída para as etapas seguintes.
Por exemplo:
USE ROLE ACCOUNTADMIN; SELECT key, value FROM TABLE(flatten(input=>parse_json(system$get_privatelink_config())));
Use a Google Cloud CLI para atualizar a biblioteca gcloud para a versão mais recente:
gcloud components update
Autentique para Google Cloud usando o seguinte comando:
gcloud auth login
Em sua Google Cloud VPC, defina o ID de projeto no qual a regra de encaminhamento deve residir.
gcloud config set project <project_id>
Para obter uma lista de IDs de projeto, execute o seguinte comando:
gcloud projects list --sort-by=projectId
Em sua Google Cloud VPC, crie um endereço IP virtual:
gcloud compute addresses create <customer_vip_name> \ --subnet=<subnet_name> \ --addresses=<customer_vip_address> --region=<region>
Onde:
customer_vip_name
especifica o nome da regra de IP virtual (por exemplo,psc-vip-1
).subnet_name
especifica o nome da sub-rede.customer_vip_address
especifica um endereço IP para o qual todos os URLs de conectividade privada são resolvidos. Especifique um endereço IP de sua rede ou use a notação CIDR para especificar um intervalo de endereços IP.region
especifica a região de nuvem onde sua conta Snowflake está localizada.
Por exemplo:
gcloud compute addresses create psc-vip-1 \ --subnet=psc-subnet \ --addresses=192.168.3.3 \ --region=us-central1
Saída:
Created [https://www.googleapis.com/compute/v1/projects/docstest-123456/regions/us-central1/addresses/psc-vip-1].
Crie uma regra de encaminhamento para ter sua sub-rede roteada para o ponto de extremidade do Private Service Connect e depois para o ponto de extremidade do serviço Snowflake.
gcloud compute forwarding-rules create <name> \ --region=<region> \ --network=<network_name> \ --address=<customer_vip_name> \ --target-service-attachment=<privatelink-gcp-service-attachment>
Onde:
name
especifica o nome da regra de encaminhamento.region
especifica a região de nuvem onde sua conta Snowflake está localizada.network_name
especifica o nome da rede para essa regra de encaminhamento.customer_vip_name
especifica o valor de<nome>
(ou seja,psc-vip-1
) do endereço IP virtual criado na etapa anterior.privatelink-gcp-service-attachment
especifica o ponto de extremidade do serviço Snowflake, que você obteve quando executou a função SYSTEM$GET_PRIVATELINK_CONFIG em uma etapa anterior.
Por exemplo:
gcloud compute forwarding-rules create test-psc-rule \ --region=us-central1 \ --network=psc-vpc \ --address=psc-vip-1 \ --target-service-attachment=projects/us-central1-deployment1-c8cc/regions/us-central1/serviceAttachments/snowflake-us-central1-psc
Saída:
Created [https://www.googleapis.com/compute/projects/mdlearning-293607/regions/us-central1/forwardingRules/test-psc-rule].
Use o seguinte comando para verificar se a regra de encaminhamento foi criada com sucesso:
gcloud compute forwarding-rules list --regions=<region>
Onde:
region
é a região de nuvem onde sua conta Snowflake está localizada. Por exemplo, se sua conta Snowflake estiver localizada na regiãoeurope-west2
, substitua<região>
poreurope-west2
.
Para obter uma lista completa das regiões do Google Cloud e sua formatação, consulte Exibição de uma lista de regiões disponíveis.
Atualize suas configurações DNS.
Todas as solicitações ao Snowflake precisam ser encaminhadas por meio do ponto de extremidade do Private Service Connect para que os URLs retornados pela função SYSTEM$GET_PRIVATELINK_CONFIG sejam resolvidos para o endereço VIP que você criou (
<customer_vip_address>
).Os valores a serem obtidos na saída de SYSTEM$GET_PRIVATELINK_CONFIG dependem de quais recursos do Snowflake você está acessando por meio de conectividade privada. Para obter uma descrição dos valores possíveis, consulte Valores de retorno.
Observe que os valores para
regionless-snowsight-privatelink-url
esnowsight-privatelink-url
permitem o acesso a Snowsight e a Snowflake Marketplace usando conectividade privada. No entanto, há uma configuração adicional se você quiser habilitar redirecionamentos de URL. Para obter informações, consulte Snowsight e a conectividade privada.Nota
Uma explicação completa da configuração DNS está além do escopo deste procedimento. Por exemplo, você pode optar por integrar uma zona privada DNS em seu ambiente usando Cloud DNS. Consulte os administradores internos da infraestrutura do Google Cloud e de nuvem para configurar e resolver corretamente os URLs no DNS.
Conexão com o Snowflake¶
Antes de se conectar ao Snowflake, você pode opcionalmente aproveitar o SnowCD (ferramenta de diagnóstico de conectividade do Snowflake) para avaliar a conexão de rede com o Snowflake e o Private Service Connect. Para obter mais informações, consulte SnowCD e SYSTEM$ALLOWLIST_PRIVATELINK.
Para se conectar ao Snowflake com sua conta de conectividade privada, consulte Conexão com uma URL.
Uso de SSO com o Google Private Service Connect¶
O Snowflake oferece suporte ao uso de SSO com o Google Cloud Private Service Connect. Para obter mais informações, consulte:
Uso do redirecionamento de cliente com o Google Cloud Private Service Connect¶
O Snowflake oferece suporte ao uso do redirecionamento de cliente com o Google Cloud Private Service Connect.
Para obter mais informações, consulte Redirecionamento de conexões do cliente.
Como usar a replicação e Tri-Secret Secure com conectividade privada¶
O Snowflake oferece suporte à replicação de seus dados da conta de origem para a conta de destino, independentemente de você habilitar o Tri-Secret Secure ou este recurso na conta de destino.
Bloqueio de acesso público – Recomendado¶
Após testar a conectividade do Google Cloud Private Service Connect com o Snowflake, você pode opcionalmente bloquear o acesso público ao Snowflake usando políticas de rede. Para obter mais informações, consulte Controle do tráfego de rede com políticas de rede.
Configure o intervalo de blocos CIDR para bloquear o acesso público ao Snowflake usando o intervalo de endereços IP da sua organização. Este intervalo pode estar dentro de sua rede virtual.
Após definir os intervalos dos blocos CIDR, somente endereços IP dentro do intervalo de blocos CIDR podem acessar o Snowflake.
Para bloquear o acesso público usando uma política de redes:
Crie uma regra de rede IPv4 ou edite uma regra de rede IPv4 existente para adicionar o intervalo de blocos CIDR para sua organização.
Crie ou modifique uma política de redes para usar a regra de rede IPv4.
Ative a política de redes para sua conta.