Google Cloud Private Service Connect e Snowflake

Este tópico descreve conceitos e como configurar o Google Cloud Private Service Connect para conectar sua sub-rede de rede Google Cloud Virtual Private Cloud (VPC) à sua conta Snowflake hospedada no Google Cloud Platform sem atravessar a Internet pública.

Note que o Google Cloud Private Service Connect não é um serviço fornecido pelo Snowflake. É um serviço do Google que o Snowflake permite usar com sua conta Snowflake.

Se você estiver usando o Business Critical Edition (ou superior) e desejar usar o Google Cloud Private Service Connect com sua conta, entre em contato com o suporte Snowflake e solicite que ele seja ativado, conforme descrito neste tópico.

Neste tópico:

Visão geral

O Google Cloud Private Service Connect fornece conectividade privada ao Snowflake, assegurando que o acesso ao Snowflake seja realizado através de um endereço IP privado. O Snowflake aparece como um recurso em sua rede (ou seja, rede de clientes), mas o tráfego flui de um único sentido do seu VPC para o Snowflake VPC através do backbone de rede 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 seguinte resume a arquitetura do Google Cloud Private Service Connect em relação ao Google Cloud VPC do cliente e o serviço Snowflake.

Architecture overview

O Google Compute Engine (ou seja, uma máquina virtual) conecta-se a um endereço IP privado e virtual que roteia 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

Procedimento de configuração

Esta seção descreve como configurar o Google Cloud Private Service Connect para se conectar ao Snowflake.

Atenção

Esta seção cobre apenas os detalhes específicos do Snowflake para configurar seu ambiente Google Cloud VPC. Observe também que o Snowflake não é responsável pela configuração real das atualizações necessárias do firewall e dos registros DNS.

Se você encontrar problemas com qualquer uma dessas tarefas de configuração, entre em contato diretamente com o Suporte do Google.

Para ajuda na instalação, consulte a documentação do Google em Cloud SDK: interface de linha de comando.

