Editar

Compartilhar via


Proteger soluções MLOps com segurança de rede do Azure

Azure DevOps
DNS do Azure
Azure Machine Learning
Link Privado do Azure
Rede Virtual do Azure

O MLOps (Machine Learning DevOps), realçado pela primeira vez em Dívida Técnica Oculta em Sistemas de Machine Learning 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, Link Privado do Azure e DNS do Azure. Ele 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 das instâncias e clusters de computação do Azure Machine Learning em uma rede virtual.

Por fim, este artigo descreve os custos de uso dos serviços de segurança de rede.

Arquitetura

Diagrama das etapas do processo de MLOps, desde a preparação dos dados até o monitoramento do modelo.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

O diagrama de arquitetura mostra uma solução MLOps de exemplo.

  • A rede virtual chamada VNET AML ajuda a proteger o workspace 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 VNET BASTION. Essa organizaçã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, o Azure Pipelines pode executar em agentes auto-host e disparar os pipelines do Azure Machine Learning publicados no workspace do Azure Machine Learning para treinar, avaliar e registrar os modelos de machine learning.

  • Por fim, o modelo é implantado em pontos de extremidade online ou pontos de extremidade em lotes compatíveis com a computação do Azure Machine Learning ou clusters do Serviço de Kubernetes do Azure.

Componentes

A solução MLOps de exemplo consiste nesses componentes:

Este cenário de exemplo também usa os seguintes serviços para ajudar a proteger a solução MLOps:

Detalhes do cenário

O MLOps é um conjunto de práticas na interseção de Machine Learning, DevOps e engenharia de dados que visa implantar e manter modelos de machine learning em produção de forma confiável e eficiente.

O diagrama a seguir mostra um modelo de processo de MLOps simplificado. Esse modelo oferece uma solução que automatiza a preparação de dados, treinamento de modelo, avaliação de modelo, registro de modelo, implantação de modelo e monitoramento.

Diagrama das etapas do processo de MLOps, desde a preparação dos dados até o monitoramento do modelo.

Ao implementar uma solução MLOps, convém ajudar a proteger esses recursos:

  • Pipelines de DevOps
  • Dados de treinamento de machine learning
  • Pipelines do aprendizado de máquina
  • Modelos de machine learning

Para ajudar a proteger recursos, considere estes métodos:

  • Autenticação e autorização

  • Segurança de 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 workspace 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 final 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 workspace 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), no qual habilitar um ponto de extremidade privado em seu workspace 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 machine learning. 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.
  • Criptografia de dados

  • Política e monitoramento

    • Use o Azure Policy e o Microsoft Defender para Nuvem 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 alertas.

O workspace 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 workspace fornece um local centralizado para trabalhar com todos os artefatos que você cria ao usar o Azure Machine Learning.

Quando você cria um novo workspace, ele cria automaticamente os seguintes recursos do Azure que são usados pelo workspace:

  • Azure Application Insights
  • Registro de Contêiner do Azure
  • Cofre de Chave do Azure
  • Conta de Armazenamento do Azure

Possíveis casos de uso

Essa solução se encaixa em cenários em que um cliente usa uma solução MLOps para implantar e manter modelos de machine learning 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 imagens, dados e modelos de machine learning do cliente em seu sistema de monitoramento de vídeo para lojas de varejo.

  • Um fabricante de mecanismos precisa de uma solução mais segura para ajudar a proteger os modelos de dados e machine learning de suas fábricas e produtos para seu sistema que usa a visão computacional para detectar defeitos em partes.

As soluções MLOps para esses cenários e outras podem usar workspaces do Azure Machine Learning, Armazenamento de Blobs do Azure, Serviço de 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 recursos de segurança do Azure para ajudar a proteger os recursos relevantes. O cliente original dessa solução está no setor de telecomunicações.

Considerações

Essas considerações implementam os pilares da Estrutura Bem Arquitetada do Azure, que é um conjunto de princípios orientadores que melhoram a qualidade de uma carga de trabalho quando aplicados. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Segurança

