Een Azure Batch-pool in een virtueel netwerk maken

Wanneer u een Azure Batch-pool maakt, kunt u de pool inrichten in een subnet van een Azure Virtual Network dat u opgeeft. In dit artikel wordt uitgelegd hoe u een Batch-pool instelt in een virtueel netwerk.

Waarom een virtueel netwerk gebruiken?

Rekenknooppunten in een pool kunnen met elkaar communiceren, zoals het uitvoeren van taken met meerdere exemplaren, zonder dat hiervoor een afzonderlijk virtueel netwerk nodig is. Knooppunten in een pool kunnen echter standaard niet communiceren met een virtuele machine (VM) die zich buiten de pool bevindt, zoals licentie- of bestandsservers.

Als u wilt dat rekenknooppunten veilig kunnen communiceren met andere virtuele machines of met een on-premises netwerk, kunt u de pool inrichten in een subnet van een virtueel netwerk.

Vereisten

  • Verificatie. Als u een virtueel Azure-netwerk wilt gebruiken, moet de Batch-client-API gebruikmaken van Microsoft Entra-verificatie. Zie Batch-serviceoplossingen verifiëren met Active Directory voor meer informatie.

  • Een virtueel Azure-netwerk. Als u vooraf een virtueel netwerk wilt voorbereiden met een of meer subnetten, kunt u Azure Portal, Azure PowerShell, de Microsoft Azure CLI (CLI) of andere methoden gebruiken.

    • Zie Een virtueel netwerk maken om een virtueel netwerk op basis van Azure Resource Manager te maken. Een op Resource Manager gebaseerd virtueel netwerk wordt aanbevolen voor nieuwe implementaties en wordt alleen ondersteund voor pools die gebruikmaken van De configuratie van virtuele machines.

    • Zie Een virtueel netwerk (klassiek) met meerdere subnetten maken om een klassiek virtueel netwerk te maken. Een klassiek virtueel netwerk wordt alleen ondersteund voor pools die gebruikmaken van Cloud Services-configuratie.

      Belangrijk

      Vermijd het gebruik van 172.17.0.0/16 voor VNet van Azure Batch-pool. Dit is de standaardinstelling voor het Docker-brugnetwerk en kan conflicteren met andere netwerken die u wilt verbinden met het VNet. Voor het maken van een virtueel netwerk voor Azure Batch-pool is een zorgvuldige planning van uw netwerkinfrastructuur vereist.

Algemene vereisten voor het virtuele netwerk

  • Het virtuele netwerk moet zich in hetzelfde abonnement en dezelfde regio bevinden als het Batch-account dat u gebruikt om uw pool te maken.

  • Het subnet dat voor de pool is opgegeven, moet voldoende niet-toegewezen IP-adressen hebben om het aantal vm's dat is bedoeld voor de groep te kunnen gebruiken, voldoende om de targetDedicatedNodes eigenschappen van targetLowPriorityNodes de pool te kunnen opvangen. Als het subnet onvoldoende vrije IP-adressen heeft, wijst de pool de rekenknooppunten gedeeltelijk toe en wordt een fout weergegeven voor het aanpassen van de grootte.

  • Als u geen vereenvoudigde compute-knooppuntcommunicatie gebruikt, moet u uw Azure Storage-eindpunten omzetten met behulp van aangepaste DNS-servers die uw virtuele netwerk bedienen. Vooral URL's met de indeling <account>.table.core.windows.net, <account>.queue.core.windows.net en <account>.blob.core.windows.net moeten kunnen worden omgezet.

  • Er kunnen meerdere pools worden gemaakt in hetzelfde virtuele netwerk of in hetzelfde subnet (zolang het voldoende adresruimte heeft). Eén pool kan niet bestaan in meerdere virtuele netwerken of subnetten.

Andere vereisten voor virtuele netwerken verschillen, afhankelijk van of de Batch-pool zich in de VirtualMachineConfiguration of CloudServiceConfiguration. VirtualMachineConfiguration Voor Batch-pools wordt aanbevolen omdat CloudServiceConfiguration pools zijn afgeschaft.

Belangrijk