Para obter ajuda adicional, entre em contato com seu administrador interno do Google Cloud.

  1. Contate o suporte Snowflake e forneça uma lista de seus valores de <project_id> do Google Cloud e as correspondentes URLs que você usa para acessar o Snowflake com uma nota para habilitar o Google Cloud Private Service Connect. Após receber uma resposta do suporte Snowflake, continue para a próxima etapa.

    Importante

    Se estiver usando Controles de Serviço VPC em seu VPC, certifique-se de que a política permite o acesso ao serviço Snowflake antes de contatar o Suporte Snowflake.

    Se esta ação não for tomada, o Snowflake não poderá adicionar sua ID de projeto à lista de permissões do anexo do serviço Snowflake. O resultado é que você será impedido de se conectar ao Snowflake usando este recurso.

  2. Em uma planilha Snowflake na guia Worksheets Worksheet tab, execute a função SYSTEM$GET_PRIVATELINK_CONFIG com a função ACCOUNTADMIN do sistema, e salve a saída do comando para uso nas seguintes etapas:

    use role accountadmin;
    select key, value from table(flatten(input=>parse_json(system$get_privatelink_config())));
    
    Copy
  3. Em uma interface de linha de comando (por exemplo, o aplicativo Terminal), atualize a biblioteca gcloud para a versão mais recente:

    gcloud components update
    
    Copy
  4. Autentique no Google Cloud Platform usando o seguinte comando:

    gcloud auth login
    
    Copy
  5. Em seu Google Cloud VPC, defina o ID do projeto no qual a regra de encaminhamento deve residir.

    gcloud config set project <project_id>
    
    Copy

    Para obter uma lista de IDs de projeto, execute o seguinte comando:

    gcloud projects list --sort-by=projectId
    
    Copy
  6. Em seu 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>
    
    Copy

    Por exemplo:

    gcloud compute addresses create psc-vip-1 \
    --subnet=psc-subnet \
    --addresses=192.168.3.3 \
    --region=us-central1
    
    # returns
    
    Created [https://www.googleapis.com/compute/v1/projects/docstest-123456/regions/us-central1/addresses/psc-vip-1].
    
    Copy

    Onde:

    • <nome_vip_cliente> especifica o nome da regra IP virtual (ou seja, psc-vip-1).

    • <nome_sub-rede> especifica o nome da sub-rede.

    • <endereço_vip_cliente>: todas as URLs de conectividade privada resolvem para este endereço. Especifique um endereço IP de sua rede ou use a notação CIDR para especificar um intervalo de endereços IP.

    • <região> especifica a região de nuvem onde sua conta Snowflake está localizada.

    .

  7. Crie uma regra de encaminhamento para ter sua rota de sub-rede 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>
    
    Copy

    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
    
    # returns
    
    Created [https://www.googleapis.com/compute/projects/mdlearning-293607/regions/us-central1/forwardingRules/test-psc-rule].
    
    Copy

    Onde:

    • <nome> especifica o nome da regra de encaminhamento.

    • <região> especifica a região de nuvem onde sua conta Snowflake está localizada.

    • <nome_rede> especifica o nome da rede para esta regra de encaminhamento.

    • <nome_vip_cliente> especifica o valor <nome> (ou seja, psc-vip-1) do endereço IP virtual criado na etapa anterior.

    • <privatelink-gcp-service-attachment> especifica o ponto de extremidade para o serviço Snowflake (ver etapa 2).

    .

  8. Use o seguinte comando para verificar se a regra de encaminhamento foi criada com sucesso:

    gcloud compute forwarding-rules list --regions=<region>
    
    Copy

    A região de nuvem neste comando deve corresponder à região de nuvem onde sua conta Snowflake está localizada.

    Por exemplo, se sua conta Snowflake estiver localizada na região europe-west-2, substitua <região> por europe-west2.

    Para uma lista completa das regiões do Google Cloud e sua formatação, consulte Exibição de uma lista de regiões disponíveis.

  9. Atualize suas configurações DNS.

    Todas as solicitações para o Snowflake precisam ser encaminhadas através do ponto de extremidade Private Service Connect, de maneira que os URLs na etapa 2 (da função SYSTEM$GET_PRIVATELINK_CONFIG) resolvam o endereço VIP que você criou (<endereço_vip_cliente>).

    Estes valores de ponto de extremidade permitem acessar o Snowflake, Snowsight e o Snowflake Marketplace enquanto também usam OCSP para determinar se um certificado é revogado quando clientes do Snowflake tentam se conectar a um ponto de extremidade através de HTTPS e URLs de conexão.

    Os valores das funções a serem obtidos são:

    • privatelink-account-url

    • privatelink-connection-ocsp-urls

    • privatelink-connection-urls

    • privatelink-ocsp-url

    • regionless-privatelink-account-url

    • regionless-snowsight-privatelink-url

    • snowsight-privatelink-url

    Observe que os valores para regionless-snowsight-privatelink-url e snowsight-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 mais detalhes, consulte Snowsight e 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 de infraestrutura de nuvem e Google Cloud para configurar e resolver URLs em DNS corretamente.

  10. Teste sua conexão com o Snowflake usando SnowCD (Connectivity Diagnostic Tool).

  11. Conecte-se ao Snowflake com a URL da sua conta de conectividade privada.

    Observe que se você quiser se conectar ao Snowsight usando o Google Cloud Private Service Connect, siga as instruções na documentação do Snowsight.

Uso de SSO com o Google Private Service Connect

O Snowflake suporta o uso de SSO com o Google Cloud Private Service Connect. Para obter mais informações, consulte:

Uso do redirecionamento do cliente com Google Cloud Private Service Connect

O Snowflake suporta o uso de redirecionamento do 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.

Para obter mais detalhes, consulte Replicação de banco de dados e criptografia.

Bloqueio do acesso público — Opcional

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.

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:

  1. Crie uma nova política de redes ou edite uma política de redes existente. Adicione o intervalo de blocos CIDR para sua organização.

  2. Ative a política de redes para sua conta.