A segurança fornece mais garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para saber mais, confira Visão geral do pilar de segurança.

Considere como ajudar a proteger sua solução MLOps começando com o design de arquitetura. Ambientes de desenvolvimento podem não precisar de segurança significativa, mas é importante nos ambientes de preparo e produção.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

A configuração da Rede Virtual é gratuita, mas há encargos 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 os encargos para esses serviços e outros que podem ser necessários.

Serviço do Azure Preços
Rede Virtual Gratuito.
Link Privado Pague apenas pelas horas de recurso do ponto de extremidade privado e pelos dados que são processados por meio do ponto de extremidade 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.
Emparelhamento de rede virtual O tráfego de entrada e saída é cobrado em ambas as extremidades das redes emparelhadas.
Gateway de VPN Os encargos são baseados na quantidade de tempo que o gateway está provisionado e disponível.
Rota Expressa Os encargos são para Os Gateways do ExpressRoute e do ExpressRoute.
Azure Bastion A cobrança envolve uma combinação de preços por hora com base em SKU, unidades de escala e taxas de transferência de dados.

Excelência operacional

A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar de excelência operacional.

Para simplificar a CI/CD (integração contínua e entrega contínua), a prática recomendada é usar ferramentas e serviços para IaC (infraestrutura como código), como modelos do Terraform ou do Azure Resource Manager, Azure DevOps e Azure Pipelines.

Implantar 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 do MLOps é ajudar a proteger o workspace do Azure Machine Learning e seus recursos associados. Um método eficaz de proteção é usar a Rede Virtual. Uma rede virtual é o bloco de construção fundamental de 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 workspace do Azure Machine Learning e seus recursos associados em uma rede virtual ajuda a garantir que os componentes possam se comunicar entre si sem expô-los à Internet pública. Isso reduz a superfície de ataque e ajuda a evitar a exfiltração de dados.

O snippet Terraform a seguir mostra como criar um cluster de computação para o Azure Machine Learning, anexá-lo a um workspace 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"
  }
}

O Link Privado permite o acesso em um ponto de extremidade privado em sua rede virtual para opções de PaaS (plataforma como serviço) do Azure, como um workspace do Azure Machine Learning e o Armazenamento do Microsoft Azure e para serviços de propriedade do cliente e de parceiro hospedados no Azure. Um ponto de extremidade privado é uma interface de rede que se conecta apenas a recursos específicos, ajudando assim a proteger contra exfiltração de dados.

Neste cenário de exemplo, há quatro pontos de extremidade privados que estão vinculados às opções de PaaS do Azure e são gerenciados por uma sub-rede 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:

  • Workspace do Azure Machine Learning
  • Armazenamento de Blobs do Azure
  • Registro de Contêiner do Azure
  • Cofre de Chave do Azure

O snippet do Terraform a seguir mostra como usar um ponto de extremidade privado para vincular a um workspace 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 o qual usará a plataforma de API v2 por padrão. Se você ainda quiser usar a API v1 ou ter uma política de empresa que proíba o envio de comunicação por redes públicas, você poderá habilitar o parâmetro v1_legacy_mode_enabled conforme mostrado no snippet de código a seguir. Quando habilitado, esse parâmetro desabilita a API v2 para seu workspace.

resource "azurerm_machine_learning_workspace" "aml_ws" {
  ...
  public_network_access_enabled = false
  v1_legacy_mode_enabled  = true
}

Zonas DNS privadas 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 DNS em relação a uma zona DNS privada funciona apenas de redes virtuais que estão vinculadas a ela.

Esta solução de exemplo usa pontos de extremidade privados para o workspace do Azure Machine Learning e para seus recursos associados, como Armazenamento do Microsoft Azure, Azure Key Vault ou Registro de Contêiner. Portanto, você deve definir suas configurações de DNS para resolver os endereços IP dos pontos de extremidade privados do FQDN (nome de domínio totalmente qualificado) da cadeia de conexão.

