Áreas restritas
Aplica-se a: ✅Azure Data Explorer
O Kusto pode executar sandboxes para fluxos específicos que devem ser executados em um ambiente seguro e isolado. Exemplos desses fluxos são scripts definidos pelo usuário que são executados usando o plug-in Python ou o plug-in R.
As sandboxes são executadas localmente (ou seja, o processamento é feito próximo aos dados), sem latência extra para chamadas remotas.
Pré-requisitos e limitações
- As áreas restritas devem ser executadas em tamanhos de VM que dão suporte à virtualização aninhada, que é implementada usando a tecnologia Hyper-V e não tem limitações.
- A imagem para executar as sandboxes é implantada em cada nó de cluster e requer espaço SSD dedicado para ser executada.
- O tamanho estimado está entre 10 e 20 GB.
- Isso afeta a capacidade de dados do cluster e pode afetar o custo do cluster.
Runtime
- Um operador de consulta em área restrita pode usar uma ou mais áreas restritas para sua execução.
- Uma área restrita é usada apenas para uma única consulta e é descartada quando essa consulta é concluída.
- Quando um nó é reiniciado, por exemplo, como parte de uma atualização de serviço, todos os sandboxes em execução nele são descartados.
- Cada nó mantém um número predefinido de sandboxes que estão prontos para executar solicitações de entrada.
- Depois que uma sandbox é usada, uma nova é disponibilizada automaticamente para substituí-la.
- Se não houver sandboxes pré-alocadas disponíveis para atender a um operador de consulta, ele será limitado até que novas sandboxes estejam disponíveis. Para obter mais informações, consulte Erros. A nova alocação de sandbox pode levar de 10 a 15 segundos por sandbox, dependendo do SKU e dos recursos disponíveis no nó de dados.
Parâmetros de sandbox
Alguns dos parâmetros podem ser controlados usando uma política de sandbox no nível do cluster, para cada tipo de sandbox.
- Número de sandboxes por nó: o número de sandboxes por nó é limitado.
- As solicitações feitas quando não houver sandbox disponível serão limitadas.
- Inicializar na inicialização: se definido como
false
(padrão), as sandboxes são inicializadas lentamente em um nó, na primeira vez que uma consulta requer uma sandbox para sua execução. Caso contrário, se definido comotrue
, as sandboxes serão inicializadas como parte da inicialização do serviço.- Isso significa que a primeira execução de um plug-in que usa sandboxes em um nó incluirá um curto período de aquecimento.
- CPU: A taxa máxima de CPU que uma sandbox pode consumir dos processadores de seu host é limitada (o padrão é
50%
).- Quando o limite é atingido, o uso da CPU da área restrita é limitado, mas a execução continua.
- Memória: A quantidade máxima de RAM que uma sandbox pode consumir da RAM de seu host é limitada.
- A memória padrão para a tecnologia Hyper-V é de 1 GB e para áreas restritas herdadas de 20 GB.
- Atingir o limite resulta no encerramento da sandbox e em um erro de execução de consulta.
Limitações do sandbox
- Rede: uma área restrita não pode interagir com nenhum recurso na VM (máquina virtual) ou fora dela.
- Uma sandbox não pode interagir com outra sandbox.
Observação
Os recursos usados com sandbox dependem não apenas do tamanho dos dados que estão sendo processados como parte da solicitação, mas também da lógica que é executada na sandbox e da implementação das bibliotecas que estão sendo usadas por ela.
Por exemplo, para os python
plug-ins e r
, o último significa o script fornecido pelo usuário e as bibliotecas Python ou R que ele consome em tempo de execução.
Errors
ErrorCode | Status | Mensagem | Razão potencial |
---|---|---|---|
E_SB_QUERY_THROTTLED_ERROR | Pedidos de TooManys (429) | A consulta em área restrita foi anulada devido à limitação. Tentar novamente após alguma retirada pode ser bem-sucedido | Não há sandboxes disponíveis no nó de destino. Novos sandboxes devem ficar disponíveis em alguns segundos |
E_SB_QUERY_THROTTLED_ERROR | Pedidos de TooManys (429) | Sandboxes do tipo '{kind}' ainda não foram inicializadas | A política de sandbox mudou recentemente. Novos sandboxes que obedecem à nova política ficarão disponíveis em alguns segundos |
Erro de Serviço Interno (520) | A consulta em área restrita foi anulada devido a uma falha na inicialização de áreas restritas | Uma falha inesperada de infraestrutura. |
Tamanhos de VM com suporte para virtualização aninhada
A tabela a seguir lista todos os tamanhos de VM modernos que dão suporte à tecnologia de área restrita do Hyper-V.
Nome | Categoria |
---|---|
Standard_L8s_v3 | com otimização de armazenamento |
Standard_L16s_v3 | com otimização de armazenamento |
Standard_L8as_v3 | com otimização de armazenamento |
Standard_L16as_v3 | com otimização de armazenamento |
Standard_E8as_v5 | com otimização de armazenamento |
Standard_E16as_v5 | com otimização de armazenamento |
Standard_E8s_v4 | com otimização de armazenamento |
Standard_E16s_v4 | com otimização de armazenamento |
Standard_E8s_v5 | com otimização de armazenamento |
Standard_E16s_v5 | com otimização de armazenamento |
Standard_E2ads_v5 | com otimização de computação |
Standard_E4ads_v5 | com otimização de computação |
Standard_E8ads_v5 | com otimização de computação |
Standard_E16ads_v5 | com otimização de computação |
Standard_E2d_v4 | com otimização de computação |
Standard_E4d_v4 | com otimização de computação |
Standard_E8d_v4 | com otimização de computação |
Standard_E16d_v4 | com otimização de computação |
Standard_E2d_v5 | com otimização de computação |
Standard_E4d_v5 | com otimização de computação |
Standard_E8d_v5 | com otimização de computação |
Standard_E16d_v5 | com otimização de computação |
Standard_D32d_v4 | com otimização de computação |