Batch-pools kunnen worden geconfigureerd in een van de twee communicatiemodi voor knooppunten. In de klassieke knooppuntcommunicatiemodus start de Batch-service communicatie met de rekenknooppunten. In de vereenvoudigde communicatiemodus voor knooppunten wordt de communicatie met de Batch-service gestart door de rekenknooppunten.

  • Elk virtueel netwerk of gekoppeld virtueel netwerk dat wordt gebruikt voor Batch-pools mag geen overlappende IP-adresbereiken hebben met softwaregedefinieerde netwerken of routering op rekenknooppunten. Een veelvoorkomende bron voor conflicten is afkomstig van het gebruik van een containerruntime, zoals docker. Docker maakt een standaardnetwerkbrug met een gedefinieerd subnetbereik van 172.17.0.0/16. Alle services die worden uitgevoerd in een virtueel netwerk in die standaard-IP-adresruimte, conflicteren met services op het rekenknooppunt, zoals externe toegang via SSH.

Pools in de configuratie van virtuele machines

Vereisten:

  • Ondersteunde virtuele netwerken: alleen op Azure Resource Manager gebaseerde virtuele netwerken.
  • Subnet-id: wanneer u het subnet opgeeft met behulp van de Batch-API's, gebruikt u de resource-id van het subnet. De subnet-id heeft de vorm van:

/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}

  • Machtigingen: controleer of uw beveiligingsbeleid of vergrendelingen op het abonnement of de resourcegroep van het virtuele netwerk de machtigingen van een gebruiker beperken om het virtuele netwerk te beheren.
  • Netwerkresources: Batch maakt automatisch meer netwerkresources in de resourcegroep die het virtuele netwerk bevat.

Belangrijk

Voor elke 100 toegewezen of knooppunten met lage prioriteit maakt Batch één netwerkbeveiligingsgroep (NSG), één openbaar IP-adres en één load balancer. De beperkingen die voor deze resources gelden, worden bepaald door de resourcequota van het abonnement. Voor grote pools moet u mogelijk een verhoging van het quotum aanvragen voor een of meer van deze resources.

Netwerkbeveiligingsgroepen voor virtuele-machineconfiguratiegroepen: Batch-standaard

Batch maakt een netwerkbeveiligingsgroep (NSG) op het niveau van de netwerkinterface van elke implementatie van een virtuele-machineschaalset in een Batch-pool. Voor pools die geen openbare IP-adressen hebben onder communicatie tussen simplified rekenknooppunten, worden NSG's niet gemaakt.

Om de benodigde communicatie tussen rekenknooppunten en de Batch-service te bieden, worden deze NSG's zodanig geconfigureerd dat:

  • Binnenkomend TCP-verkeer op poorten 29876 en 29877 van DE BATCH-service-IP-adressen die overeenkomen met BatchNodeManagement.regioservicetag . Deze regel wordt alleen gemaakt in classic de groepscommunicatiemodus.
  • Binnenkomend TCP-verkeer op poort 22 (Linux-knooppunten) of poort 3389 (Windows-knooppunten) om externe toegang toe te staan voor respectievelijk SSH of RDP op standaardpoorten. Voor bepaalde typen taken met meerdere exemplaren in Linux, zoals MPI, moet u mogelijk SSH-verkeer toestaan voor IP-adressen in het subnet met Batch-rekenknooppunten. Voor bepaalde MPI-runtimes kan het starten via SSH vereist zijn. Deze wordt doorgaans gerouteerd op privé-IP-adresruimte. Dit verkeer kan worden geblokkeerd per NSG-regels op subnetniveau.
  • Uitgaand verkeer op poort 443 naar IP-adressen van de Batch-service die overeenkomen met BatchNodeManagement.regioservicetag .
  • Uitgaand verkeer op een willekeurige poort naar het virtuele netwerk. Deze regel kan worden gewijzigd per NSG-regels op subnetniveau.
  • Uitgaand verkeer op een willekeurige poort naar internet. Deze regel kan worden gewijzigd per NSG-regels op subnetniveau.

Belangrijk

Wees voorzichtig als u binnenkomende of uitgaande regels toevoegt of wijzigt in netwerkbeveiligingsgroepen die door Batch zijn geconfigureerd. Als communicatie met de rekenknooppunten in het opgegeven subnet wordt geweigerd door een netwerkbeveiligingsgroep, zet de Batch-service de status van de rekenknooppunten op Onbruikbaar. Bovendien moeten er geen resourcevergrendelingen worden toegepast op resources die door Batch zijn gemaakt, omdat dit kan voorkomen dat resources worden opgeschoond als gevolg van door de gebruiker geïnitieerde acties, zoals het verwijderen van een pool.

Netwerkbeveiligingsgroepen voor virtuele-machineconfiguratiegroepen: regels op subnetniveau opgeven

Als u een NSG hebt die is gekoppeld aan het subnet voor Batch-rekenknooppunten, moet u deze NSG configureren met ten minste de inkomende en uitgaande beveiligingsregels die worden weergegeven in de volgende tabellen.

