Configurar uma integração de catálogo Apache Iceberg™ REST com conectividade privada de saída

Este tópico explica como configurar uma integração de catálogo para Tabelas Apache Iceberg™ gerenciadas em um catálogo remoto que esteja em conformidade com a especificação Apache Iceberg™ REST OpenAPI de código aberto.

Com essa configuração, você pode usar a integração de catálogo para se conectar a um catálogo Iceberg REST remoto por meio de um endereço IP privado em vez de pela Internet pública.

O diagrama a seguir mostra como uma tabela Iceberg usa uma integração de catálogo com um catálogo Iceberg externo.

Como funcionam as tabelas que usam uma integração de catálogo

Para obter informações gerais sobre conectividade privada de saída no Snowflake, incluindo custos de conectividade privada de saída, consulte Conectividade privada para tráfego de rede de saída.

Este tópico aborda as etapas de configuração para os seguintes tipos de catálogo:

  • Catálogos Iceberg REST genéricos

  • Catálogo de dados do AWS Glue

  • Databricks Unity Catalog

Nota

  • A conectividade privada é compatível apenas com integrações de catálogo na AWS que usam AWS PrivateLink e no Azure que usam o Azure Private Link.

  • A conectividade privada está disponível apenas no mesmo provedor de nuvem; o catálogo e a implantação do Snowflake devem estar em execução no mesmo provedor de nuvem.

  • Credenciais fornecidas pelo catálogo não são compatíveis ao configurar uma integração de catálogo com conectividade privada de saída.

Etapa 1: Reunir informações de conectividade privada para o seu catálogo

Você deve reunir informações de conectividade privada para especificá-las posteriormente ao provisionar um ponto de extremidade de conectividade privada correspondente na VPC ou VNet do Snowflake. Ao provisionar um ponto de extremidade de conectividade privada correspondente, você cria um ponto de extremidade do AWS PrivateLink no Snowflake quando sua conta Snowflake está hospedada na AWS ou cria um ponto de extremidade privado do Azure quando sua conta Snowflake está hospedada no Azure.

  • Para reunir informações de conectividade privada para o seu catálogo, consulte a documentação do catálogo Iceberg REST remoto.

    O exemplo a seguir é o ID de um serviço de ponto de extremidade de VPC da AWS na AWS: com.amazonaws.vpce.us-west-2.vpce-svc-0123456789abcdef.

Etapa 2: Provisionamento de ponto de extremidade de conectividade privada

Nesta etapa, você provisiona um ponto de extremidade de conectividade privada na VPC ou VNet do Snowflake para permitir que o Snowflake se conecte ao catálogo remoto do Iceberg REST usando conectividade privada.

  • Para provisionar um ponto de extremidade de conectividade privada, chame a função do sistema SYSTEM$PROVISION_PRIVATELINK_ENDPOINT.

    Para obter instruções sobre como especificar os argumentos para essa função do sistema, consulte a documentação do catálogo do REST Iceberg remoto ao qual você deseja se conectar por meio de conectividade privada.

    O bloco de código a seguir mostra um exemplo de provisionamento de um ponto de extremidade AWS PrivateLink:

    SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
      'com.amazonaws.vpce.us-west-2.vpce-svc-0123456789abcdef',
      'my.catalog.com'
      );
    
    Copy

Etapa 3: Verificar o status do ponto de extremidade

Nesta etapa, você verifica o status do ponto de extremidade de conectividade privada na VPC ou VNet do Snowflake que você provisionou na etapa anterior.

  • Para verificar o status do ponto de extremidade, chame a função do sistema SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO:

    SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
    
    Copy

    O ponto de extremidade estará pronto para uso quando o status mudar de pending para available.

Etapa 4: Configuração adicional específica do catálogo

Conclua as etapas de configuração adicionais para o seu tipo de catálogo.

Nota

Para alguns catálogos ou alguns tipos de pontos de extremidade de conectividade privada, você também precisa aprovar a conexão ou adicionar os pontos de extremidade de conectividade privada à lista de permissões no servidor de catálogo.

  • Para concluir as etapas de configuração adicionais, consulte a documentação do catálogo REST Iceberg remoto e, em seguida, prossiga para a próxima etapa.

Etapa 5: Criação de uma integração de catálogo

Nesta etapa, para habilitar a conectividade privada, você configura uma integração de catálogo para o ponto de extremidade REST do catálogo.

  • Para configurar essa integração de catálogo, execute o comando CREATE CATALOG INTEGRATION.

    Por exemplo:

    CREATE OR REPLACE CATALOG INTEGRATION iceberg_rest_catalog_cat_int_private
      CATALOG_SOURCE = ICEBERG_REST
      TABLE_FORMAT = ICEBERG
      REST_CONFIG = (
        CATALOG_URI = '<rest_api_endpoint_url>'
        CATALOG_API_TYPE = PRIVATE
        CATALOG_NAME = '<catalog_name>'
      )
      REST_AUTHENTICATION = (
        TYPE = OAUTH
        OAUTH_TOKEN_URI = '<token_server_uri>'
        OAUTH_CLIENT_ID = '<oauth_client_id>'
        OAUTH_CLIENT_SECRET = '<oauth_client_secret>'
        OAUTH_ALLOWED_SCOPES = ('all-apis', 'sql')
    )
    ENABLED = true;
    
    Copy

    Importante

    Para usar a conectividade privada de saída, você deve especificar CATALOG_API_TYPE=PRIVATE ao criar a integração.

    Para obter mais informações, incluindo os métodos de autenticação compatíveis, consulte CREATE CATALOG INTEGRATION (Apache Iceberg™ REST).

Etapa 6: Verificar a integração do seu catálogo

(Opcional) Etapa 7: Atualizar a configuração do seu catálogo

Recomendamos que você atualize a configuração do seu catálogo remoto para que ele seja acessível somente por meio de conectividade privada.

  • Para desativar o acesso público ao seu catálogo, consulte a documentação do catálogo remoto ao qual você deseja se conectar por meio de conectividade privada.

Próximos passos

Esta seção contém algumas tarefas que você pode executar após configurar a integração do seu catálogo:

Monitorar seus pontos de extremidade de conectividade privada

Configurar um volume externo com conectividade privada de saída

  • Para habilitar a conectividade privada entre o Snowflake e seus buckets de armazenamento, configure um volume externo com conectividade privada de saída.

    Para obter mais informações sobre volumes externos, consulte Configuração de um volume externo.

    Nota

    As credenciais fornecidas pelo catálogo não são compatíveis quando você configura uma integração de catálogo com conectividade privada de saída.

Criar um banco de dados vinculado a catálogo

  • Para criar um banco de dados Snowflake conectado ao seu catálogo Iceberg REST externo, crie um banco de dados vinculado a catálogo.

    Para obter mais informações, consulte Criar um banco de dados vinculado a catálogo.

    Nota

    Ao criar o banco de dados vinculado a catálogo, especifique uma integração de catálogo configurada com conectividade privada de saída.

Gravar no seu catálogo remoto

Depois de configurar uma integração de catálogo para o Apache Iceberg™ REST e criar um banco de dados vinculado a catálogo, você poderá gravar em seu catálogo remoto.