Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
SDK do Python azure-ai-ml v2 (atual)
Dica
Você pode usar as redes virtuais gerenciadas do Azure Machine Learning em vez das etapas neste artigo. Com uma rede virtual gerenciada, o Azure Machine Learning cuida do isolamento de rede do seu espaço de trabalho e dos seus recursos de computação gerenciados. Você também pode adicionar pontos de extremidade privados para os recursos necessários para o workspace, como uma Conta de Armazenamento do Azure. Para obter mais informações, consulte Isolamento de rede gerenciada do espaço de trabalho.
A instância de computação, o cluster de cálculo e a computação sem servidor do Azure Machine Learning podem ser usados para treinar os modelos com segurança em uma rede virtual do Azure. Ao planejar seu ambiente, você pode configurar uma instância ou um cluster de computação, ou a computação sem servidor, com ou sem endereço IP público. As diferenças gerais entre os dois são:
- Sem IP público: reduz os custos, pois não tem os mesmos requisitos de recursos de rede. Aumenta a segurança removendo o requisito de tráfego de entrada da Internet. No entanto, alterações de configuração adicionais são necessárias para habilitar o acesso de saída a recursos necessários (Microsoft Entra ID, Azure Resource Manager, etc.).
- Com IP público: funciona por padrão, mas custa mais devido a recursos de rede adicionais do Azure. Requer a comunicação de entrada do serviço Azure Machine Learning pela Internet pública.
A seguinte tabela contém as diferenças entre essas configurações:
| Configuração | Com IP público | Sem IP público |
|---|---|---|
| Tráfego de entrada |
AzureMachineLearning etiqueta de serviço. |
Nenhum |
| Tráfego de saída | Por padrão, pode acessar a Internet pública sem restrições. Você pode restringir o que é acessado usando um grupo de segurança de rede ou um firewall. |
Por padrão, é possível acessar a rede pública utilizando o acesso de saída padrão fornecido pelo Azure. Recomendamos usar um gateway NAT de Rede Virtual ou um Firewall, caso precise rotear o tráfego de saída para os recursos necessários na internet. |
| Recursos de rede do Azure | Endereço IP público, balanceador de carga, adaptador de rede | Nenhum |
Você também pode usar o Azure Databricks ou o HDInsight para treinar modelos em uma rede virtual.
Este artigo faz parte de uma série sobre como proteger um fluxo de trabalho do Azure Machine Learning. Confira os outros artigos desta série:
- Visão geral da rede virtual
- Proteja os recursos do espaço de trabalho
- Proteger o ambiente de inferência
- Habilitar a funcionalidade do estúdio
- Usar o DNS personalizado
- Usar um firewall
Para um tutorial sobre como criar um espaço de trabalho seguro, consulte Tutorial: Criar um espaço de trabalho seguro, modelo Bicep, ou modelo Terraform.
Neste artigo, você aprenderá a proteger os seguintes recursos de computação de treinamento em uma rede virtual:
- Cluster de computação do Azure Machine Learning
- Instância de computação do Azure Machine Learning
- Computação sem servidor do Azure Machine Learning
- Azure Databricks
- Máquina Virtual
- Cluster HDInsight
Pré-requisitos
Leia o artigo Visão geral de segurança de rede para entender cenários comuns de rede virtual e toda a arquitetura de rede virtual.
Uma rede virtual e uma sub-rede existentes para usar com seus recursos de computação. Essa rede virtual deve estar na mesma assinatura do seu workspace do Azure Machine Learning.
- Recomendamos colocar as contas de armazenamento usadas por seu workspace e seus trabalhos de treinamento na mesma região do Azure que você planeja usar para os clusters de cálculo, as instâncias de computação e a computação sem servidor. Se eles não estiverem na mesma região do Azure, você poderá incorrer em custos de transferência de dados e em maior latência de rede.
- Verifique se a comunicação via WebSocket é permitida para
*.instances.azureml.nete*.instances.azureml.msem sua rede virtual. WebSockets são usados pelo Jupyter em instâncias de computação.
Uma sub-rede existente na rede virtual. Essa sub-rede é usada ao criar instâncias de computação, clusters e nós para computação sem servidor.
- Verifique se a sub-rede não está delegada a outros serviços do Azure.
- Verifique se a sub-rede contém endereços IP livres suficientes. Cada instância de computação requer um endereço IP. Cada nó dentro de um cluster de computação e cada nó de computação sem servidor requer um endereço IP.
Se você tiver seu próprio servidor DNS, recomendamos usar o encaminhamento de DNS para resolver os nomes de domínio totalmente qualificados (FQDNs) das instâncias de computação e dos clusters. Para obter mais informações, consulte Usar um DNS personalizado com o Azure Machine Learning.
Para implantar recursos em uma rede virtual ou sub-rede, sua conta de usuário deve ter permissões para as seguintes ações no RBAC do Azure (controle de acesso baseado em função do Azure):
- "Microsoft.Network/*/read" no recurso de rede virtual. Essa permissão não é necessária para implantações do modelo do ARM (Azure Resource Manager).
- "Microsoft.Network/virtualNetworks/join/action" no recurso de rede virtual.
- "Microsoft.Network/virtualNetworks/subnets/join/action" no recurso de sub-rede.
Para saber mais sobre o RBAC do Azure com rede, confira Funções internas da rede
Limitações
Não há suporte para a implantação de instâncias de computação/clusters de cálculo e computação sem servidor na rede virtual com o Azure Lighthouse.
A porta 445 precisa estar aberta para comunicações de rede privada entre suas instâncias de computação e a conta de armazenamento padrão durante o treinamento. Por exemplo, se seus cálculos estiverem em uma rede virtual e a conta de armazenamento estiver em outra, não bloqueie a porta 445 para a rede virtual da conta de armazenamento.
Cluster de computação em uma rede virtual ou região diferente do workspace
Importante
Você não pode criar uma instância de computação em uma região ou rede virtual diferente, apenas em um cluster de computação.
Para criar um cluster de computação em um Rede Virtual do Azure em uma região diferente da rede virtual do workspace, você tem algumas opções para habilitar a comunicação entre as duas redes virtuais.
- Use o emparelhamento de rede virtual.
- Adicione um ponto de extremidade privado para seu espaço de trabalho na rede virtual que conterá o cluster de computação.
Importante
Independentemente do método selecionado, você também deve criar a rede virtual para o cluster de computação; Azure Machine Learning não o criará para você.
Você também deve permitir que a conta de armazenamento padrão, Registro de Contêiner do Azure e Azure Key Vault acessem a rede virtual do cluster de computação. Há várias maneiras de realizar isso. Por exemplo, você pode criar um endpoint privado para cada recurso na rede virtual do cluster de computação, ou pode usar o emparelhamento de rede virtual para permitir que a rede virtual do espaço de trabalho acesse a rede virtual do cluster de computação.
Cenário: emparelhamento de rede virtual
Configure seu espaço de trabalho para usar uma Rede Virtual do Azure. Para obter mais informações, confira Proteger os recursos do seu espaço de trabalho.
Crie uma segunda Rede Virtual do Azure a ser usada para seus clusters de computação. Ele pode estar em uma região do Azure diferente da usada no seu espaço de trabalho.
Configure o emparelhamento de rede virtual entre as duas redes virtuais.
Dica
Aguarde até que o status do emparelhamento da rede virtual esteja Conectado antes de continuar.
Modifique a
privatelink.api.azureml.mszona DNS para adicionar um link à rede virtual para o cluster de computação. Essa zona é criada pelo workspace do Azure Machine Learning quando usa um ponto de extremidade privado para participar de uma rede virtual.Adicione um novo link de rede virtual à zona DNS. Você pode fazer isso de várias maneiras:
- No portal do Azure, navegue até a zona DNS e selecione Links de rede virtual. Em seguida, selecione + Adicionar e selecione a rede virtual que você criou para seus clusters de computação.
- Na CLI do Azure, utilize o comando
az network private-dns link vnet create. Para obter mais informações, consulte az network private-dns link vnet create. - No Azure PowerShell, utilize o comando
New-AzPrivateDnsVirtualNetworkLink. Para obter mais informações, consulte New-AzPrivateDnsVirtualNetworkLink.
Repita a etapa e as subetapas anteriores para a zona de DNS
privatelink.notebooks.azure.net.Configure os recursos de Azure a seguir para permitir o acesso de ambas as redes virtuais.
- A conta de armazenamento padrão para o workspace.
- O registro de contêineres do Azure para o espaço de trabalho.
- O Azure Key Vault do espaço de trabalho.
Dica
Há várias maneiras de configurar esses serviços para permitir o acesso às redes virtuais. Por exemplo, você pode criar um ponto de extremidade privado para cada recurso em ambas as redes virtuais. Ou você pode configurar os recursos para permitir o acesso de ambas as redes virtuais.
Crie um cluster de computação como faria normalmente ao usar uma rede virtual, mas selecione a rede virtual que você criou para o cluster de computação. Se a rede virtual estiver em uma região diferente, selecione essa região ao criar o cluster de computação.
Aviso
Ao definir a região, se for uma região diferente do seu espaço de trabalho ou armazenamento de dados, você poderá observar um aumento na latência da rede e nos custos de transferência de dados. A latência e os custos podem ocorrer ao criar o cluster e ao executar trabalhos nele.
Cenário: ponto de extremidade privado
Configure seu espaço de trabalho para usar uma Rede Virtual do Azure. Para obter mais informações, confira Proteger os recursos do seu espaço de trabalho.
Crie uma segunda Rede Virtual do Azure a ser usada para seus clusters de computação. Ele pode estar em uma região do Azure diferente da usada no seu espaço de trabalho.
Crie um novo ponto de extremidade privado para seu espaço de trabalho na rede virtual que conterá o cluster de computação.
Para adicionar um novo ponto de extremidade privado usando o portal do Microsoft Azure, selecione seu espaço de trabalho e, em seguida, Rede. Selecione Conexões de ponto de extremidade privado, +Ponto de extremidade privado e use os campos para criar um novo ponto de extremidade privado.
- Ao selecionar a Região, selecione a mesma região que sua rede virtual.
- Ao selecionar Tipo de recurso, use Microsoft.MachineLearningServices/workspaces.
- Defina o Recurso no nome do espaço de trabalho.
- Defina a rede virtual e a sub-rede como a rede virtual e a sub-rede que você criou para seus clusters de computação.
Finalmente, selecione Criar para criar o ponto de extremidade privado.
Para adicionar um novo endpoint privado usando a CLI do Azure, use o
az network private-endpoint create. Para obter um exemplo de uso desse comando, confira Configurar um ponto de extremidade privado para o espaço de trabalho do Azure Machine Learning .
Crie um cluster de computação como faria normalmente ao usar uma rede virtual, mas selecione a rede virtual que você criou para o cluster de computação. Se a rede virtual estiver em uma região diferente, selecione essa região ao criar o cluster de computação.
Aviso
Ao definir a região, se for uma região diferente do seu espaço de trabalho ou armazenamento de dados, você poderá observar um aumento na latência da rede e nos custos de transferência de dados. A latência e os custos podem ocorrer ao criar o cluster e ao executar trabalhos nele.
Instância/cluster de computação ou computação sem servidor sem IP público
Importante
Essas informações são válidas apenas quando se usa uma Rede Virtual do Microsoft Azure. Se estiver a utilizar uma rede virtual gerida, os recursos computacionais não podem ser implantados na sua Rede Virtual Azure. Para obter informações sobre a utilização de uma rede virtual gerida, veja computação gerida com uma rede gerida.
As seguintes configurações são adicionais àquelas listadas na seção Pré-requisitos e são específicas para criar uma instância de computação/cluster de cálculo configurado para não ter um IP público. Elas também se aplicam à computação sem servidor:
Você deve usar um ponto de extremidade privado do workspace para que o recurso de computação se comunique com os serviços do Azure Machine Learning a partir da rede virtual. Para obter mais informações, confira Configurar um ponto de extremidade privado para um workspace do Azure Machine Learning.
Em sua rede virtual, permita o tráfego de saída para as seguintes marcas de serviço ou FQDN (nomes de domínio totalmente qualificados):
Etiqueta de serviço Protocolo Porta Observações AzureMachineLearningTCP
UDP443/8787/18881
5831Comunicação com o serviço do Azure Machine Learning. BatchNodeManagement.<region>QUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com o Lote do Azure. A instância de computação e o cluster de computação são implementados usando o serviço Lote do Azure.Storage.<region>TCP 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Essa tag de serviço é usada para comunicação com a conta de armazenamento do Azure usada pelo Lote do Azure.Importante
O acesso de saída a
Storage.<region>pode potencialmente ser usado para exfiltrar dados do seu espaço de trabalho. Com o uso da Política do Ponto de Extremidade de Serviço, você pode atenuar essa vulnerabilidade. Para obter mais informações, confira o artigo Prevenção de exfiltração dos dados do Azure Machine Learning.FQDN Protocolo Porta Observações <region>.tundra.azureml.msUDP 5831 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning.graph.microsoft.comTCP 443 Comunicação com a API do Microsoft Graph. *.instances.azureml.msTCP 443/8787/18881 Comunicação com o Azure Machine Learning. *.<region>.batch.azure.comQUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com o Lote do Azure.*.<region>.service.batch.azure.comQUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com o Lote do Azure.*.blob.core.windows.netTCP 443 Comunicação com o Armazenamento de Blobs do Azure. *.queue.core.windows.netTCP 443 Comunicação com o Azure Queue Storage. *.table.core.windows.netTCP 443 Comunicação com o Armazenamento de Tabelas do Azure. Por padrão, uma instância/cluster de computação configurada para nenhum IP público não tem acesso de saída para a Internet. Se você pode acessar a Internet a partir dela, é por causa do acesso de saída padrão do Azure e você tem um NSG que permite a saída para a Internet. No entanto, não recomendamos o uso do acesso de saída padrão. Se você precisar de acesso de saída à Internet, recomendamos o uso de um firewall e regras de saída ou um gateway NAT e grupos de serviços de rede para permitir o tráfego de saída.
Para obter mais informações sobre o tráfego de saída usado pelo Azure Machine Learning, confira os seguintes artigos:
Para obter mais informações sobre marcas de serviço que podem ser usadas com Firewall do Azure, confira o artigo Marcas de serviço da rede virtual.
Use as seguintes informações para criar uma instância de computação ou cluster de cálculo sem endereço IP público:
No comando az ml compute create, substitua estes valores:
-
rg: o grupo de recursos no qual a computação será criada. -
ws: O nome do workspace do Azure Machine Learning. -
yourvnet: a rede virtual do Azure. -
yoursubnet: a sub-rede a ser usada para a computação. -
AmlComputeouComputeInstance: a especificação deAmlComputecria um cluster de computação.ComputeInstancecriar uma instância de computação.
# create a compute cluster with no public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute --set enable_node_public_ip=False
# create a compute instance with no public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance --set enable_node_public_ip=False
Use as informações a seguir para configurar nós de computação sem servidor sem endereço IP público na rede virtual de um determinado espaço de trabalho:
Importante
Se você estiver usando uma computação sem servidor sem IP público e o workspace tiver uma lista de IPs permitidos, será necessário adicionar um ponto de extremidade privado de saída ao workspace. A computação sem servidor precisa se comunicar com o workspace, mas, quando configurada sem IP público, ela utiliza o Azure Default Outbound para acessar a Internet. O IP público para essa saída é dinâmico e não pode ser adicionado à lista de IPs permitidos. A criação de um ponto de extremidade privado de saída para o workspace permite que o tráfego da computação sem servidor com destino ao workspace contorne a lista de IPs permitidos.
Criar um espaço de trabalho:
az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithnpip
location: eastus
public_network_access: Disabled
serverless_compute:
custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
no_public_ip: true
Atualizar espaço de trabalho:
az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
no_public_ip: true
Instância de computação/cluster de cálculo ou computação sem servidor com IP público
Importante
Essas informações são válidas apenas quando se usa uma Rede Virtual do Microsoft Azure. Se estiver a utilizar uma rede virtual gerida, os recursos computacionais não podem ser implantados na sua Rede Virtual Azure. Para obter informações sobre a utilização de uma rede virtual gerida, veja computação gerida com uma rede gerida.
As seguintes configurações são adicionais àquelas listadas na seção Pré-requisitos e são específicas para criar instâncias de computação/clusters de cálculo que têm um IP público. Elas também se aplicam à computação sem servidor:
Se você colocar várias instâncias/clusters de computação em uma rede virtual, talvez seja necessário solicitar um aumento de cota para um ou mais de seus recursos. A instância ou cluster de computação do Machine Learning aloca automaticamente recursos de rede no grupo de recursos que contém a rede virtual. Para cada instância ou cluster de computação, o serviço aloca os seguintes recursos:
Um NSG (grupo de segurança de rede) é criado automaticamente. Esse NSG permite tráfego TCP de entrada na porta 44224 a partir da tag de serviço
AzureMachineLearning.Importante
A instância de computação e o cluster de computação criam automaticamente um NSG com as regras necessárias.
Se você tiver outro NSG no nível da sub-rede, as regras desse NSG no nível da sub-rede não podem entrar em conflito com as regras no NSG criado automaticamente.
Para saber como os NSGs filtram o tráfego de rede, consulte Como os grupos de segurança de rede filtram o tráfego de rede.
Um balanceador de carga
Para clusters de computação, esses recursos são excluídos toda vez que o cluster é reduzido para 0 nós e são criados quando há aumento de escala.
Para uma instância de computação, esses recursos são mantidos até que a instância seja excluída. Parar a instância não remove os recursos.
Importante
Esses recursos são limitados pelas cotas de recursos da assinatura. Se o grupo de recursos de rede virtual estiver bloqueado, ocorrerá falha na exclusão do cluster/instância de computação. Não é possível excluir o balanceador de carga até que o cluster/instância de computação seja excluído. Além disso, verifique se não há nenhuma atribuição do Azure Policy que proíba a criação de grupos de segurança de rede.
Em sua rede virtual, permita o tráfego TCP de entrada na porta 44224 da tag de serviço
AzureMachineLearning.Importante
Um endereço IP é atribuído dinamicamente quando a instância ou o cluster de computação é criado. Como o endereço não é conhecido antes da criação e o acesso de entrada é necessário como parte do processo de criação, você não pode atribuí-lo estaticamente no firewall. Em vez disso, se você estiver usando um firewall com a rede virtual, deverá criar uma rota definida pelo usuário para permitir esse tráfego de entrada.
Em sua rede virtual, permita o tráfego de saída para as seguintes marcas de serviço:
Etiqueta de serviço Protocolo Porta Observações AzureMachineLearningTCP
UDP443/8787/18881
5831Comunicação com o serviço do Azure Machine Learning. BatchNodeManagement.<region>QUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com o Lote do Azure. A instância de computação e o cluster de computação são implementados por meio do serviço Lote do Azure.Storage.<region>TCP 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Essa tag de serviço é usada para a comunicação com a conta do Armazenamento do Azure usada pelo Lote do Azure.Importante
O acesso de saída a
Storage.<region>pode ser usado para exfiltrar dados de seu workspace. Com o uso da Política do Ponto de Extremidade de Serviço, você pode atenuar essa vulnerabilidade. Para obter mais informações, confira o artigo Prevenção de exfiltração dos dados do Azure Machine Learning.FQDN Protocolo Porta Observações <region>.tundra.azureml.msUDP 5831 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning.graph.microsoft.comTCP 443 Comunicação com a API do Microsoft Graph. *.instances.azureml.msTCP 443/8787/18881 Comunicação com o Azure Machine Learning. *.<region>.batch.azure.comQUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com Lote do Azure.*.<region>.service.batch.azure.comQUALQUER UM 443 Substitua <region>pela região do Azure que contém seu espaço de trabalho do Azure Machine Learning. Comunicação com Lote do Azure.*.blob.core.windows.netTCP 443 Comunicação com o Armazenamento de Blobs do Azure. *.queue.core.windows.netTCP 443 Comunicação com o Armazenamento de Filas do Azure. *.table.core.windows.netTCP 443 Comunicação com o Armazenamento de Tabelas do Azure.
Use as seguintes informações para criar uma instância de computação ou um cluster com um endereço IP público na rede virtual:
No comando az ml compute create, substitua estes valores:
-
rg: o grupo de recursos no qual a computação será criada. -
ws: o nome do espaço de trabalho do Azure Machine Learning. -
yourvnet: a rede virtual do Azure. -
yoursubnet: a sub-rede a ser usada para a computação. -
AmlComputeouComputeInstance: a especificação deAmlComputecria um cluster de computação.ComputeInstancecriar uma instância de computação.
# create a compute cluster with a public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute
# create a compute instance with a public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance
Use as seguintes informações para configurar nós de computação sem servidor com um endereço IP público na rede virtual para um determinado workspace:
Criar um espaço de trabalho:
az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithvnet
location: eastus
serverless_compute:
custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
no_public_ip: false
Atualizar espaço de trabalho:
az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
no_public_ip: false
Azure Databricks
- A rede virtual deve estar na mesma assinatura e região que o workspace do Azure Machine Learning.
- Se as Contas de Armazenamento do Azure para o workspace também estiverem protegidas em uma rede virtual, elas deverão estar na mesma rede virtual que o cluster do Azure Databricks.
- Além das sub-redes databricks-particular e databricks-público usadas pelos Azure Databricks, a sub-rede padrão criada para a rede virtual também é necessária.
- O Azure Databricks não usa um ponto de extremidade privado para se comunicar com a rede virtual.
Para obter informações específicas sobre o uso do Azure Databricks com uma rede virtual, consulte Implantar o Azure Databricks na sua Rede Virtual do Azure.
Máquina virtual ou cluster HDInsight
Nesta seção, você aprenderá a usar uma máquina virtual ou um cluster do Azure HDInsight em uma rede virtual com seu espaço de trabalho.
Criar a VM ou o cluster do HDInsight
Importante
O Azure Machine Learning dá suporte apenas a máquinas virtuais que executam Ubuntu.
Crie um cluster de VM ou HDInsight usando o portal do Azure ou a CLI do Azure e coloque-o em uma rede virtual do Azure. Para obter mais informações, consulte os seguintes artigos:
Configurar portas de rede
Para permitir que o Azure Machine Learning se comunique com a porta SSH na VM ou no cluster, configure uma entrada de origem para o grupo de segurança de rede. A porta SSH geralmente é a porta 22. Para permitir o tráfego dessa origem, execute as seguintes ações:
Na lista suspensa Origem, selecione Service Tag.
Na lista suspensa Marca de serviço da origem, selecione AzureMachineLearning.
Na lista suspensa Intervalos da porta de origem, selecione *.
Na lista suspensa Destino, selecione Qualquer um.
Na lista suspensa Intervalos de portas de destino, selecione 22.
Em Protocolo, selecione Qualquer um.
Em Ação, selecione Permitir.
Mantenha as regras de saída padrão para o grupo de segurança de rede. Para obter mais informações, consulte as regras de segurança padrão em Grupos de segurança.
Se você não quiser usar as regras de saída padrão e quiser limitar o acesso de saída de sua rede virtual, confira a seção acesso à Internet pública exigido.
Anexar a VM ou o cluster do HDInsight
Anexe o cluster da VM ou do HDInsight ao seu workspace do Azure Machine Learning. Para mais informações, confira Gerencie recursos de computação para treinamento e implantação de modelos no estúdio.
Acesso público à Internet obrigatório para treinar modelos
Importante
Embora as seções anteriores deste artigo descrevam as configurações necessárias para criar recursos de computação, as informações de configuração nesta seção são necessárias para usar esses recursos para treinar modelos.
O Azure Machine Learning exige o acesso de entrada e de saída à Internet pública. As tabelas a seguir fornecem uma visão geral do acesso necessário e para o que ele é usado. Para as marcas de serviço que terminam em .region, substitua region pela região do Azure que contém o seu workspace. Por exemplo Storage.westus:
Dica
A guia necessária lista a configuração de entrada e saída exigida. A guia situacional lista as configurações de entrada e saída opcionais exigidas por configurações específicas que você pode querer habilitar.
| Direção | Protocolo & portos |
Etiqueta de serviço | Finalidade |
|---|---|---|---|
| Saída | TCP: 80, 443 | AzureActiveDirectory |
Autenticação usando o Microsoft Entra ID. |
| Saída | TCP: 443, 18881 UDP: 5831 |
AzureMachineLearning |
Uso dos serviços do Azure Machine Learning. O IntelliSense do Python em notebooks usa a porta 18881. Criar, atualizar e excluir uma instância de computação do Azure Machine Learning usa a porta 5831. |
| Saída | QUALQUER UM: 443 | BatchNodeManagement.region |
Comunicação com o back-end do Lote do Azure para instâncias e clusters de computação do Azure Machine Learning. |
| Saída | TCP: 443 | AzureResourceManager |
Criação de recursos do Azure com o Azure Machine Learning, a CLI do Azure e o SDK do Azure Machine Learning. |
| Saída | TCP: 443 | Storage.region |
Acessar dados armazenados na Conta de Armazenamento do Microsoft Azure para cluster de cálculo e instância de computação. Para obter informações sobre como evitar a exfiltração dos dados nessa saída, confira Proteção contra exfiltração dos dados. |
| Saída | TCP: 443 |
AzureFrontDoor.FrontEnd
* Não é necessário no Microsoft Azure operado pela 21Vianet. |
Ponto de entrada global para o Estúdio do Azure Machine Learning. Armazene imagens e ambientes para AutoML. Para obter informações sobre como evitar a exfiltração dos dados nessa saída, confira Proteção contra exfiltração dos dados. |
| Saída | TCP: 443 |
MicrosoftContainerRegistry.region
Observe que esta tag tem uma dependência da tag AzureFrontDoor.FirstParty |
Acesse as imagens do Docker fornecidas pela Microsoft. Instalação do roteador do Azure Machine Learning para o Serviço de Kubernetes do Azure. |
Dica
Se você precisar dos endereços IP em vez de marcas de serviço, use uma das seguintes opções:
- Baixe uma lista de Marcas de serviço e intervalos de IP do Azure.
- Use o comando da CLI do Azure az network list-service-tags.
- Use o comando Get-AzNetworkServiceTag do Azure PowerShell.
Os endereços IP podem ser alterados periodicamente.
Talvez você também precise permitir tráfego de saída para o Visual Studio Code e para sites que não sejam da Microsoft para a instalação dos pacotes necessários ao seu projeto de aprendizado de máquina. A seguinte tabela lista os repositórios usados com frequência para machine learning:
| Nome do host | Finalidade |
|---|---|
anaconda.com*.anaconda.com |
Usado para instalar pacotes padrão. |
*.anaconda.org |
Usado para obter dados do repositório. |
pypi.org |
Usado para listar dependências a partir do índice padrão, se houver, e o índice não é substituído pelas configurações do usuário. Se o índice for substituído, você também deverá permitir *.pythonhosted.org. |
cloud.r-project.org |
Usado ao instalar pacotes CRAN para desenvolvimento de R. |
*.pytorch.org |
Usado por alguns exemplos baseados em PyTorch. |
*.tensorflow.org |
Usado por alguns exemplos baseados no TensorFlow. |
code.visualstudio.com |
Necessário para baixar e instalar a área de trabalho do Visual Studio Code. Isso não é necessário para o Visual Studio Code Web. |
update.code.visualstudio.com*.vo.msecnd.net |
Usado para recuperar bits do servidor do Visual Studio Code que estão instalados na instância de computação por meio de um script de instalação. |
marketplace.visualstudio.comvscode.blob.core.windows.net*.gallerycdn.vsassets.io |
Necessário para baixar e instalar as extensões do Visual Studio Code. Esses hosts habilitam a conexão remota para instâncias de computação usando a extensão do Azure ML para Visual Studio Code. Para obter mais informações, consulte Conectar-se a uma instância de computação do Azure Machine Learning no Visual Studio Code. |
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* |
Usado para recuperar bits do servidor WebSocket que estão instalados na instância de computação. O servidor websocket é usado para transmitir solicitações do cliente do Visual Studio Code (aplicativo de área de trabalho) para o servidor do Visual Studio Code em execução na instância de computação. |
Observação
Ao usar a extensão do VS Code do Azure Machine Learning, a instância de computação remota exigirá acesso a repositórios públicos para instalar os pacotes exigidos pela extensão. Se a instância de computação exigir um proxy para acessar esses repositórios públicos ou a Internet, você precisará definir e exportar as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY no arquivo ~/.bashrc da instância de computação. Esse processo pode ser automatizado no momento do provisionamento usando um script personalizado.
Ao usar AKS (Serviço de Kubernetes do Azure) com o Azure Machine Learning, permita o seguinte tráfego para a VNet do AKS:
- Requisitos gerais de entrada/saída do AKS, conforme descrito no artigo Restringir tráfego de saída no Serviço de Kubernetes do Azure.
- Saída para mcr.microsoft.com.
- Ao implantar um modelo em um cluster do AKS, siga as diretrizes no artigo Implantar modelos de ML para o Serviço de Kubernetes do Azure.
Para obter informações sobre como usar uma solução de firewall, confira Usar um firewall com o Azure Machine Learning.
Próximas etapas
Este artigo faz parte de uma série sobre como proteger um fluxo de trabalho do Azure Machine Learning. Confira os outros artigos desta série: