Een Azure Batch-pool maken in een virtueel netwerk

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

Waarom een Virtual Network gebruiken?

Rekenknooppunten in een pool kunnen met elkaar communiceren, zoals het uitvoeren van taken met meerdere exemplaren, zonder dat hiervoor een afzonderlijke Virtual Network 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 Virtual Network.

Prerequisites

  • Authentication. Als u een Azure Virtual Network wilt gebruiken, moet de Batch-client-API Microsoft Entra verificatie gebruiken. Zie Batch-serviceoplossingen verifiëren met Active Directory voor meer informatie.

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

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

    • Zie Een virtual network (klassiek) met meerdere subnetten maken om een klassieke Virtual Network te maken. Een klassieke Virtual Network wordt alleen ondersteund voor pools die gebruikmaken van Cloud Services-configuratie.

      Belangrijk

      Vermijd het gebruik van 172.17.0.0/16 voor Azure Batch groep VNet. Dit is de standaardinstelling voor docker bridge-netwerk 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 virtueel netwerk

  • De Virtual Network 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 plaats te bieden aan het aantal VM’s dat voor de pool is bedoeld, en voldoende om rekening te houden met de eigenschappen targetDedicatedNodes en targetLowPriorityNodes van de pool. Als het subnet onvoldoende vrije IP-adressen heeft, wijst de pool de rekenknooppunten gedeeltelijk toe en ontstaat er een resizefout.

  • Als u geen vereenvoudigde communicatie met rekenknooppunten gebruikt, moet u uw Azure Storage-eindpunten laten omzetten via aangepaste DNS-servers die uw virtuele netwerk bedienen. Met name URL’s van de vorm <account>.table.core.windows.net, <account>.queue.core.windows.net en <account>.blob.core.windows.net moeten resolveerbaar zijn.

  • 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.

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 van 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

Requirements:

  • 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:

/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 de Virtual Network de machtigingen van een gebruiker beperken om de Virtual Network 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 quotumverhoging aanvragen voor een of meer van deze resources.

Netwerkbeveiligingsgroepen voor Virtual Machine Configuration-pools: Batch-standaardinstelling

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 Batch-service-IP-adressen die overeenkomen met de servicetag BatchNodeManagement.region. Deze regel wordt alleen gemaakt in classic de groepscommunicatiemodus.
  • Al het uitgaande verkeer op poort 443 naar Batch-service-IP-adressen die overeenkomen met de servicetag BatchNodeManagement.regio.
  • Uitgaand verkeer op een poort naar het virtuele netwerk. Deze regel kan worden aangepast volgens NSG-regels op subnetniveau.
  • Uitgaand verkeer op elke poort naar het internet. Deze regel kan worden aangepast volgens NSG-regels op subnetniveau.

Opmerking

Voor pools die zijn gemaakt met een API-versie die ouder is dan2024-07-01, wordt binnenkomend TCP-verkeer op poort 22 (Linux-knooppunten) of poort 3389 (Windows-knooppunten) geconfigureerd om externe toegang via SSH of RDP toe te staan op de standaardpoorten.

Belangrijk

Wees voorzichtig als u regels voor inkomend of uitgaand verkeer wijzigt of toevoegt in NSG's die zijn geconfigureerd in Batch. Als communicatie met de rekenknooppunten in het opgegeven subnet wordt geweigerd door een NSG, stelt de Batch-service de status van de rekenknooppunten in 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

IP-adressen van Batch-services 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 invullen van NSG-regels met specifieke IP-adressen van de Batch-service.

Inkomende beveiligingsregels

Servicetag van de bron of IP-adressen Doelpoorten Protocol Groepscommunicatiemodus Vereist
BatchNodeManagement.regioservicetag 29876-29877 TCP Klassiek Yes
Bron-IP-adressen voor extern toegang tot rekenknooppunten 3389 (Windows), 22 (Linux) TCP Klassiek of vereenvoudigd No

Configureer inkomend verkeer alleen op poort 3389 (Windows) of 22 (Linux) als u externe toegang tot de rekenknooppunten van externe bronnen op respectievelijk standaard RDP- of SSH-poorten wilt 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 verloopt doorgaans via privé-IP-adresruimte, maar dit kan variëren tussen MPI-runtimes en de runtimeconfiguratie. Het toestaan van verkeer via deze poorten is niet strikt noodzakelijk opdat de rekenknooppunten van de pool bruikbaar zijn. U kunt ook de standaard externe toegang op deze poorten uitschakelen door pooleindpunten te configureren.

Uitgaande beveiligingsregels

Bestemmingsservicetag Doelpoorten Protocol Groepscommunicatiemodus Vereist
BatchNodeManagement.regioservicetag 443 * Vereenvoudigd Yes
Opslag.regioservicetag 443 TCP Klassiek Yes

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 uitgaande communicatie met BatchNodeManagement.region in de communicatiemodus van de simplified pool gebruikt de Batch-service momenteel alleen het TCP-protocol, maar UDP kan in de toekomst vereist zijn voor 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.

Een pool maken met een Virtual Network in de Azure-portal

Nadat u uw Virtual Network hebt gemaakt en er een subnet aan hebt toegewezen, kunt u een Batch-pool maken met die Virtual Network. Volg deze stappen om een pool te maken vanuit de Azure-portal:

  1. Zoek en selecteer Batch-accounts in de zoekbalk boven aan de Azure-portal. Selecteer uw Batch-account. Dit account moet zich in hetzelfde abonnement en dezelfde regio bevinden als de resourcegroep met de Virtual Network die u wilt gebruiken.

  2. Selecteer Pools in het linkernavigatievenster.

  3. Selecteer Toevoegen in het venster Pools.

    Schermopname van de pagina Pools in een Batch-account, waarop de optie Pools in de linkernavigatie en de knop Toevoegen op de pagina Pools zijn gemarkeerd.

  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 virtual network en 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 groep, 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. Bovendien hebt u geforceerde tunneling ingeschakeld voor de subnetten in uw Virtual Network.

Om ervoor te zorgen dat de knooppunten in uw pool werken in een Virtual Network 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 niet blokkeert naar Azure Storage 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 naar de Azure Batch BatchNodeManagement niet blokkeert.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

IP-adressen van Batch-services 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