Pontos de extremidade de interface VPC da AWS para volumes de armazenamento gerenciados pelo Snowflake¶
Este tópico apresenta conceitos e instruções detalhadas para conexão com volumes de armazenamento gerenciados pelo Snowflake por meio de pontos de extremidade de interface VPC da AWS.
Visão geral¶
Quando você usa um mecanismo de consulta externo, como o Apache Spark, para ler ou gravar em uma tabela Iceberg que usa armazenamento gerenciado pelo Snowflake, o mecanismo de consulta se comunica diretamente com o volume Iceberg nativo hospedado no Amazon S3. Por padrão, esse tráfego pode atravessar a internet pública.
É possível combinar o AWS PrivateLink para Amazon S3 com pontos de extremidade de interface VPC para fornecer conectividade segura ao volume de armazenamento gerenciado. Essa configuração garante que as operações de leitura e gravação do seu mecanismo de consulta externo no volume Iceberg nativo usem a rede interna da AWS em vez da internet pública.
Benefícios¶
A implementação de pontos de extremidade de interface VPC para acessar os volumes de armazenamento gerenciados pelo Snowflake oferece as seguintes vantagens:
Os dados não atravessam a internet pública quando os mecanismos de consulta externos leem ou gravam no volume Iceberg gerenciado pelo Snowflake.
Aplicativos clientes e SaaS, tais como Microsoft PowerBI, que funcionam fora do AWS VPC, podem se conectar ao Snowflake com segurança.
Os administradores não precisam modificar as configurações do firewall para acessar os dados do volume.
Os administradores podem implementar segurança e monitoramento consistentes de acordo com a maneira como os mecanismos de consulta se conectam ao armazenamento.
Limitações¶
A AWS não oferece suporte para pontos de extremidade da interface do VPC entre regiões para o serviço Amazon S3. Portanto, o ponto de extremidade de interface VPC deve estar na mesma região que sua conta Snowflake para fornecer conectividade de entrada ao volume de armazenamento gerenciado pelo Snowflake.
O suporte entre regiões para AWS PrivateLink não está disponível em regiões governamentais ou na República Popular da China.
Clientes que utilizam uma região SnowGov para conformidade com o Federal Information Processing Standard (FIPS) devem estar cientes de que o AWS Privatelink para Amazon S3 não oferece suporte a pontos de extremidade do FIPS.
Para obter mais informações sobre as regiões da AWS nas quais o FIPS é aplicado, consulte Regiões de nuvem compatíveis.
Para obter informações sobre como encontrar os nomes das regiões para sua conta, consulte Encontrar o nome do provedor de nuvem da região da sua conta.
Para obter mais informações sobre as limitações do AWS PrivateLink, consulte a documentação da AWS.
Introdução¶
Antes de configurar a AWS e o Snowflake para permitir solicitações de acesso a um volume de armazenamento gerenciado pelo Snowflake por meio do AWS PrivateLink, você deve atender aos pré-requisitos.
Pré-requisitos¶
-
Importante
O AWS PrivateLink para S3 é um serviço AWS que precisa ser habilitado em seu ambiente de nuvem.
Para obter ajuda na configuração e implementação deste serviço, entre em contato com seu administrador AWS interno.
Atualize a lista de permissões do firewall da seguinte forma:
Se utilizar um firewall de saída, certifique-se de que ele permite todas as URLs exigidas pelo Snowflake. Para obter mais detalhes, consulte SnowCD (Connectivity Diagnostic Tool).
Para clientes
us-east-1somente: Se utilizar um dos seguintes clientes Snowflake para conectar-se ao Snowflake, atualize para a versão de cliente da seguinte forma:Driver JDBC: 3.13.3 (ou superior)
Driver ODBC: 2.23.2 (ou superior)
Conector Python para Snowflake: 2.5.1 (ou superior)
SnowSQL: 1.2.17 (ou superior)
Atualize o SnowSQL antes de utilizar este recurso. Para obter mais informações, consulte Instalação do SnowSQL.
A partir da versão 1.3.0, o SnowSQL desativa as atualizações automáticas por padrão para evitar possíveis problemas que podem afetar ambientes de produção quando ocorre uma atualização automática. Para atualizar, você deve baixar e instalar novas versões manualmente, de preferência em um ambiente que não seja de produção. A Snowflake recomenda que você deixe essa configuração desabilitada, mas você pode habilitar manualmente o comportamento de atualização automática configurando a opção SnowSQL
noupoption.
Acessando um volume de armazenamento gerenciado pelo Snowflake com um ponto de extremidade de interface¶
Para configurar um ponto de extremidade de interface VPC para acessar um volume de armazenamento gerenciado pelo Snowflake, as seguintes funções em sua organização devem ser coordenadas:
O administrador da conta Snowflake (ou seja, um usuário com a função de sistema ACCOUNTADMIN do Snowflake).
O administrador AWS.
O administrador da rede.
Dependendo da organização, pode ser necessário coordenar os esforços de configuração com mais de uma pessoa ou equipe para implementar as seguintes etapas de configuração.
Procedimento¶
Complete as seguintes etapas para configurar e implementar o acesso seguro ao volume de armazenamento gerenciado pelo Snowflake através de um ponto de extremidade VPC:
Como administrador da AWS, crie um ponto de extremidade VPC para S3 usando o console AWS. Registre o nome VPCE DNS para uso na próxima etapa; não registre qualquer nome de zona VPCE DNS.
O nome VPCE DNS pode ser encontrado descrevendo um ponto de extremidade de interface uma vez que o ponto de extremidade esteja criado.
Exemplo de nome VPCE DNS:
*.vpce-000000000000a12-abc00ef0.s3.us-west-2.vpce.amazonaws.comConfigure seu mecanismo de consulta externo para usar o nome VPCE DNS diretamente. Substitua
*no nome VPCE DNS porbucket. Por exemplo, no Apache Spark:Dica
Use uma conta Snowflake separada para testes e configure uma zona DNS hospedada privada em um VPC de teste para testar o recurso de forma que o teste seja isolado e não afete outras cargas de trabalho.
Bloqueando o acesso público¶
Depois que você configurar os pontos de extremidade de interface VPC para acessar o volume de armazenamento gerenciado por meio do AWS PrivateLink, poderá restringir o acesso ao volume usando regras e políticas de redes.
Pré-requisitos¶
Para usar regras de rede para restringir o acesso a um volume de armazenamento gerenciado pelo Snowflake, o administrador da conta deve habilitar o parâmetro ENFORCE_NETWORK_RULES_FOR_SNOWFLAKE_MANAGED_STORAGE_VOLUME:
Criação de uma regra de rede¶
Crie uma regra de rede com MODE = SNOWFLAKE_MANAGED_STORAGE_VOLUME e TYPE = AWSVPCEID para restringir o acesso ao volume de armazenamento gerenciado com base nos identificadores de ponto de extremidade VPC:
Aplicando uma política de redes¶
Crie uma política de redes que use a regra de rede e aplique-a à conta: