Gerenciar políticas de rede para o controle de saída serverless
Para evitar a interrupção da conexão entre o BDC e o SAP Databricks, consulte a documentação do SAP antes de configurar o controle de saída serverless.
Este documento explica como configurar e gerenciar políticas de rede para controlar as conexões de rede de saída de suas cargas de trabalho serverless no SAP Databricks.
Requisitos
- As permissões para gerenciar políticas de rede são restritas aos administradores do site account.
Acessando políticas de rede
Para criar, view, e atualizar políticas de rede em seu account:
- No consoleaccount, clique em Cloud recurso .
- Clique em Network tab.
Crie uma nova política de rede
-
Clique em Criar nova política de rede .
-
Escolha um modo de acesso à rede:
- Acesso total: acesso irrestrito à Internet de saída. Se você escolher Acesso total, o acesso externo à Internet permanecerá irrestrito.
- Acesso restrito : o acesso externo é limitado a destinos específicos. Para obter mais informações, consulte Visão geral da política de rede.
Configurar políticas de rede
As etapas a seguir descrevem as configurações opcionais para o modo de acesso restrito.
Definir regras de saída
-
Para conceder ao site serverless compute acesso a domínios adicionais, clique em Add destination acima da lista Allowed domains (Domínios permitidos ).
O filtro FQDN permite acesso a todos os domínios que compartilham o mesmo endereço IP. servindo modelo provisionamento em todo o endpoint impede o acesso à Internet quando o acesso à rede está definido como restrito. No entanto, o controle granular com filtragem FQDN não é suportado.
-
Para permitir que o site workspace acesse outros contêineres de armazenamento em nuvem, clique no botão Add destination (Adicionar destino ) acima da lista Allowed storage account (Conta de armazenamento permitida ).
Ao definir as regras de saída, observe:
- Quando seu bucket de metastore e contêineres de armazenamento em nuvem do seu local externo de UC estão localizados em regiões diferentes, você deve adicionar explicitamente o bucket à sua lista de permissões de saída para que o acesso seja bem-sucedido.
- O número máximo de destinos suportados é 2500.
- Os domínios adicionados como entradas de link privado para um balanceador de carga de rede estão implicitamente permitidos nas políticas de rede. Quando um domínio é removido ou o endpoint privado é excluído, pode levar até 24 horas para que os controles de política de rede apliquem totalmente a alteração. Veja _.
Aplicação de políticas
O modo de execução a seco permite que o senhor teste a configuração da política e monitore as conexões de saída sem interromper o acesso ao recurso. Quando o modo de execução seca está ativado, as solicitações que violam a política são registradas, mas não bloqueadas. Você pode selecionar entre as seguintes opções:
-
Databricks SQL : Os armazéns do Databricks SQL operam em modo de execução a seco.
-
AI servindo modelo : o endpoint servindo modelo opera no modo de execução a seco.
-
Todos os produtos : todos os serviços do SAP Databricks operam no modo de execução a seco, substituindo todas as outras seleções.
Atualize a política do site default
Cada SAP Databricks account inclui uma políticadefault . A políticadefault está associada a todos os espaços de trabalho sem atribuição explícita de política de rede, incluindo espaços de trabalho recém-criados. Você pode modificar essa política, mas ela não pode ser excluída. As políticas padrão são aplicadas somente ao espaço de trabalho com pelo menos eligible-tier.
Associar uma política de rede ao espaço de trabalho
Se o senhor tiver atualizado a política default com configurações adicionais, elas serão aplicadas automaticamente ao espaço de trabalho que não tiver uma política de rede existente. Seu workspace deve estar no nível elegível.
Para associar o site workspace a uma política diferente, faça o seguinte:
- Selecione um workspace.
- Em Política de rede , clique em Atualizar política de rede .
- Selecione a política de rede desejada na lista.
Aplique alterações na política de rede
A maioria das atualizações de configuração de rede é propagada automaticamente para o site serverless compute em dez minutos. Isso inclui:
- Adição de um novo local ou conexão externa do Unity Catalog.
- Anexar o site workspace a um metastore diferente.
- Alterar o armazenamento permitido ou os destinos da Internet.
O senhor deve reiniciar o site compute se modificar a configuração do acesso à Internet ou do modo de execução a seco.
Reinicie ou reimplante as cargas de trabalho do serverless
O senhor só precisa atualizar quando mudar o modo de acesso à Internet ou quando atualizar o modo de execução a seco.
Para determinar o procedimento de reinicialização adequado, consulte a lista a seguir por produto:
- Databricks ML Serving : Reimplante seu endpoint de serviço de ML. Veja _
- DLT : pare e reinicie o pipeline DLT em execução. Veja _.
- sem servidor SQL warehouse : Pare e reinicie o SQL warehouse. Veja _.
- fluxo de trabalho : as alterações na política de rede são aplicadas automaticamente quando uma nova execução de trabalho é acionada ou quando uma execução de trabalho existente é reiniciada.
- Notebook :
- Se o Notebook não interagir com Spark, o senhor pode encerrar e anexar um novo serverless clustering à refresh configuração de rede aplicada ao Notebook.
- Se o Notebook interagir com Spark, o recurso serverless será atualizado e detectará automaticamente a alteração. A maioria das alterações será atualizada em dez minutos, mas alternar os modos de acesso à Internet, atualizar o modo de execução a seco ou alternar entre políticas anexadas que tenham diferentes tipos de aplicação pode levar até 24 horas. Para agilizar um refresh sobre esses tipos específicos de alterações, desative todos os Notebook e Job associados.
Verificar a aplicação da política de rede
O senhor pode validar se a sua política de rede está sendo aplicada corretamente tentando acessar recursos restritos de diferentes cargas de trabalho do serverless.
- executar uma consulta de teste no editor SQL ou em um Notebook que tente acessar um recurso controlado pela sua política de rede.
- Verifique os resultados:
- Destino confiável : a consulta deve ser bem-sucedida.
- Destino não confiável : a consulta deve falhar com um erro de acesso à rede.
Validar com o modelo servindo
Para validar sua política de rede usando o modelo de serviço:
Antes de começar
Quando um modelo servindo endpoint é criado, uma imagem de contêiner é criada para servir o seu modelo. As políticas de rede são aplicadas durante esse estágio de construção. Ao usar o modelo servindo com políticas de rede, considere o seguinte:
-
Acesso a dependências: Todas as dependências externas de compilação, como Python pacote de PyPI e conda-forge, imagens de contêineres básicos ou arquivos de URLs externos especificados no ambiente do seu modelo ou no contexto de Docker exigido pelo ambiente do seu modelo devem ser permitidos pela sua política de rede.
- Por exemplo, se o seu modelo exigir uma versão específica do site scikit-learn que precisa ser baixada durante a compilação, a política de rede deverá permitir o acesso ao repositório que hospeda o pacote.
-
Falhas na compilação: Se sua política de rede bloquear o acesso às dependências necessárias, a compilação do contêiner servindo modelo falhará. Isso impedirá que o endpoint de serviço seja implantado com êxito e poderá fazer com que ele não armazene ou funcione corretamente. Veja _.
-
Solução de problemas de negações: As negações de acesso à rede durante a fase de construção são registros. Esses logs recorrerão a um campo
network_source_type
com o valorML Build
. Essa informação é crucial para identificar o recurso bloqueado específico que deve ser adicionado à sua política de rede para permitir que a compilação seja concluída com êxito.
Valide o acesso à rede em tempo de execução
As etapas a seguir demonstram como validar a política de rede para um modelo implantado em tempo de execução, especificamente para tentativas de acesso a recursos externos durante a inferência. Isso pressupõe que o contêiner servindo modelo tenha sido criado com êxito, o que significa que todas as dependências de tempo de criação foram permitidas na política de rede.
-
Crie um modelo de teste
-
Em um notebook Python, crie um modelo que tente acessar um recurso público da Internet no momento da inferência, como baixar um arquivo ou fazer uma solicitação API.
-
Execute este Notebook para gerar um modelo no teste workspace. Por exemplo:
Pythonimport mlflow
import mlflow.pyfunc
import mlflow.sklearn
import requests
class DummyModel(mlflow.pyfunc.PythonModel):
def load_context(self, context):
# This method is called when the model is loaded by the serving environment.
# No network access here in this example, but could be a place for it.
pass
def predict(self, _, model_input):
# This method is called at inference time.
first_row = model_input.iloc[0]
try:
# Attempting network access during prediction
response = requests.get(first_row['host'])
except requests.exceptions.RequestException as e:
# Return the error details as text
return f"Error: An error occurred - {e}"
return [response.status_code]
with mlflow.start_run(run_name='internet-access-model'):
wrappedModel = DummyModel()
# When this model is deployed to a serving endpoint,
# the environment will be built. If this environment
# itself (e.g., specified conda_env or python_env)
# requires packages from the internet, the build-time SEG policy applies.
mlflow.pyfunc.log_model(
artifact_path="internet_access_ml_model",
python_model=wrappedModel,
registered_model_name="internet-http-access"
)
-
-
Criar um endpoint de serviço
-
Na navegação workspace, selecione AI/ML.
-
Clique em Serving tab.
-
Clique em Criar endpoint de serviço .
-
Configure o endpoint com as seguintes definições:
- Nome do endpoint de atendimento : Forneça um nome descritivo.
- Detalhes da entidade : Selecione o modelo de registro do modelo .
- Modelo : escolha o modelo que você criou na etapa anterior (
internet-http-access
).
-
Clique em Confirmar . Nessa etapa, começa o processo de construção do contêiner servindo modelo. As políticas de rede para
ML Build
serão aplicadas. Se a compilação falhar devido ao bloqueio do acesso à rede para dependências, o endpoint não ficará pronto. -
Aguarde até que o site endpoint atinja o estado Ready (Pronto ). Se ele não ficar pronto, verifique se há entradas
network_source_type: ML Build
no site logs. Veja _.
-
-
Consultar o site endpoint.
-
Use a opção Query endpoint (Ponto de extremidade de consulta) na página endpoint para enviar uma solicitação de teste.
JSON{ "dataframe_records": [{ "host": "[https://www.google.com](https://www.google.com)" }] }
-
-
Verificar o resultado para acesso em tempo de execução:
- Acesso à Internet ativado em tempo de execução : a consulta deve ser bem-sucedida e retornar um código de status como
200
. - Acesso à Internet restrito em tempo de execução : a consulta deve falhar com um erro de acesso à rede, como a mensagem de erro do bloco
try-except
no código do modelo, indicando um tempo limite de conexão ou falha na resolução do host.
- Acesso à Internet ativado em tempo de execução : a consulta deve ser bem-sucedida e retornar um código de status como
Atualizar uma política de rede
Você pode atualizar uma política de rede a qualquer momento após sua criação. Para atualizar uma política de rede:
-
Na página de detalhes da política de rede no console da conta, modifique a política:
- Altere o modo de acesso à rede.
- Ativar ou desativar o modo de execução a seco para um serviço específico.
- Adicione ou remova destinos de armazenamento ou FQDN.
-
Clique em Atualizar .
-
Consulte Aplicar alterações na política de rede para verificar se as atualizações são aplicadas às cargas de trabalho existentes.
Limitações
- Configuração : Esse recurso só pode ser configurado por meio do console account. O suporte à API ainda não está disponível.
- upload Tamanho do artefato: Ao usar MLflow o interno do Databricks Filesystem com o
dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<artifactPath>
formato, o upload do artefato é limitado a 5 GBlog_artifact
para,log_artifacts
elog_model
APIs. - servindo modelo : O controle de saída não se aplica ao criar imagens para o servindo modelo.
- Negação log entrega para cargas de trabalho de coleta de lixo (GC) de curta duração : A negação logs de cargas de trabalho de GC de curta duração, que duram menos de 120 segundos, pode não ser entregue antes que o nó seja encerrado devido a atrasos no registro. Embora o acesso ainda seja aplicado, a entrada correspondente em log pode estar ausente.
- Conectividade de rede para Databricks SQL Funções definidas pelo usuário (UDFs) : Para habilitar o acesso à rede em Databricks SQL, entre em contato com a equipe de Databricks account .
- DLT Registro de eventhooks : DLT Eventhooks que têm como alvo outro workspace não são registros. Isso se aplica aos Eventhooks configurados tanto para o espaço de trabalho entre regiões quanto para o espaço de trabalho na mesma região.