Configurar o tráfego de rede de entrada e saída

Neste artigo, você saberá mais sobre os requisitos de comunicação de rede ao proteger o workspace do Azure Machine Learning em uma VNet (rede virtual). O artigo mostra como configurar o Firewall do Azure para controlar o acesso ao workspace do Azure Machine Learning e à Internet pública. Para saber mais sobre como proteger o Azure Machine Learning, confira Segurança corporativa para Azure Machine Learning.

Observação

As informações neste artigo se aplicarão ao workspace do Azure Machine Learning se ele usar um ponto de extremidade privado ou um ponto de extremidade de serviço.

Dica

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:

Acesso público à Internet obrigatório

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 de qual acesso é necessário e para o que ele é usado. O protocolo para todos os itens é TCP. 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:

Direção Portas Marca de serviço Finalidade
Entrada 29876-29877 BatchNodeManagement Crie, atualize e exclua a instância de computação e o cluster de cálculo do Azure Machine Learning.
Entrada 44224 AzureMachineLearning Crie, atualize e exclua a instância de computação do Azure Machine Learning.
Saída * AzureActiveDirectory Autenticação usando o Azure AD.
Saída 443 AzureMachineLearning Uso dos serviços do Azure Machine Learning.
Saída 443 AzureResourceManager Criação de recursos do Azure com o Azure Machine Learning.
Saída 443 Storage.region Acesse os dados armazenados na Conta de Armazenamento do Azure para o serviço Lote do Azure.
Saída 443 AzureFrontDoor.FrontEnd
* Não é necessário no Azure China.
Ponto de entrada global para o Estúdio do Azure Machine Learning.
Saída 443 ContainerRegistry.region Acesse as imagens do Docker fornecidas pela Microsoft.
Saída 443 MicrosoftContainerRegistry.region 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:

Os endereços IP podem ser alterados periodicamente.

Talvez você também precise permitir o tráfego de saída no Visual Studio Code e em sites que não são da Microsoft para a instalação de pacotes necessários para o seu projeto de machine learning. 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 com base no índice padrão, se houver, quando o índice não foi substituído pelas configurações do usuário. Se o índice tiver sido substituído, você deverá permitir também *.pythonhosted.org.
cloud.r-project.org Usado ao instalar pacotes CRAN para desenvolvimento de R.
*pytorch.org Usado por alguns exemplos com base em PyTorch.
*.tensorflow.org Usado por alguns exemplos com base em Tensorflow.
update.code.visualstudio.com

*.vo.msecnd.net
Usado para recuperar bits do servidor do VS Code que estão instalados na instância de computação por meio de um script de instalação.
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.

Ao usar AKS (Serviço de Kubernetes do Azure) com o Azure Machine Learning, permita o seguinte tráfego para a VNet do AKS:

Firewall do Azure

Importante

O Firewall do Azure fornece segurança para os recursos da Rede Virtual do Azure. Alguns Serviços do Azure, como Contas de Armazenamento do Microsoft Azure, possuem configurações próprias de firewall que se aplicam ao ponto de extremidade público para esse serviço específico. As informações neste documento são específicas para o Firewall do Azure.

Para obter informações sobre as configurações de firewall da instância de serviço, consulte Usar o estúdio em uma rede virtual.

  • Para o tráfego de entrada do cluster de cálculo do Azure Machine Learning e a instância de computação, use as UDRs (rotas definidas pelo usuário) para ignorar o firewall.

  • Para o tráfego de saída, crie regras de rede e aplicativo.

Essas coleções de regras são descritas mais detalhadamente no artigo Alguns conceitos do Firewall do Azure.

Configuração de entrada

Ao usar a instância de computação ou o cluster de computação do Azure Machine Learning, permita o tráfego de entrada do gerenciamento do Lote do Azure e dos serviços do Azure Machine Learning. Ao criar as rotas definidas pelo usuário para esse tráfego, use Endereços IP ou marcas de serviço para rotear o tráfego.

Importante

O uso de marcas de serviço com rotas definidas pelo usuário está atualmente em versão prévia e talvez não tenha suporte total. Para saber mais, confira Roteamento de rede virtual.

Para o serviço do Azure Machine Learning, é necessário adicionar o endereço IP das regiões primária e secundária. Para localizar a região secundária, confira Garantir continuidade dos negócios e recuperação de desastres usando Regiões Combinadas do Azure. Por exemplo, se o Serviço do Azure Machine Learning estiver no Leste dos EUA 2, a região secundária será EUA Central.

Use um dos seguintes métodos para obter uma lista de endereços IP do serviço de Lote e do serviço do Azure Machine Learning:

  • Baixe os Intervalos de IP do Azure e as Marcas de serviço e pesquise BatchNodeManagement.<region> e AzureMachineLearning.<region> no arquivo, em que <region> é a sua região do Azure.

  • Use o CLI do Azure para baixar as informações. O exemplo a seguir baixa as informações do endereço IP e filtra as informações da região Leste dos EUA 2 (primária) e da região EUA Central (secundária):

    az network list-service-tags -l "East US 2" --query "values[?starts_with(id, 'Batch')] | [?properties.region=='eastus2']"
    # Get primary region IPs
    az network list-service-tags -l "East US 2" --query "values[?starts_with(id, 'AzureMachineLearning')] | [?properties.region=='eastus2']"
    # Get secondary region IPs
    az network list-service-tags -l "Central US" --query "values[?starts_with(id, 'AzureMachineLearning')] | [?properties.region=='centralus']"
    

    Dica

    Se você estiver usando as regiões EUA – Virgínia, EUA – Arizona ou Leste da China 2, esses comandos não retornarão endereços IP. Em vez disso, use um dos links a seguir para baixar uma lista de endereços IP:

Importante

Os endereços IP podem mudar ao longo do tempo.

Durante a criação de UDR, define o Tipo do próximo salto como Internet. A imagem a seguir mostra um exemplo de UDR com base em endereço IP no portal do Azure:

Imagem de uma configuração de rota definida pelo usuário

Para saber como configurar a UDR, confira Rotear o tráfego de rede com uma tabela de roteamento.

Configuração de saída

  1. Adicione Regras de rede, permitindo tráfego de e para as seguintes marcas de serviço:

    Marca de serviço Protocolo Porta
    AzureActiveDirectory TCP *
    AzureMachineLearning TCP 443
    AzureResourceManager TCP 443
    Storage.region TCP 443
    AzureFrontDoor.FrontEnd
    * Não é necessário no Azure China.
    TCP 443
    ContainerRegistry.region TCP 443
    MicrosoftContainerRegistry.region TCP 443

    Dica

    • O ContainerRegistry.region somente é necessário para imagens personalizadas do Docker. Isso inclui pequenas modificações (como pacotes adicionais) nas imagens de base fornecidas pela Microsoft.
    • O MicrosoftContainerRegistry.region somente é necessário se você planeja usar as imagens padrão do Docker fornecidas pela Microsoft e habilitar as dependências gerenciadas pelo usuário.
    • Para entradas que contêm region, substitua pela região do Azure que você está usando. Por exemplo, ContainerRegistry.westus.
  2. Adicione Regras de aplicativo para os seguintes hosts:

    Observação

    Esta não é uma lista completa dos hosts necessários para todos os recursos do Python na Internet. Ela inclui somente os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.

    Nome do host Finalidade
    graph.windows.net Usado por instância/cluster de computação do Azure Machine Learning.
    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 com base no índice padrão, se houver, quando o índice não foi substituído pelas configurações do usuário. Se o índice tiver sido substituído, você deverá permitir também *.pythonhosted.org.
    cloud.r-project.org Usado ao instalar pacotes CRAN para desenvolvimento de R.
    *pytorch.org Usado por alguns exemplos com base em PyTorch.
    *.tensorflow.org Usado por alguns exemplos com base em Tensorflow.
    update.code.visualstudio.com

    *.vo.msecnd.net
    Usado para recuperar bits do servidor do VS Code que estão instalados na instância de computação por meio de um script de instalação.
    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 da área de trabalho) para o servidor do Visual Studio Code em execução na instância de computação.

    Em Protocolo:Porta, selecione http, https.

    Para obter mais informações sobre como configurar regras de aplicativo, confira Implantar e configurar o Firewall do Azure.

  3. Para restringir o tráfego de saída de modelos implantados no AKS (Serviço de Kubernetes do Azure), consulte os artigos Restringir o tráfego de saída no Serviço de Kubernetes do Azure e Implantar modelos de ML no Serviço de Kubernetes do Azure.

Serviço de Kubernetes do Azure

Ao usar o Serviço de Kubernetes do Azure com o Azure Machine Learning, o seguinte tráfego deve ser permitido:

Diagnóstico para suporte

Se você precisar coletar informações de diagnóstico ao trabalhar com o suporte da Microsoft, use as seguintes etapas:

  1. Adicione uma Regra de rede para permitir o tráfego de e para a marca AzureMonitor.

  2. Adicione Regras de aplicativo para os seguintes hosts. Selecione http, https para Protocolo: porta para estes hosts:

    • dc.applicationinsights.azure.com
    • dc.applicationinsights.microsoft.com
    • dc.services.visualstudio.com

    Para obter uma lista de endereços IP para os hosts do Azure Monitor, consulte Endereços IP usados pelo Azure Monitor.

Outros firewalls

A orientação nesta seção é genérica, pois cada firewall tem sua própria terminologia e configurações específicas. Se você tiver dúvidas, verifique a documentação do firewall que está usando.

O firewall poderá causar problemas quando você usar o workspace se não estiver configurado corretamente. Há vários nomes do host que são usados pelo workspace do Azure Machine Learning. As seções a seguir listam os hosts necessários para o Azure Machine Learning.

Hosts da Microsoft

Os hosts nas tabelas a seguir são de propriedade da Microsoft e fornecem os serviços necessários para o funcionamento adequado do workspace. As tabelas listam hosts para as regiões do Azure públicas, Azure Governamental e Azure China 21Vianet.

Hosts gerais do Azure

Obrigatório para Público do Azure Azure Governamental Azure China 21Vianet
Azure Active Directory login.microsoftonline.com login.microsoftonline.us login.chinacloudapi.cn
Portal do Azure management.azure.com management.azure.us management.azure.cn
Azure Resource Manager management.azure.com management.usgovcloudapi.net management.chinacloudapi.cn

Hosts do Azure Machine Learning

Importante

Na tabela a seguir, substitua <storage> pelo nome da conta de armazenamento padrão do workspace do Azure Machine Learning.

Obrigatório para Público do Azure Azure Governamental Azure China 21Vianet
Azure Machine Learning Studio ml.azure.com ml.azure.us studio.ml.azure.cn
API *.azureml.ms *.ml.azure.us *.ml.azure.cn
Notebook integrado *.notebooks.azure.net *.notebooks.usgovcloudapi.net *.notebooks.chinacloudapi.cn
Notebook integrado <storage>.file.core.windows.net <storage>.file.core.usgovcloudapi.net <storage>.file.core.chinacloudapi.cn
Notebook integrado <storage>.dfs.core.windows.net <storage>.dfs.core.usgovcloudapi.net <storage>.dfs.core.chinacloudapi.cn
Notebook integrado <storage>.blob.core.windows.net <storage>.blob.core.usgovcloudapi.net <storage>.blob.core.chinacloudapi.cn
Notebook integrado graph.microsoft.com graph.microsoft.us graph.chinacloudapi.cn
Notebook integrado *.aznbcontent.net

Hosts de instância e cluster de computação do Azure Machine Learning

Obrigatório para Público do Azure Azure Governamental Azure China 21Vianet
Instância/cluster de computação graph.windows.net graph.windows.net graph.chinacloudapi.cn
Instância de computação *.instances.azureml.net *.instances.azureml.us *.instances.azureml.cn
Instância de computação *.instances.azureml.ms
Conta de Armazenamento do Azure *.blob.core.windows.net
*.table.core.windows.net
*.queue.core.windows.net
*.blob.core.usgovcloudapi.net
*.table.core.usgovcloudapi.net
*.queue.core.usgovcloudapi.net
*blob.core.chinacloudapi.cn
*.table.core.chinacloudapi.cn
*.queue.core.chinacloudapi.cn
Cofre de Chave do Azure *.vault.azure.net *.vault.usgovcloudapi.net *.vault.azure.cn

Importante

O firewall deve permitir a comunicação com *.instances.azureml.ms pelas portas TCP 18881, 443 e 8787.

Imagens do Docker mantidas pelo Azure Machine Learning

Obrigatório para Público do Azure Azure Governamental Azure China 21Vianet
Registro de Contêiner do Azure azurecr.io azurecr.us azurecr.cn
Registro de Contêiner da Microsoft mcr.microsoft.com mcr.microsoft.com mcr.microsoft.com
Imagens pré-compiladas do Azure Machine Learning viennaglobal.azurecr.io viennaglobal.azurecr.io viennaglobal.azurecr.io

Dica

  • O Registro de Contêiner do Azure é necessário para qualquer imagem personalizada do Docker. Isso inclui pequenas modificações (como pacotes adicionais) nas imagens de base fornecidas pela Microsoft.
  • O Microsoft Container Registry somente é necessário se você planeja usar as imagens padrão do Docker fornecidas pela Microsoft e habilitar as dependências gerenciadas pelo usuário.
  • Se você planeja usar identidade federada, siga as Práticas recomendadas para proteger Serviços de Federação do Active Directory (AD FS).

Além disso, use as informações na seção de configuração de entrada para adicionar endereços IP para BatchNodeManagement e AzureMachineLearning.

Para obter informações sobre como restringir o acesso aos modelos implantados no AKS, consulte Restringir o tráfego de saída no Serviço de Kubernetes do Azure.

Dica

Se você estiver trabalhando com o Suporte da Microsoft para coletar informações de diagnóstico, você deverá permitir o tráfego de saída para os endereços IP usados por hosts do Azure Monitor. Para obter uma lista de endereços IP para os hosts do Azure Monitor, consulte Endereços IP usados pelo Azure Monitor.

Hosts do Python

Os hosts nesta seção são usados para instalar pacotes Python e são necessários durante o desenvolvimento, treinamento e implantação.

Observação

Esta não é uma lista completa dos hosts necessários para todos os recursos do Python na Internet. Ela inclui somente os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.

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 com base no índice padrão, se houver, quando o índice não foi substituído pelas configurações do usuário. Se o índice tiver sido substituído, você deverá permitir também *.pythonhosted.org.
*pytorch.org Usado por alguns exemplos com base em PyTorch.
*.tensorflow.org Usado por alguns exemplos com base em Tensorflow.

Hosts de R

Os hosts nesta seção são usados para instalar pacotes de R e são necessários durante o desenvolvimento, treinamento e implantação.

Observação

Esta não é uma lista completa dos hosts necessários para todos os recursos de R na Internet. Ela inclui somente os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.

Nome do host Finalidade
cloud.r-project.org Usado ao instalar pacotes do CRAN.

Serviço de Kubernetes do Azure

Ao usar o Serviço de Kubernetes do Azure com o Azure Machine Learning, o seguinte tráfego deve ser permitido:

Hosts do Visual Studio Code

Os hosts nesta seção são usados para instalar os pacotes do Visual Studio Code para estabelecer uma conexão remota entre o Visual Studio Code e as instâncias de computação no workspace do Azure Machine Learning.

Observação

Esta não é uma lista completa dos hosts necessários para todos os recursos do Visual Studio Code na Internet, apenas os mais comumente usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.

Nome do host Finalidade
update.code.visualstudio.com

*.vo.msecnd.net
Usado para recuperar bits do servidor do VS Code que estão instalados na instância de computação por meio de um script de instalação.
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 da área de trabalho) para o servidor do Visual Studio Code em execução na instância de computação.

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:

Para obter mais informações sobre como configurar o Firewall do Azure, consulte Tutorial: Implantar e configurar o Firewall do Azure usando o portal do Azure.