Você pode vincular uma zona DNS privada a uma rede virtual para resolver domínios específicos.

O snippet do Terraform no Link Privado e no Ponto de Extremidade Privado do Azure cria duas zonas DNS privadas usando os nomes de zona recomendados na configuração da zona DNS dos serviços do Azure:

  • privatelink.api.azureml.ms
  • privatelink.notebooks.azure.net

Emparelhamento de rede virtual

O emparelhamento de rede virtual permite o acesso da máquina virtual (VM) de host de salto ou de VMs de agente auto-hospedadas na rede virtual do Azure Bastion aos recursos na rede virtual do Aprendizado de Máquina do Azure. Para fins de conectividade, as duas redes virtuais funcionam como uma. 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 pela rede privada do Azure.

O snippet 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
}

Acessar os recursos na rede virtual

Para acessar o workspace 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 do host jump

Para obter mais informações, consulte Conectar-se ao workspace.

Executar o Azure Pipelines que acessam os recursos na rede virtual

Veja como o Azure Pipelines compila e testa automaticamente seus projetos de código e os disponibiliza para outras pessoas. O Azure Pipelines combina CI/CD para testar e compilar seu código e envie-o para qualquer destino.

Agentes hospedados no Azure versus agentes auto-hospedados

A solução MLOps neste cenário de exemplo consiste em dois pipelines, que podem disparar pipelines do Azure Machine Learning e acessar recursos associados. Como o workspace do Azure Machine Learning e seu recurso associado estão em uma rede virtual, esse cenário deve fornecer uma maneira de um agente do Azure Pipelines acessá-los. Um agente é a infraestrutura de computação com software de agente instalado que executa trabalhos do Azure Pipelines 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 opções tem prós e contras. A tabela a seguir compara agentes hospedados pelo Azure com agentes auto-hospedados.

Agente hospedado no Azure Agente auto-hospedado
Custo Comece gratuitamente para um trabalho paralelo com 1.800 minutos por mês e um custo para cada trabalho paralelo de CI/CD hospedado no Azure. Comece gratuitamente para um trabalho paralelo com minutos ilimitados por mês e uma cobrança para cada trabalho paralelo de CI/CD auto-hospedado extra com minutos ilimitados. Essa opção oferece trabalhos paralelos mais baratos.
Manutenção Cuidado com você pela Microsoft. Mantido por você com mais controle sobre a instalação do software desejado.
Tempo de compilação Mais demorado porque ele é totalmente atualizado sempre que você inicia um build e você sempre cria do zero. Economiza tempo porque mantém todos os seus arquivos e caches.

Observação

Para obter preços atuais, consulte Preços do Azure DevOps.

Com base nas comparações na tabela e nas considerações sobre segurança e complexidade, este cenário de exemplo usa um agente auto-hospedado para o Azure Pipelines para disparar pipelines do Azure Machine Learning na rede virtual.

Para configurar um agente auto-hospedado, você tem as seguintes opções:

  • Instale o agente em Máquinas Virtuais do Azure.

  • Instale os agentes em um Conjunto de Dimensionamento de Máquinas Virtuais 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, pois esse cenário pode exigir a execução do contêiner do Docker dentro do agente para treinamento de modelo de machine learning.

O código de exemplo a seguir provisiona dois agentes auto-hospedados 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 workspace do Azure Machine Learning em uma rede virtual. Para obter mais informações, veja Pré-requisitos. O Registro de Contêiner é um serviço necessário quando você usa um workspace 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, a rede virtual do Azure Bastion. O snippet 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 pelo sistema do workspace do Azure Machine Learning.

Usar um cluster de computação ou uma 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 ou instância de computação, 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 Nenhum IP público para instâncias de computação.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Principais autores:

  • Gary Wang | Engenheiro de Software Principal

Outros colaboradores:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas