Partilhar via


Rede

Ao criar e gerenciar clusters do Azure Service Fabric, você está fornecendo conectividade de rede para seus nós e aplicativos. Os recursos de rede incluem intervalos de endereços IP, redes virtuais, balanceadores de carga e grupos de segurança de rede. Neste artigo, você aprenderá as práticas recomendadas para esses recursos.

Analise os Padrões de Rede do Azure Service Fabric para saber como criar clusters que usam os seguintes recursos: Rede virtual ou sub-rede existente, Endereço IP público estático, Balanceador de carga somente interno ou Balanceador de carga interno e externo.

Infraestrutura de Redes

Maximize o desempenho da sua Máquina Virtual com a Rede Acelerada, declarando a propriedade enableAcceleratedNetworking no seu modelo do Resource Manager, o seguinte trecho é de um Conjunto de Dimensionamento de Máquina Virtual NetworkInterfaceConfigurations que permite a Rede Acelerada:

"networkInterfaceConfigurations": [
  {
    "name": "[concat(variables('nicName'), '-0')]",
    "properties": {
      "enableAcceleratedNetworking": true,
      "ipConfigurations": [
        {
        <snip>
        }
      ],
      "primary": true
    }
  }
]

O cluster do Service Fabric pode ser provisionado no Linux com Rede Acelerada e no Windows com Rede Acelerada.

A Rede Acelerada tem suporte para SKUs da Série de Máquinas Virtuais do Azure: D/DSv2, D/DSv3, E/ESv3, F/FS, FSv2 e Ms/Mms. A Rede Acelerada foi testada com sucesso usando o SKU Standard_DS8_v3 em 23/01/2019 para um Cluster Windows do Service Fabric e usando o Standard_DS12_v2 em 29/01/2019 para um Cluster Linux do Service Fabric. Observe que a rede acelerada requer pelo menos 4 vCPUs.

Para habilitar a Rede Acelerada em um cluster existente do Service Fabric, você precisa primeiro dimensionar um cluster do Service Fabric adicionando um Conjunto de Dimensionamento de Máquina Virtual, para executar as seguintes etapas:

  1. Provisionar um NodeType com a Rede Acelerada habilitada
  2. Migre seus serviços e seu estado para o NodeType provisionado com a Rede Acelerada habilitada

A expansão da infraestrutura é necessária para habilitar a Rede Acelerada em um cluster existente, pois habilitar a Rede Acelerada no local causaria tempo de inatividade, pois exige que todas as máquinas virtuais em um conjunto de disponibilidade sejam interrompidas e deslocadas antes de habilitar a Rede Acelerada em qualquer NIC existente.

Redes do Cluster

  • Os clusters do Service Fabric podem ser implantados em uma rede virtual existente seguindo as etapas descritas nos padrões de rede do Service Fabric.

  • Os NSGs (grupos de segurança de rede) são recomendados para tipos de nó que restrinjam o tráfego de entrada e saída para seu cluster. Certifique-se de que as portas necessárias sejam abertas no NSG.

  • O tipo de nó primário, que contém os serviços do sistema Service Fabric, não precisa ser exposto por meio do balanceador de carga externo e pode ser exposto por um balanceador de carga interno

  • Use um endereço IP público estático para o cluster.

Regras de Segurança de Rede

As regras descritas a seguir são o mínimo recomendado para uma configuração típica. Também incluímos quais regras são obrigatórias para um cluster operacional se as regras opcionais não forem desejadas. Ele permite um bloqueio de segurança completo com conceitos de emparelhamento de rede e jumpbox como o Azure Bastion. A falha na abertura das portas obrigatórias ou na aprovação do IP/URL impedirá o funcionamento adequado do cluster e poderá não ser suportada.

Interna

Prioridade Name Porta Protocolo Origem Destino Ação Obrigatório
3900 Portal do Azure 19080 TCP ServiceFabric Qualquer Permitir Sim
3910 API do Cliente 19000 TCP Internet Qualquer Permitir Não
3920 SFX + API do Cliente 19080 TCP Internet Qualquer Permitir Não
3930 Cluster 1025-1027 TCP VirtualNetwork Qualquer Permitir Sim
3940 Efêmero 49152-65534 TCP VirtualNetwork Qualquer Permitir Sim
3950 Aplicação 20000-30000 TCP VirtualNetwork Qualquer Permitir Sim
3960 RDP 3389 TCP Internet Qualquer Negar Não
3970 SSH 22 TCP Internet Qualquer Negar Não
3980 Ponto de extremidade personalizado 443 TCP Internet Qualquer Negar Não

Mais informações sobre as regras de segurança de entrada:

  • Portal do Azure. Essa porta é usada pelo Provedor de Recursos do Service Fabric para consultar informações sobre seu cluster para exibir no Portal de Gerenciamento do Azure. Se essa porta não estiver acessível a partir do Provedor de Recursos do Service Fabric, você verá uma mensagem como 'Nós não encontrados' ou 'UpgradeServiceNotReachable' no portal do Azure e sua lista de nós e aplicativos aparecerá vazia. Isso significa que, se você deseja ter visibilidade do cluster no Portal de Gerenciamento do Azure, o balanceador de carga deve expor um endereço IP público e o NSG deve permitir o tráfego 19080 de entrada. Essa porta é recomendada para operações de gerenciamento estendido do Provedor de Recursos do Service Fabric para garantir maior confiabilidade.

  • API do cliente. O ponto de extremidade de conexão do cliente para APIs usadas pelo PowerShell.

  • SFX + API do cliente. Essa porta é usada pelo Service Fabric Explorer para procurar e gerenciar seu cluster. Ele é usado pelas APIs mais comuns, como REST/PowerShell (Microsoft.ServiceFabric.PowerShell.Http)/CLI/.NET da mesma maneira.

  • Aglomeração. Usado para comunicação entre nós.

  • Efémero. O Service Fabric usa uma parte dessas portas como portas de aplicativo, e as restantes estão disponíveis para o SO. Ele também mapeia esse intervalo para o intervalo existente presente no sistema operacional, portanto, para todos os fins, você pode usar os intervalos fornecidos no exemplo aqui. Certifique-se de que a diferença entre as portas inicial e final é de pelo menos 255. Você pode entrar em conflitos se essa diferença for muito baixa, porque esse intervalo é compartilhado com o sistema operacional. Para ver o intervalo de portas dinâmicas configurado, execute netsh int ipv4 show dynamicport tcp. Essas portas não são necessárias para clusters Linux.

  • Aplicação. O intervalo de portas do aplicativo deve ser grande o suficiente para cobrir o requisito de ponto de extremidade de seus aplicativos. Esse intervalo deve ser exclusivo do intervalo de portas dinâmicas na máquina, ou seja, o intervalo de portas efêmeras conforme definido na configuração. O Service Fabric usa essas portas sempre que novas portas são necessárias e cuida da abertura do firewall para essas portas nos nós.

  • PDR. Opcional, se o RDP for necessário da Internet ou VirtualNetwork para cenários de jumpbox.

  • SSH. Opcional, se o SSH for necessário da Internet ou VirtualNetwork para cenários de jumpbox.

  • Ponto de extremidade personalizado. Um exemplo para seu aplicativo habilitar um ponto de extremidade acessível pela Internet.

Nota

Para a maioria das regras com Internet como fonte, considere restringir à sua rede conhecida, idealmente definida pelo bloco CIDR.

De Saída

Prioridade Name Porta Protocolo Origem Destino Ação Obrigatório
4010 Fornecedor de Recursos 443 TCP Qualquer ServiceFabric Permitir Sim
4020 Baixar binários 443 TCP Qualquer AzureFrontDoor.FirstParty Permitir Sim

Mais informações sobre as regras de segurança de saída:

  • Provedor de recursos. Conexão entre o UpgradeService e o provedor de recursos do Service Fabric para receber operações de gerenciamento, como implantações ARM ou operações obrigatórias, como seleção de nó semente ou atualização de tipo de nó primário.

  • Baixar binários. O serviço de atualização está usando o endereço download.microsoft.com para obter os binários, essa relação é necessária para atualizações de configuração, recriação de imagem e tempo de execução. No cenário de um balanceador de carga "apenas interno", um balanceador de carga externo adicional deve ser adicionado com uma regra que permita o tráfego de saída para a porta 443. Opcionalmente, essa porta pode ser bloqueada após uma configuração bem-sucedida, mas neste caso o pacote de atualização deve ser distribuído para os nós ou a porta tem que ser aberta por um curto período de tempo, depois é necessária uma atualização manual.

Use o Firewall do Azure com log de fluxo NSG e análise de tráfego para rastrear problemas de conectividade. O modelo ARM Service Fabric com NSG é um bom exemplo para começar.

Nota

As regras de segurança de rede padrão não devem ser substituídas, pois garantem a comunicação entre os nós. Grupo de Segurança de Rede - Como funciona. Outro exemplo, a conectividade de saída na porta 80 é necessária para fazer a verificação da Lista de Revogação de Certificados.

Cenários comuns que necessitam de regras adicionais

Todos os cenários adicionais podem ser abordados com as Tags de Serviço do Azure.

Azure DevOps

As tarefas clássicas do PowerShell no Azure DevOps (Service Tag: AzureCloud) precisam de acesso à API do Cliente para o cluster, exemplos são implantações de aplicativos ou tarefas operacionais. Isso não se aplica apenas à abordagem de modelos ARM, incluindo recursos de aplicativos ARM.

Prioridade Name Porta Protocolo Origem Destino Ação Direção
3915 Azure DevOps 19000 TCP AzureCloud Qualquer Permitir Interna

Atualizando o Windows

A prática recomendada para corrigir o sistema operacional Windows é substituir o disco do sistema operacional por atualizações automáticas de imagem do sistema operacional, nenhuma regra adicional é necessária. O Aplicativo de Orquestração de Patches está gerenciando atualizações na VM onde as Atualizações do Windows aplicam patches do sistema operacional, isso precisa acessar o Centro de Download (Service Tag: AzureUpdateDelivery) para baixar os binários de atualização.

Prioridade Name Porta Protocolo Origem Destino Ação Direção
4015 Atualizações do Windows 443 TCP Qualquer AzureUpdateDelivery Permitir De Saída

Gestão de API

A integração do Gerenciamento de API do Azure (Service Tag: ApiManagement) precisa de acesso à API do Cliente para consultar informações de ponto de extremidade do cluster.

Prioridade Name Porta Protocolo Origem Destino Ação Direção
3920 Gestão de API 19080 TCP ApiManagement Qualquer Permitir Interna

Rede de aplicativos

  • Para executar cargas de trabalho de contêiner do Windows, use o modo de rede aberta para facilitar a comunicação serviço-a-serviço.

  • Use um proxy reverso, como Traefik ou o proxy reverso do Service Fabric, para expor portas comuns de aplicativos, como 80 ou 443.

  • Para Contêineres do Windows hospedados em máquinas air-gapped que não podem extrair camadas base do armazenamento em nuvem do Azure, substitua o comportamento da camada estrangeira usando o sinalizador --allow-nondistributable-artifacts no daemon do Docker.

Próximos passos