Netwerken

Wanneer u Azure Service Fabric-clusters maakt en beheert, biedt u netwerkconnectiviteit voor uw knooppunten en toepassingen. De netwerkresources omvatten IP-adresbereiken, virtuele netwerken, load balancers en netwerkbeveiligingsgroepen. In dit artikel leert u de aanbevolen procedures voor deze resources.

Bekijk Azure Service Fabric-netwerkpatronen voor meer informatie over het maken van clusters die gebruikmaken van de volgende functies: Bestaand virtueel netwerk of subnet, statisch openbaar IP-adres, interne load balancer of interne en externe load balancer.

Infrastructuurnetwerken

Maximaliseer de prestaties van uw virtuele machine met Versneld netwerken door de eigenschap enableAcceleratedNetworking in uw Resource Manager-sjabloon te declareren. Het volgende codefragment is van een Virtual Machine Scale Set NetworkInterfaceConfigurations waarmee versneld netwerken mogelijk zijn:

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

Service Fabric-cluster kan worden ingericht in Linux met versneld netwerken en Windows met versneld netwerken.

Versneld netwerken wordt ondersteund voor SKU's uit de Azure Virtual Machine Series: D/DSv2, D/DSv3, E/ESv3, F/FS, FSv2 en Ms/Mms. Versneld netwerken is getest met behulp van de Standard_DS8_v3 SKU op 23-01-2019 voor een Service Fabric Windows-cluster en het gebruik van Standard_DS12_v2 op 29-01-2019 voor een Service Fabric Linux-cluster. Houd er rekening mee dat versneld netwerken minimaal 4 vCPU's vereist.

Als u versneld netwerken wilt inschakelen voor een bestaand Service Fabric-cluster, moet u eerst een Service Fabric-cluster uitschalen door een virtuele-machineschaalset toe te voegen om de volgende stappen uit te voeren:

  1. Een NodeType inrichten waarvoor versneld netwerken is ingeschakeld
  2. Uw services en hun status migreren naar het ingerichte NodeType met Versneld netwerken ingeschakeld

Het uitschalen van de infrastructuur is vereist om versneld netwerken in te schakelen op een bestaand cluster, omdat het inschakelen van versneld netwerken tot downtime zou leiden, omdat alle virtuele machines in een beschikbaarheidsset moeten worden gestopt en de toewijzing ongedaan moet worden gemaakt voordat versneld netwerken op een bestaande NIC worden ingeschakeld.

Clusternetwerken

  • Service Fabric-clusters kunnen worden geïmplementeerd in een bestaand virtueel netwerk door de stappen te volgen die worden beschreven in Service Fabric-netwerkpatronen.

  • Netwerkbeveiligingsgroepen (NSG's) worden aanbevolen voor knooppunttypen om inkomend en uitgaand verkeer naar hun cluster te beperken. Zorg ervoor dat de benodigde poorten worden geopend in de NSG.

  • Het primaire knooppunttype, dat de Service Fabric-systeemservices bevat, hoeft niet beschikbaar te worden gesteld via de externe load balancer en kan worden weergegeven door een interne load balancer

  • Gebruik een statisch openbaar IP-adres voor uw cluster.

Netwerkbeveiligingsregels

De volgende regels zijn het aanbevolen minimum voor een typische configuratie. We nemen ook op welke regels verplicht zijn voor een operationeel cluster als optionele regels niet gewenst zijn. Hiermee kunt u een volledige beveiligingsvergrendeling met netwerkpeering en jumpbox-concepten zoals Azure Bastion. Als u de verplichte poorten niet opent of de IP/URL goedkeurt, wordt de juiste werking van het cluster voorkomen en wordt dit mogelijk niet ondersteund.

Inkomend

Prioriteit Name Poort Protocol Bron Doel Actie Verplicht
3900 Azure Portal 19080 TCP ServiceFabric Alle Toestaan Ja
3910 Client-API 19000 TCP Internet Alle Toestaan Nee
3920 SFX + Client-API 19080 TCP Internet Alle Toestaan Nee
3930 Cluster 1025-1027 TCP VirtualNetwork Alle Toestaan Ja
3940 Kortstondige 49152-65534 TCP VirtualNetwork Alle Toestaan Ja
3950 Toepassing 20000-30000 TCP VirtualNetwork Alle Toestaan Ja
3960 RDP 3389 TCP Internet Alle Weigeren Nee
3970 SSH 22 TCP Internet Alle Weigeren Nee
3980 Aangepast eindpunt 443 TCP Internet Alle Weigeren Nee

Meer informatie over de binnenkomende beveiligingsregels:

  • Azure-portal. Deze poort wordt door de Service Fabric-resourceprovider gebruikt om query's uit te voeren op informatie over uw cluster om deze weer te geven in azure Management Portal. Als deze poort niet toegankelijk is vanuit de Service Fabric-resourceprovider, ziet u een bericht zoals 'Knooppunten niet gevonden' of 'UpgradeServiceNotReachable' in de Azure-portal en wordt uw knooppunt- en toepassingslijst leeg weergegeven. Dit betekent dat als u zichtbaarheid van uw cluster in Azure Management Portal wilt hebben, uw load balancer een openbaar IP-adres moet weergeven en uw NSG binnenkomend 19080-verkeer moet toestaan. Deze poort wordt aanbevolen voor uitgebreide beheerbewerkingen van de Service Fabric-resourceprovider om een hogere betrouwbaarheid te garanderen.

  • Client-API. Het eindpunt van de clientverbinding voor API's die worden gebruikt door PowerShell.

  • SFX + Client-API. Deze poort wordt gebruikt door Service Fabric Explorer om door uw cluster te bladeren en te beheren. Het wordt op dezelfde manier gebruikt door de meest voorkomende API's, zoals REST/PowerShell (Microsoft.ServiceFabric.PowerShell.Http)/CLI/.NET.

  • Cluster. Wordt gebruikt voor communicatie tussen knooppunten.

  • Kortstondig. Service Fabric maakt gebruik van een deel van deze poorten als toepassingspoorten en de resterende poorten zijn beschikbaar voor het besturingssysteem. Het wijst dit bereik ook toe aan het bestaande bereik dat aanwezig is in het besturingssysteem, dus voor alle doeleinden kunt u de bereiken in het voorbeeld hier gebruiken. Zorg ervoor dat het verschil tussen de begin- en eindpoorten ten minste 255 is. Er kunnen conflicten optreden als dit verschil te laag is, omdat dit bereik wordt gedeeld met het besturingssysteem. Als u het geconfigureerde dynamische poortbereik wilt zien, voert u netsh int ipv4 uit om dynamicport tcp weer te geven. Deze poorten zijn niet nodig voor Linux-clusters.

  • Toepassing. Het poortbereik van de toepassing moet groot genoeg zijn om de eindpuntvereiste van uw toepassingen te dekken. Dit bereik moet exclusief zijn van het dynamische poortbereik op de computer, dat wil gezegd het kortstondigePorts-bereik zoals ingesteld in de configuratie. Service Fabric gebruikt deze poorten wanneer er nieuwe poorten nodig zijn en zorgt ervoor dat de firewall voor deze poorten op de knooppunten wordt geopend.

  • RDP. Optioneel, als RDP is vereist via internet of VirtualNetwork voor jumpbox-scenario's.

  • SSH. Optioneel, als SSH is vereist via internet of VirtualNetwork voor jumpbox-scenario's.

  • Aangepast eindpunt. Een voorbeeld voor uw toepassing om een toegankelijk eindpunt voor internet in te schakelen.

Notitie

Voor de meeste regels met internet als bron kunt u overwegen om te beperken tot uw bekende netwerk, ideaal gedefinieerd door CIDR-blok.

Uitgaand

Prioriteit Name Poort Protocol Bron Doel Actie Verplicht
4010 Resourceprovider 443 TCP Alle ServiceFabric Toestaan Ja
4020 Binaire bestanden downloaden 443 TCP Alle AzureFrontDoor.FirstParty Toestaan Ja

Meer informatie over de uitgaande beveiligingsregels:

  • Resourceprovider. Verbinding maken tussen UpgradeService en Service Fabric-resourceprovider voor het ontvangen van beheerbewerkingen, zoals ARM-implementaties of verplichte bewerkingen, zoals seed-knooppuntselectie of upgrade van het primaire knooppunttype.

  • Download binaire bestanden. De upgradeservice gebruikt het adres download.microsoft.com om de binaire bestanden op te halen. Deze relatie is nodig voor het instellen, opnieuw maken van installatiekopieën en runtime-upgrades. In het scenario van een 'interne alleen'-load balancer moet er een extra externe load balancer worden toegevoegd met een regel die uitgaand verkeer toestaat voor poort 443. Deze poort kan eventueel worden geblokkeerd na een geslaagde installatie, maar in dit geval moet het upgradepakket worden gedistribueerd naar de knooppunten of moet de poort gedurende korte tijd worden geopend, waarna een handmatige upgrade nodig is.

Gebruik Azure Firewall met NSG-stroomlogboek- en verkeersanalyse om verbindingsproblemen bij te houden. De ARM-sjabloon Service Fabric met NSG is een goed voorbeeld om te beginnen.

Notitie

De standaardregels voor netwerkbeveiliging mogen niet worden overschreven omdat ze zorgen voor de communicatie tussen de knooppunten. Netwerkbeveiligingsgroep: hoe het werkt. Een ander voorbeeld: uitgaande connectiviteit op poort 80 is nodig om de controle van de certificaatintrekkingslijst uit te voeren.

Veelvoorkomende scenario's waarvoor aanvullende regels nodig zijn

Alle aanvullende scenario's kunnen worden behandeld met Azure-servicetags.

Azure DevOps

De klassieke PowerShell-taken in Azure DevOps (servicetag: AzureCloud) hebben client-API-toegang tot het cluster nodig. Voorbeelden hiervan zijn implementaties van toepassingen of operationele taken. Dit geldt niet alleen voor de ARM-sjablonen, inclusief ARM-toepassingsbronnen.

Prioriteit Name Poort Protocol Bron Doel Actie Richting
3915 Azure DevOps 19000 TCP AzureCloud Alle Toestaan Inkomend

Windows bijwerken

Aanbevolen procedure voor het patchen van het Windows-besturingssysteem is het vervangen van de besturingssysteemschijf door automatische upgrades van installatiekopieën van het besturingssysteem. Er is geen extra regel vereist. De Patch Orchestration-toepassing beheert upgrades in vm's waarbij Windows Updates patches voor het besturingssysteem toepast. Dit heeft toegang nodig tot het Downloadcentrum (Service Tag: AzureUpdateDelivery) om de binaire updatebestanden te downloaden.

Prioriteit Name Poort Protocol Bron Doel Actie Richting
4015 Windows-updates 443 TCP Alle AzureUpdateDelivery Toestaan Uitgaand

API Management

De integratie van Azure API Management (Service Tag: ApiManagement) heeft client-API-toegang nodig om eindpuntgegevens uit het cluster op te vragen.

Prioriteit Name Poort Protocol Bron Doel Actie Richting
3920 API Management 19080 TCP ApiManagement Alle Toestaan Inkomend

Toepassingsnetwerken

  • Als u Windows-containerworkloads wilt uitvoeren, gebruikt u de open netwerkmodus om de communicatie tussen services eenvoudiger te maken.

  • Gebruik een omgekeerde proxy, zoals Traefik of de omgekeerde Proxy van Service Fabric, om algemene toepassingspoorten beschikbaar te maken, zoals 80 of 443.

  • Voor Windows-containers die worden gehost op air-gapped-machines die geen basislagen kunnen ophalen uit Azure-cloudopslag, overschrijft u het gedrag van de refererende laag met behulp van de vlag --allow-nondistributable-artifacts in de Docker-daemon.

Volgende stappen