O Machine Learning DevOps (MLOps), destacado pela primeira vez em Hidden Technical Debt in Machine Learning Systems em 2015, está crescendo rapidamente. Espera-se que o mercado de MLOps atinja US$ 4 bilhões até 2025. Enquanto isso, trabalhar para proteger soluções MLOps está se tornando mais importante.
Este artigo descreve como ajudar a proteger soluções MLOps usando recursos de segurança de rede do Azure, como Rede Virtual do Azure, emparelhamento de rede, Azure Private Link e DNS do Azure. Também apresenta como usar:
- Azure Pipelines para acessar recursos na rede virtual
- As configurações necessárias do Registro de Contêiner do Azure e do Azure Machine Learning computam instâncias e clusters em uma rede virtual.
Finalmente, este artigo descreve os custos de utilização dos serviços de segurança de rede.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
O diagrama de arquitetura mostra uma solução MLOps de exemplo.
A rede virtual chamada AML VNET ajuda a proteger o espaço de trabalho do Azure Machine Learning e seus recursos associados.
O host de salto, o Azure Bastion e os agentes auto-hospedados pertencem a outra rede virtual chamada BASTION VNET. Essa disposição simula ter outra solução que requer acesso aos recursos na rede virtual do Azure Machine Learning.
Com o suporte de emparelhamento de rede virtual e zonas DNS privadas, os Pipelines do Azure podem ser executados em agentes de autohost e acionar os pipelines do Azure Machine Learning publicados no espaço de trabalho do Azure Machine Learning para treinar, avaliar e registrar os modelos de aprendizado de máquina.
Por fim, o modelo é implantado em pontos de extremidade online ou pontos de extremidade em lote que são suportados pela computação do Azure Machine Learning ou clusters do Serviço Kubernetes do Azure.
Componentes
A solução MLOps de exemplo consiste nestes componentes:
- Armazenamento de dados: Armazenamento de Blob do Azure para armazenamento de dados.
- Treinamento, validação e registro de modelos: espaço de trabalho do Azure Machine Learning
- Implantação do modelo: pontos de extremidade do Azure Machine Learning e Serviço Kubernetes do Azure
- Monitor de modelo: Azure Monitor for Application Insights
- Pipelines de MLOps: Azure DevOps e Azure Pipelines
Este cenário de exemplo também usa os seguintes serviços para ajudar a proteger a solução MLOps:
Detalhes do cenário
MLOps é um conjunto de práticas na interseção de Machine Learning, DevOps e engenharia de dados que visa implantar e manter modelos de aprendizado de máquina em produção de forma confiável e eficiente.
O diagrama a seguir mostra um modelo de processo MLOps simplificado. Este modelo oferece uma solução que automatiza a preparação de dados, treinamento de modelos, avaliação de modelos, registro de modelos, implantação de modelos e monitoramento.
Ao implementar uma solução MLOps, convém ajudar a proteger esses recursos:
- Pipelines de DevOps
- Dados de treinamento de aprendizado de máquina
- Pipelines de aprendizagem automática
- Modelos de machine learning
Para ajudar a proteger recursos, considere estes métodos:
Autenticação e autorização
- Use entidades de serviço ou identidades gerenciadas em vez de autenticação interativa.
- Use o controle de acesso baseado em função para definir o escopo do acesso de um usuário aos recursos.
Segurança da rede
- Use a Rede Virtual para isolar parcial ou totalmente o ambiente da Internet pública para reduzir a superfície de ataque e o potencial de exfiltração de dados.
- No espaço de trabalho do Azure Machine Learning, se você ainda estiver usando a CLI do Azure Machine Learning v1 e o SDK do Python do Azure Machine Learning v1 (como a API v1), adicione um ponto de extremidade privado ao espaço de trabalho para fornecer isolamento de rede para tudo, exceto operações de criação, leitura, atualização e exclusão (CRUD) no espaço de trabalho ou recursos de computação.
- Para aproveitar os novos recursos de um espaço de trabalho do Azure Machine Learning, use a CLI do Azure Machine Learning v2 e o SDK do Python do Azure Machine Learning v2 (como a API v2), nos quais habilitar um ponto de extremidade privado em seu espaço de trabalho não fornece o mesmo nível de isolamento de rede. No entanto, a rede virtual ainda ajudará a proteger os dados de treinamento e os modelos de aprendizado de máquina. Recomendamos que você avalie a API v2 antes de adotá-la em suas soluções empresariais. Para obter mais informações, consulte Qual é a nova plataforma de API no Azure Resource Manager.
- Use a Rede Virtual para isolar parcial ou totalmente o ambiente da Internet pública para reduzir a superfície de ataque e o potencial de exfiltração de dados.
Encriptação de dados
- Criptografe dados de treinamento em trânsito e em repouso usando chaves de acesso gerenciadas pela plataforma ou pelo cliente.
Política e acompanhamento
- Use o Azure Policy e o Microsoft Defender for Cloud para impor políticas.
- Use o Azure Monitor para coletar e agregar dados (como métricas e logs) de várias fontes em uma plataforma de dados comum para análise, visualização e alerta.
O espaço de trabalho do Azure Machine Learning é o recurso de nível superior para o Azure Machine Learning e o componente principal de uma solução MLOps. O espaço de trabalho fornece um local centralizado para trabalhar com todos os artefatos que você cria quando usa o Aprendizado de Máquina do Azure.
Quando você cria um novo espaço de trabalho, ele cria automaticamente os seguintes recursos do Azure que são usados pelo espaço de trabalho:
- Azure Application Insights
- Registo de Contentores do Azure
- Azure Key Vault
- Conta de armazenamento do Azure
Potenciais casos de utilização
Essa solução se adapta a cenários nos quais um cliente usa uma solução MLOps para implantar e manter modelos de aprendizado de máquina em um ambiente mais seguro. Os clientes podem vir de vários setores, como manufatura, telecomunicações, varejo, saúde e assim por diante. Por exemplo:
Uma operadora de telecomunicações ajuda a proteger as imagens, dados e modelos de aprendizado de máquina de um cliente em seu sistema de monitoramento de vídeo para lojas de varejo.
Um fabricante de motores precisa de uma solução mais segura para ajudar a proteger os dados e modelos de aprendizado de máquina de suas fábricas e produtos para seu sistema que usa visão computacional para detetar defeitos em peças.
As soluções MLOps para esses cenários e outros podem usar espaços de trabalho do Azure Machine Learning, Armazenamento de Blobs do Azure, Serviço Kubernetes do Azure, Registro de Contêiner e outros serviços do Azure.
Você pode usar todo ou parte deste exemplo para qualquer cenário semelhante que tenha um ambiente MLOps implantado no Azure e use os recursos de segurança do Azure para ajudar a proteger os recursos relevantes. O cliente original desta solução está no setor de telecomunicações.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que melhoram a qualidade de uma carga de trabalho quando aplicada. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Segurança
A segurança oferece mais garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.
Considere como ajudar a proteger sua solução MLOps começando com o design da arquitetura. Os ambientes de desenvolvimento podem não precisar de segurança significativa, mas é importante nos ambientes de preparação e produção.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
A configuração da Rede Virtual é gratuita, mas há cobranças para os outros serviços que seu cenário pode exigir, como links privados, zonas DNS e emparelhamento de rede virtual. A tabela a seguir descreve as cobranças por esses serviços e outros que podem ser necessários.
Serviço do Azure | Preços |
---|---|
Rede Virtual | Gratuito. |
Private Link | Pague apenas pelas horas de recursos de endpoint privados e pelos dados que são processados através do seu endpoint privado. |
DNS do Azure, zona privada | A cobrança é baseada no número de zonas DNS hospedadas no Azure e no número de consultas DNS recebidas. |
Peering de Rede Virtual | O tráfego de entrada e saída é cobrado em ambas as extremidades das redes com peering. |
Gateway de VPN | As cobranças são baseadas na quantidade de tempo que o gateway está provisionado e disponível. |
ExpressRoute | As taxas são para ExpressRoute e ExpressRoute Gateways. |
Azure Bastion | O faturamento envolve uma combinação de preços por hora baseados em SKU, unidades de escala e taxas de transferência de dados. |
Excelência operacional
A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.
Para simplificar a integração contínua e a entrega contínua (CI/CD), a prática recomendada é usar ferramentas e serviços para infraestrutura como código (IaC), como modelos Terraform ou Azure Resource Manager, Azure DevOps e Azure Pipelines.
Implementar este cenário
As seções a seguir descrevem como implantar, acessar e ajudar a proteger recursos neste cenário de exemplo.
Rede Virtual
A primeira etapa para ajudar a proteger o ambiente MLOps é ajudar a proteger o espaço de trabalho do Azure Machine Learning e seus recursos associados. Um método eficaz de proteção é usar a Rede Virtual. A Rede Virtual é o bloco de construção fundamental para a sua rede privada no Azure. A Rede Virtual permite que muitos tipos de recursos do Azure se comuniquem com mais segurança entre si, com a Internet e com redes locais.
Colocar o espaço de trabalho do Azure Machine Learning e seus recursos associados em uma rede virtual ajuda a garantir que os componentes possam se comunicar uns com os outros sem expô-los à Internet pública. Isso reduz sua superfície de ataque e ajuda a evitar a exfiltração de dados.
O trecho Terraform a seguir mostra como criar um cluster de computação para o Aprendizado de Máquina do Azure, anexá-lo a um espaço de trabalho e colocá-lo em uma sub-rede de uma rede virtual.
resource "azurerm_machine_learning_compute_cluster" "compute_cluster" {
name = "my_compute_cluster"
location = "eastasia"
vm_priority = "LowPriority"
vm_size = "Standard_NC6s_v3"
machine_learning_workspace_id = azurerm_machine_learning_workspace.my_workspace.id
subnet_resource_id = azurerm_subnet.compute_subnet.id
ssh_public_access_enabled = false
scale_settings {
min_node_count = 0
max_node_count = 3
scale_down_nodes_after_idle_duration = "PT30S"
}
identity {
type = "SystemAssigned"
}
}
Link Privado e Ponto de Extremidade Privado do Azure
O Private Link permite o acesso através de um ponto de extremidade privado na sua rede virtual às opções de plataforma como serviço (PaaS) do Azure, como um espaço de trabalho do Azure Machine Learning e o Armazenamento do Azure, e a serviços de propriedade do cliente e de parceiros hospedados pelo Azure. Um ponto de extremidade privado é uma interface de rede que se conecta apenas a recursos específicos, ajudando assim a proteger contra a exfiltração de dados.
Neste cenário de exemplo, há quatro pontos de extremidade privados vinculados às opções de PaaS do Azure e gerenciados por uma sub-rede na rede virtual do Azure Machine Learning, conforme mostrado no diagrama de arquitetura. Portanto, esses serviços só são acessíveis aos recursos dentro da mesma rede virtual, a rede virtual do Azure Machine Learning. Esses serviços são:
- Área de trabalho do Azure Machine Learning
- Armazenamento de Blobs do Azure
- Registo de Contentores do Azure
- Azure Key Vault
O trecho Terraform a seguir mostra como usar um ponto de extremidade privado para vincular a um espaço de trabalho do Azure Machine Learning, que é mais protegido pela rede virtual como resultado. O snippet também mostra o uso de uma zona DNS privada, que é descrita em Zonas DNS Privadas do Azure.
resource "azurerm_machine_learning_workspace" "aml_ws" {
name = "my_aml_workspace"
friendly_name = "my_aml_workspace"
location = "eastasia"
resource_group_name = "my_resource_group"
application_insights_id = azurerm_application_insights.my_ai.id
key_vault_id = azurerm_key_vault.my_kv.id
storage_account_id = azurerm_storage_account.my_sa.id
container_registry_id = azurerm_container_registry.my_acr_aml.id
identity {
type = "SystemAssigned"
}
}
# Configure private DNS zones
resource "azurerm_private_dns_zone" "ws_zone_api" {
name = "privatelink.api.azureml.ms"
resource_group_name = var.RESOURCE_GROUP
}
resource "azurerm_private_dns_zone" "ws_zone_notebooks" {
name = "privatelink.notebooks.azure.net"
resource_group_name = var.RESOURCE_GROUP
}
# Link DNS zones to the virtual network
resource "azurerm_private_dns_zone_virtual_network_link" "ws_zone_api_link" {
name = "ws_zone_link_api"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.ws_zone_api.name
virtual_network_id = azurerm_virtual_network.aml_vnet.id
}
resource "azurerm_private_dns_zone_virtual_network_link" "ws_zone_notebooks_link" {
name = "ws_zone_link_notebooks"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.ws_zone_notebooks.name
virtual_network_id = azurerm_virtual_network.aml_vnet.id
}
# Configure private endpoints
resource "azurerm_private_endpoint" "ws_pe" {
name = "my_aml_ws_pe"
location = "eastasia"
resource_group_name = "my_resource_group"
subnet_id = azurerm_subnet.my_subnet.id
private_service_connection {
name = "my_aml_ws_psc"
private_connection_resource_id = azurerm_machine_learning_workspace.aml_ws.id
subresource_names = ["amlworkspace"]
is_manual_connection = false
}
private_dns_zone_group {
name = "private-dns-zone-group-ws"
private_dns_zone_ids = [azurerm_private_dns_zone.ws_zone_api.id, azurerm_private_dns_zone.ws_zone_notebooks.id]
}
# Add the private link after configuring the workspace
depends_on = [azurerm_machine_learning_compute_instance.compute_instance, azurerm_machine_learning_compute_cluster.compute_cluster]
}
O código anterior para azurerm_machine_learning_workspace
usará a plataforma de API v2 por padrão. Se você ainda quiser usar a API v1 ou tiver uma política da empresa que proíba o envio de comunicação por redes públicas, você pode habilitar o v1_legacy_mode_enabled
parâmetro, conforme mostrado no trecho de código a seguir. Quando habilitado, esse parâmetro desabilita a API v2 para seu espaço de trabalho.
resource "azurerm_machine_learning_workspace" "aml_ws" {
...
public_network_access_enabled = false
v1_legacy_mode_enabled = true
}
Zonas de DNS Privado do Azure
O DNS do Azure fornece um serviço DNS confiável e mais seguro para gerenciar e resolver nomes de domínio em uma rede virtual sem a necessidade de adicionar uma solução DNS personalizada. Usando zonas DNS privadas, você pode usar nomes de domínio personalizados em vez dos nomes fornecidos pelo Azure. A resolução de DNS em relação a uma zona DNS privada funciona apenas a partir de redes virtuais que estão ligadas a ela.
Esta solução de exemplo usa pontos de extremidade privados para o espaço de trabalho do Azure Machine Learning e para seus recursos associados, como o Armazenamento do Azure, o Cofre da Chave do Azure ou o Registro de Contêiner. Portanto, você deve definir suas configurações de DNS para resolver os endereços IP dos pontos de extremidade privados a partir do nome de domínio totalmente qualificado (FQDN) da cadeia de conexão.
Você pode vincular uma zona DNS privada a uma rede virtual para resolver domínios específicos.
O snippet Terraform em Private Link e Azure Private Endpoint cria duas zonas DNS privadas usando os nomes de zona recomendados na configuração de zona DNS dos serviços do Azure:
privatelink.api.azureml.ms
privatelink.notebooks.azure.net
Peering de Rede Virtual
O emparelhamento de rede virtual permite o acesso da máquina virtual (VM) jump-host ou VMs de agente auto-hospedado na rede virtual do Azure Bastion aos recursos na rede virtual do Azure Machine Learning. Para fins de conectividade, as duas redes virtuais funcionam como uma só. O tráfego entre VMs e recursos do Azure Machine Learning em redes virtuais emparelhadas usa a infraestrutura de backbone do Azure. O tráfego entre as redes virtuais é roteado através da rede privada do Azure.
O trecho Terraform a seguir configura o emparelhamento de rede virtual entre a rede virtual do Azure Machine Learning e a rede virtual do Azure Bastion.
# Virtual network peering for AML VNET and BASTION VNET
resource "azurerm_virtual_network_peering" "vp_amlvnet_basvnet" {
name = "vp_amlvnet_basvnet"
resource_group_name = "my_resource_group"
virtual_network_name = azurerm_virtual_network.amlvnet.name
remote_virtual_network_id = azurerm_virtual_network.basvnet.id
allow_virtual_network_access = true
allow_forwarded_traffic = true
}
resource "azurerm_virtual_network_peering" "vp_basvnet_amlvnet" {
name = "vp_basvnet_amlvnet"
resource_group_name = "my_resource_group"
virtual_network_name = azurerm_virtual_network.basvnet.name
remote_virtual_network_id = azurerm_virtual_network.amlvnet.id
allow_virtual_network_access = true
allow_forwarded_traffic = true
}
Aceda aos recursos na rede virtual
Para acessar o espaço de trabalho do Azure Machine Learning em uma rede virtual, como a rede virtual do Azure Machine Learning neste cenário, use um dos seguintes métodos:
- Gateway de VPN do Azure
- Azure ExpressRoute
- Azure Bastion e a VM de host de salto
Para obter mais informações, consulte Conectar-se ao espaço de trabalho.
Executar Pipelines do Azure que acessam os recursos na rede virtual
O Azure Pipelines cria e testa automaticamente projetos de código para os disponibilizar a outras pessoas. O Azure Pipelines combina CI/CD para testar e criar seu código e enviá-lo para qualquer destino.
Agentes hospedados no Azure vs. agentes auto-hospedados
A solução MLOps neste cenário de exemplo consiste em dois pipelines, que podem acionar pipelines do Azure Machine Learning e acessar recursos associados. Como o espaço de trabalho do Azure Machine Learning e seu recurso associado estão em uma rede virtual, esse cenário deve fornecer uma maneira para um agente do Azure Pipelines acessá-los. Um agente é a infraestrutura de computação com software de agente instalado que executa trabalhos dos Pipelines do Azure um de cada vez. Há várias maneiras de implementar o acesso:
Use agentes auto-hospedados na mesma rede virtual ou na rede virtual de emparelhamento, conforme mostrado no diagrama de arquitetura.
Use agentes hospedados no Azure e adicione seus intervalos de endereços IP a uma lista de permissões nas configurações de firewall dos serviços do Azure de destino.
Use agentes hospedados no Azure (como clientes VPN) e Gateway de VPN.
Cada uma dessas escolhas tem prós e contras. A tabela a seguir compara agentes hospedados no Azure com agentes autohospedados.
Agente hospedado no Azure | Agente auto-hospedado | |
---|---|---|
Custo | Comece gratuitamente para um trabalho paralelo com 1.800 minutos por mês e uma taxa para cada trabalho paralelo de CI/CD hospedado no Azure. | Comece gratuitamente por um trabalho paralelo com minutos ilimitados por mês e uma taxa por cada trabalho paralelo CI/CD auto-hospedado extra com minutos ilimitados. Esta opção oferece trabalhos paralelos menos dispendiosos. |
Manutenção | Cuidada por você pela Microsoft. | Mantido por você com mais controle sobre a instalação do software que você gosta. |
Tempo de construção | Mais demorado porque atualiza completamente cada vez que você inicia uma compilação, e você sempre constrói do zero. | Poupa tempo porque mantém todos os seus ficheiros e caches. |
Nota
Para obter os preços atuais, consulte Preços do Azure DevOps.
Com base nas comparações na tabela e nas considerações de segurança e complexidade, este cenário de exemplo usa um agente auto-hospedado para Pipelines do Azure para acionar pipelines do Azure Machine Learning na rede virtual.
Para configurar um agente auto-hospedado, você tem as seguintes opções:
Instale o agente nas Máquinas Virtuais do Azure.
Instale os agentes em um Conjunto de Escala de Máquina Virtual do Azure, que pode ser dimensionado automaticamente para atender à demanda.
Instale o agente em um contêiner do Docker. Essa opção não é viável, porque esse cenário pode exigir a execução do contêiner do Docker dentro do agente para treinamento de modelo de aprendizado de máquina.
O código de exemplo a seguir provisiona dois agentes autohospedados criando VMs e extensões do Azure:
resource "azurerm_linux_virtual_machine" "agent" {
...
}
resource "azurerm_virtual_machine_extension" "update-vm" {
count = 2
name = "update-vm${format("%02d", count.index)}"
publisher = "Microsoft.Azure.Extensions"
type = "CustomScript"
type_handler_version = "2.1"
virtual_machine_id = element(azurerm_linux_virtual_machine.agent.*.id, count.index)
settings = <<SETTINGS
{
"script": "${base64encode(templatefile("../scripts/terraform/agent_init.sh", {
AGENT_USERNAME = "${var.AGENT_USERNAME}",
ADO_PAT = "${var.ADO_PAT}",
ADO_ORG_SERVICE_URL = "${var.ADO_ORG_SERVICE_URL}",
AGENT_POOL = "${var.AGENT_POOL}"
}))}"
}
SETTINGS
}
Conforme mostrado no bloco de código anterior, o script Terraform chama agent_init.sh, mostrado no bloco de código a seguir, para instalar o software do agente e as bibliotecas necessárias na VM do agente de acordo com os requisitos do cliente.
#!/bin/sh
# Install other required libraries
...
# Creates directory and downloads Azure DevOps agent installation files
# Find more agent versions at https://github.com/microsoft/azure-pipelines-agent/releases
AGENT_VERSION="3.240.1"
sudo mkdir /myagent
cd /myagent
sudo wget https://vstsagentpackage.azureedge.net/agent/${AGENT_VERSION}/vsts-agent-linux-x64-${AGENT_VERSION}.tar.gz
sudo tar zxvf ./vsts-agent-linux-x64-${AGENT_VERSION}.tar.gz
sudo chmod -R 777 /myagent
# Unattended installation
sudo runuser -l ${AGENT_USERNAME} -c '/myagent/config.sh --unattended --url ${ADO_ORG_SERVICE_URL} --auth pat --token ${ADO_PAT} --pool ${AGENT_POOL}'
cd /myagent
#Configure as a service
sudo ./svc.sh install ${AGENT_USERNAME}
#Start service
sudo ./svc.sh start
Usar o Registro de Contêiner na rede virtual
Há alguns pré-requisitos para proteger um espaço de trabalho do Azure Machine Learning em uma rede virtual. Para obter mais informações, veja os Pré-requisitos. O Registro de Contêiner é um serviço necessário quando você usa um espaço de trabalho do Azure Machine Learning para treinar e implantar os modelos.
Neste cenário de exemplo, para garantir que o agente auto-hospedado possa acessar o registro de contêiner na rede virtual, usamos o emparelhamento de rede virtual e adicionamos um link de rede virtual para vincular a zona DNS privada, privatelink.azurecr.io
, à rede virtual do Azure Bastion. O trecho Terraform a seguir mostra a implementação.
# Azure Machine Learning Container Registry is for private access
# by the Azure Machine Learning workspace
resource "azurerm_container_registry" "acr" {
name = "my_acr"
resource_group_name = "my_resource_group"
location = "eastasia"
sku = "Premium"
admin_enabled = true
public_network_access_enabled = false
}
resource "azurerm_private_dns_zone" "acr_zone" {
name = "privatelink.azurecr.io"
resource_group_name = "my_resource_group"
}
resource "azurerm_private_dns_zone_virtual_network_link" "acr_zone_link" {
name = "link_acr"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.acr_zone.name
virtual_network_id = azurerm_virtual_network.amlvnet.id
}
resource "azurerm_private_endpoint" "acr_ep" {
name = "acr_pe"
resource_group_name = "my_resource_group"
location = "eastasia"
subnet_id = azurerm_subnet.aml_subnet.id
private_service_connection {
name = "acr_psc"
private_connection_resource_id = azurerm_container_registry.acr.id
subresource_names = ["registry"]
is_manual_connection = false
}
private_dns_zone_group {
name = "private-dns-zone-group-app-acr"
private_dns_zone_ids = [azurerm_private_dns_zone.acr_zone.id]
}
}
Este cenário de exemplo também garante que o registro de contêiner tenha uma função de Colaborador para a identidade gerenciada atribuída ao sistema do espaço de trabalho do Azure Machine Learning.
Usar um cluster de computação ou instância na rede virtual
Um cluster ou instância de computação do Azure Machine Learning em uma rede virtual requer um NSG (grupo de segurança de rede) com algumas regras específicas para sua sub-rede. Para obter uma lista dessas regras, consulte Limitações.
Observe também que, para o cluster de computação ou instância, agora é possível remover o endereço IP público, o que ajuda a fornecer melhor proteção para recursos de computação na solução MLOps. Para obter mais informações, consulte Sem IP público para instâncias de computação.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Gary Wang - Brasil | Engenheiro de Software Principal
Outros contribuidores:
- Gary Moore - Brasil | Programador/Redator
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Documentação do Terraform no Azure
- Exemplos do Azure Machine Learning Enterprise Terraform
- Azure MLOps v2 repositório GitHub
- Preços da Rede Virtual do Azure
- Preços do DevOps do Azure