Waarschuwing

De IP-adressen van de Batch-service kunnen na verloop van tijd worden gewijzigd. Daarom moet u BatchNodeManagement gebruiken.regioservicetag voor de NSG-regels die worden aangegeven in de volgende tabellen. Vermijd het vullen van NSG-regels met specifieke IP-adressen voor batchservices.

Inkomende beveiligingsregels

Bronservicetag of IP-adressen Doelpoorten Protocol Groepscommunicatiemodus Vereist
BatchNodeManagement.regioservicetag 29876-29877 TCP Klassiek Ja
Bron-IP-adressen voor extern toegang tot rekenknooppunten 3389 (Windows), 22 (Linux) TCP Klassiek of vereenvoudigd Nee

Configureer inkomend verkeer op poort 3389 (Windows) of 22 (Linux) alleen als u externe toegang tot de rekenknooppunten van externe bronnen op respectievelijk rdp- of SSH-poorten moet toestaan. Mogelijk moet u SSH-verkeer op Linux toestaan als u ondersteuning nodig hebt voor taken met meerdere exemplaren met bepaalde MPI-runtimes (Message Passing Interface) in het subnet met de Batch-rekenknooppunten, omdat verkeer mogelijk wordt geblokkeerd per NSG-regels op subnetniveau. MPI-verkeer is doorgaans meer dan privé-IP-adresruimte, maar kan variëren tussen MPI-runtimes en runtimeconfiguratie. Verkeer op deze poorten is niet strikt vereist om de rekenknooppunten van de pool bruikbaar te maken. U kunt ook de standaard externe toegang op deze poorten uitschakelen door pooleindpunten te configureren.

Uitgaande beveiligingsregels

Doelservicetag Doelpoorten Protocol Groepscommunicatiemodus Vereist
BatchNodeManagement.regioservicetag 443 * Vereenvoudigd Ja
Opslag.regioservicetag 443 TCP Klassiek Ja

Uitgaand naar BatchNodeManagement.regioservicetag is vereist in classic de groepscommunicatiemodus als u Job Manager-taken gebruikt of als uw taken moeten communiceren met de Batch-service. Voor uitgaand naar BatchNodeManagement.regio in simplified de groepscommunicatiemodus, de Batch-service gebruikt momenteel alleen TCP-protocol, maar UDP is mogelijk vereist voor toekomstige compatibiliteit. Voor pools zonder openbare IP-adressen met behulp van simplified de communicatiemodus en met een privé-eindpunt voor knooppuntbeheer is een NSG niet nodig. Voor meer informatie over uitgaande beveiligingsregels voor BatchNodeManagement.regioservicetag , zie Vereenvoudigde communicatie tussen rekenknooppunten gebruiken.

Pools in de cloudservicesconfiguratie

Waarschuwing

Cloud Services-configuratiegroepen zijn afgeschaft. Gebruik in plaats daarvan configuratiegroepen voor virtuele machines.

Vereisten:

  • Ondersteunde virtuele netwerken: alleen klassieke virtuele netwerken.

  • Subnet-id: wanneer u het subnet opgeeft met behulp van de Batch-API's, gebruikt u de resource-id van het subnet. De subnet-id heeft de vorm van:

    /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.ClassicNetwork/virtualNetworks/{network}/subnets/{subnet}

  • Machtigingen: de Microsoft Azure Batch service-principal moet de Classic Virtual Machine Contributor Azure-rol hebben voor het opgegeven virtuele netwerk.

Netwerkbeveiligingsgroepen voor Cloud Services-configuratiegroepen

Het subnet moet binnenkomende communicatie van de Batch-service toestaan om taken op de rekenknooppunten te kunnen plannen en moet uitgaande communicatie toestaan om te communiceren met Azure Storage of andere resources.

U hoeft geen NSG op te geven, omdat Batch alleen binnenkomende communicatie van Batch-IP-adressen naar de poolknooppunten configureert. Als echter aan het opgegeven subnet netwerkbeveiligingsgroepen en/of een firewall zijn gekoppeld, configureert u de binnenkomende en uitgaande beveiligingsregels zoals wordt weergegeven in de volgende tabellen. Als communicatie met de rekenknooppunten in het opgegeven subnet wordt geweigerd door een netwerkbeveiligingsgroep, zet de Batch-service de status van de rekenknooppunten op Onbruikbaar.

Configureer binnenkomend verkeer op poort 3389 voor Windows alleen als u RDP-toegang tot poolknooppunten wilt toestaan. Deze regel is niet vereist om de poolknooppunten bruikbaar te maken.

Inkomende beveiligingsregels

Bron-IP-adressen Bronpoorten Doel Doelpoorten Protocol Actie
Alle

Hoewel voor deze regel in feite alles is toegestaan, past de Batch-service een ACL-regel toe op het niveau van elk knooppunt dat alle IP-adressen van niet-Batch-services filtert.
* Alle 10100, 20100, 30100 TCP Toestaan
Optioneel, voor het toestaan van RDP-toegang tot rekenknooppunten. * Alle 3389 TCP Toestaan

Uitgaande beveiligingsregels

Bron Bronpoorten Doel Doelpoorten Protocol Actie
Alle * Alle 443 Alle Toestaan

Een pool maken met een virtueel netwerk in Azure Portal

Nadat u uw virtuele netwerk hebt gemaakt en er een subnet aan hebt toegewezen, kunt u een Batch-pool maken met dat virtuele netwerk. Volg deze stappen om een pool te maken vanuit Azure Portal:

  1. Zoek en selecteer Batch-accounts in de zoekbalk boven aan Azure Portal. Selecteer uw Batch-account. Dit account moet zich in hetzelfde abonnement en dezelfde regio bevinden als de resourcegroep met het virtuele netwerk dat u wilt gebruiken.

  2. Selecteer Pools in het linkernavigatievenster.

  3. Selecteer Toevoegen in het venster Pools.

    Screenshot of the Pools page in a Batch account that highlights the Pools option in the left side navigation and add button on the Pools page.

  4. Selecteer op de pagina Pool toevoegen de opties en voer de gegevens voor uw pool in. Zie Een pool met rekenknooppunten maken voor meer informatie over het maken van pools voor uw Batch-account. Knooppuntgrootte, toegewezen doelknooppunten en doelknooppunten met een lage prioriteit en eventuele gewenste optionele instellingen.

  5. Selecteer in Virtual Network het virtuele netwerk en het subnet dat u wilt gebruiken.

  6. Selecteer OK om uw pool te maken.

Belangrijk

Als u probeert een subnet te verwijderen dat wordt gebruikt door een pool, wordt er een foutbericht weergegeven. Alle pools die een subnet gebruiken, moeten worden verwijderd voordat u dat subnet verwijdert.

Door de gebruiker gedefinieerde routes voor geforceerde tunneling

Mogelijk hebt u vereisten in uw organisatie om internetverkeer van het subnet terug te leiden naar uw on-premises locatie voor inspectie en logboekregistratie. Daarnaast hebt u mogelijk geforceerde tunneling ingeschakeld voor de subnetten in uw virtuele netwerk.

Om ervoor te zorgen dat de knooppunten in uw pool werken in een virtueel netwerk waarvoor geforceerde tunneling is ingeschakeld, moet u de volgende door de gebruiker gedefinieerde routes (UDR) voor dat subnet toevoegen.

Voor klassieke communicatiemodusgroepen:

  • De Batch-service moet communiceren met knooppunten voor het plannen van taken. Als u deze communicatie wilt inschakelen, voegt u een UDR toe die overeenkomt met batchnodemanagement.regioservicetag in de regio waar uw Batch-account bestaat. Stel het type Volgende hop in op Internet.

  • Zorg ervoor dat uw on-premises netwerk uitgaand TCP-verkeer naar Azure Storage niet blokkeert op doelpoort 443 (met name URL's van het formulier *.table.core.windows.net, *.queue.core.windows.neten *.blob.core.windows.net).

Voor vereenvoudigde communicatiemoduspools zonder privé-eindpunt voor knooppuntbeheer te gebruiken:

  • Zorg ervoor dat uw on-premises netwerk uitgaand TCP/UDP-verkeer niet blokkeert naar Azure Batch BatchNodeManagement.regioservicetag op doelpoort 443. Momenteel wordt alleen TCP-protocol gebruikt, maar mogelijk is UDP vereist voor toekomstige compatibiliteit.

Voor alle pools:

  • Als u virtuele bestandskoppelingen gebruikt, controleert u de netwerkvereisten en zorgt u ervoor dat er geen vereist verkeer wordt geblokkeerd.

Waarschuwing

De IP-adressen van de Batch-service kunnen na verloop van tijd worden gewijzigd. Als u storingen wilt voorkomen vanwege wijzigingen in het IP-adres van de Batch-service, geeft u niet rechtstreeks IP-adressen op. Gebruik in plaats daarvan BatchNodeManagement.regioservicetag.

Volgende stappen