Använda förenklad kommunikation med beräkningsnoder

En Azure Batch-pool innehåller en eller flera beräkningsnoder som kör användardefinierade arbetsbelastningar i form av Batch-uppgifter. För att aktivera Batch-funktioner och hantering av Batch-poolinfrastruktur måste beräkningsnoder kommunicera med Azure Batch-tjänsten.

Batch stöder två typer av kommunikationslägen:

  • Klassisk: Batch-tjänsten initierar kommunikation med beräkningsnoderna.
  • Förenklat: beräkningsnoderna initierar kommunikation med Batch-tjänsten.

Den här artikeln beskriver det förenklade kommunikationsläget och de associerade nätverkskonfigurationskraven.

Warning

Det klassiska kommunikationsläget för beräkningsnoder dras tillbaka den 31 mars 2026 och ersätts med det förenklade kommunikationsläget som beskrivs i det här dokumentet.

Important

Förstå två oberoende inställningar innan du konfigurerar förenklat läge:

  • Offentliga IP-adresser för pooler styr själva nätverket av beräkningsnoder (om virtuella datorer har offentliga IP-adresser för utgående Internetåtkomst).
  • Kontoåtkomst till offentligt nätverk (publicNetworkAccess) styr om Batch-tjänstslutpunkterna (inklusive nodhanteringsslutpunkten) accepterar anslutningar från det offentliga Internet.

De här inställningarna är oberoende. En pool kan ha offentliga IP-adresser på sina beräkningsnoder, medan Batch-kontot har åtkomst till det offentliga nätverket inaktiverat. I förenklat läge initierar beräkningsnoder utgående anslutningar till batchnodhanteringsslutpunkten. Om Batch-kontot har publicNetworkAccessangetts till Inaktiverat avvisar nodhanteringsslutpunkten offentliga anslutningar – även om poolen har offentliga IP-adresser och NSG tillåter utgående trafik. I det här fallet måste du skapa en privat nodHantera privat slutpunkt så att beräkningsnoder kan nå nodhanteringstjänsten via en privat anslutning.

Tips/Råd

Om poolen inte använder några offentliga IP-adresser med en nodHantera privat slutpunkt och inte har någon utgående internetåtkomst, gäller inte NSG- och brandväggsreglerna som beskrivs i det här dokumentet för din konfiguration.

Regioner som stöds

Förenklad kommunikation med beräkningsnoder i Azure Batch är för närvarande tillgänglig för följande regioner:

  • Offentlig: alla offentliga regioner där Batch finns förutom Västindien.
  • Regeringen: USGov Arizona, USGov Virginia, USGov Texas.
  • Kina: alla Kina-regioner där Batch finns förutom Kina, norra 1 och Kina, östra 1.

Skillnader mellan klassiska och förenklade lägen

Det förenklade kommunikationsläget för beräkningsnoder effektiviserar hur Batch-poolinfrastrukturen hanteras för användarnas räkning. Det här kommunikationsläget minskar komplexiteten och omfattningen för inkommande och utgående nätverksanslutningar som krävs i baslinjeåtgärder.

Batchpooler med det klassiska kommunikationsläget kräver följande nätverksregler i nätverkssäkerhetsgrupper (NSG), användardefinierade vägar (UDR) och brandväggar när du skapar en pool i ett virtuellt nätverk:

  • Inkommande:

    • Målportar 29876, 29877 via TCP från BatchNodeManagement.<region>
  • Outbound:

    • Målport 443 över TCP till Storage.<region>
    • Målport 443 över TCP till BatchNodeManagement.<region> för vissa arbetsbelastningar som kräver kommunikation tillbaka till Batch-tjänsten, till exempel Job Manager-uppgifter

Batch-pooler med det förenklade kommunikationsläget behöver bara utgående åtkomst till Batch-kontots slutpunkt för nodhantering (se Offentliga slutpunkter för Batch-konto). När Batch-kontot är publicNetworkAccessinställt på Aktiverad (standard) kräver det följande nätverksregler i NSG:er, UDR:er och brandväggar:

  • Inkommande:

    • Ingen
  • Outbound:

    • Målport 443 över ANY till BatchNodeManagement.<region>

När Batch-kontot har publicNetworkAccessangetts till Inaktiverat räcker den föregående utgående regeln till BatchNodeManagement.<region> ensam inte – nodhanteringsslutpunkten avvisar publika anslutningar. I det här fallet måste du:

  1. Skapa en nodeManagement privat slutpunkt i poolens virtuella nätverk.
  2. Konfigurera DNS så att nodhanteringsslutpunkten matchar ip-adressen för den privata slutpunkten.
  3. Se till att nätverkssökvägen (NSG, UDR) tillåter TCP/443 från poolundernätet till det privata slutpunktsundernätet.

Mer information finns i Använda privata slutpunkter med Batch-konton.

Important

Om kontots offentliga nätverksåtkomst är inaktiverad och ingen nodHantera privat slutpunkt har konfigurerats kan beräkningsnoder i förenklat kommunikationsläge inte ansluta till nodhanteringstjänsten – även om poolen har offentliga IP-adresser och NSG tillåter utgående trafik till BatchNodeManagement.<region>. Detta resulterar i att noder går till ett oanvändbart tillstånd. Lös problemet genom att skapa den privata slutpunkten nodeManagement och verifiera DNS-upplösning. Mer information finns i felsökningsavsnittet.

Utgående krav för ett Batch-konto kan identifieras med hjälp av API:et Lista utgående nätverksberoendepunkter. Det här API:et rapporterar basuppsättningen av beroenden, beroende på kommunikationsläget för Batch-kontopoolen. Användarspecifika arbetsbelastningar kan behöva extra regler som att öppna trafik till andra Azure-resurser (till exempel Azure Storage för programpaket, Azure Container Registry) eller slutpunkter som Microsoft-paketlagringsplatsen för monteringsfunktioner för virtuella filsystem.

Fördelar med förenklat läge

Azure Batch-användare som använder det förenklade läget drar nytta av förenkling av nätverksanslutningar och regler. Förenklad kommunikation med beräkningsnoder bidrar till att minska säkerhetsriskerna genom att ta bort kravet på att öppna portar för inkommande kommunikation från Internet. Endast en enda utgående regel till en välkänd tjänsttagg krävs för baslinjefunktionen.

Det förenklade läget ger också mer detaljerad kontroll av dataexfiltrering över det klassiska kommunikationsläget eftersom utgående kommunikation till Storage.<region> inte längre krävs. Du kan uttryckligen låsa utgående kommunikation till Azure Storage om det behövs för ditt arbetsflöde. Du kan till exempel begränsa dina regler för utgående kommunikation till Azure Storage för att aktivera dina AppPackage-lagringskonton eller andra lagringskonton för resursfiler eller utdatafiler.

Även om dina arbetsbelastningar för närvarande inte påverkas av ändringarna (enligt beskrivningen i följande avsnitt) rekommenderar vi att du går över till det förenklade läget. Framtida förbättringar i Batch-tjänsten kanske bara fungerar med förenklad beräkningsnodkommunikation.

Potentiell påverkan mellan klassiska och förenklade kommunikationslägen

I många fall påverkar inte det förenklade kommunikationsläget dina Batch-arbetsbelastningar direkt. Förenklad kommunikation med beräkningsnoder påverkar dock följande fall:

  • Användare som anger ett virtuellt nätverk som en del av skapandet av en Batch-pool och utför en eller båda av följande åtgärder:
    • Inaktivera uttryckligen regler för utgående nätverkstrafik som inte är kompatibla med förenklad beräkningsnodkommunikation.
    • Använd UDR:er och brandväggsregler som inte är kompatibla med förenklad kommunikation med beräkningsnoder.
  • Användare som aktiverar programvarubrandväggar på beräkningsnoder och uttryckligen inaktiverar utgående trafik i brandväggsregler för programvara som inte är kompatibla med förenklad kommunikation med beräkningsnoder.

Om något av dessa fall gäller för dig följer du stegen som beskrivs i nästa avsnitt för att se till att Batch-arbetsbelastningarna fortfarande kan fungera i förenklat läge. Vi rekommenderar starkt att du testar och verifierar alla dina ändringar i en utvecklings- och testmiljö först innan du skickar ändringarna till produktion.

Nödvändiga nätverkskonfigurationsändringar för förenklat läge

Följande steg krävs för att migrera till det nya kommunikationsläget:

  1. Kontrollera inställningen för offentlig nätverksåtkomst för ditt Batch-konto. Om publicNetworkAccess är inställt på Inaktiverad måste du skapa en privat nodHantera privat slutpunkt i poolens virtuella nätverk och konfigurera DNS innan du fortsätter. Utan detta kan beräkningsnoder i förenklat läge inte ansluta till Batch-tjänsten oavsett NSG-regler. Mer information finns i Använda privata slutpunkter med Azure Batch-konton.
  2. Se till att nätverkskonfigurationen som gäller för Batch-pooler (NSG:er, UDR:er, brandväggar osv.) innehåller en union av lägena, dvs. de kombinerade nätverksreglerna för både klassiska och förenklade lägen. Dessa regler skulle åtminstone vara:
    • Inkommande:
      • Målportar 29876, 29877 via TCP från BatchNodeManagement.<region>
    • Outbound:
      • Målport 443 över TCP till Storage.<region>
      • Målport 443 över ANY till BatchNodeManagement.<region>
  3. Om du har andra scenarier för inkommande eller utgående trafik som krävs av arbetsflödet måste du se till att dina regler återspeglar dessa krav.
  4. Använd något av följande alternativ för att uppdatera dina arbetsbelastningar för att använda det nya kommunikationsläget.
    • Skapa nya pooler med targetNodeCommunicationMode inställd på förenklad och verifiera att de nya poolerna fungerar korrekt. Migrera arbetsbelastningen till de nya poolerna och ta bort tidigare pooler.
    • Uppdatera befintlig poolegenskap targetNodeCommunicationMode till förenklad och ändra sedan storlek på alla befintliga pooler till noll noder och skala ut igen.
  5. Använd Get Pool-API:et, List Pool-API:et eller Azure-portalen för att bekräfta currentNodeCommunicationMode är inställt på det önskade kommunikationsläget "förenklat".
  6. Ändra alla tillämpliga nätverkskonfigurationer till de förenklade kommunikationsreglerna, minst (observera eventuella extra regler som behövs enligt beskrivningen ovan):
    • Inkommande:
      • Ingen
    • Outbound:
      • Målport 443 över ANY till BatchNodeManagement.<region>

Om du följer de här stegen, men senare vill växla tillbaka till klassisk kommunikation med beräkningsnoder, måste du vidta följande åtgärder:

  1. Återställ alla nätverkskonfigurationer som endast fungerar i förenklat kommunikationsläge för beräkningsnoder.
  2. Skapa nya pooler eller uppdatera den befintliga poolegenskapen targetNodeCommunicationMode inställd på klassisk.
  3. Migrera din arbetsbelastning till dessa pooler eller ändra storlek på befintliga pooler och skala ut igen (se steg 3 ovan).
  4. Se steg 4 ovan för att bekräfta att dina pooler fungerar i klassiskt kommunikationsläge.
  5. Du kan också återställa nätverkskonfigurationen.

Ange kommunikationsläget i en Batch-pool

Med egenskapen targetNodeCommunicationMode i Batch-pooler kan du ange en inställning till Batch-tjänsten för vilket kommunikationsläge som ska användas mellan Batch-tjänsten och beräkningsnoderna. Följande är de tillåtna alternativen för den här egenskapen:

  • Klassisk: skapar poolen med hjälp av klassisk beräkningsnodkommunikation.
  • Förenklad: skapar poolen med hjälp av förenklad kommunikation med beräkningsnoder.
  • Standard: gör att Batch-tjänsten kan välja lämpligt kommunikationsläge för beräkningsnoder. För pooler utan ett virtuellt nätverk kan poolen skapas i antingen klassiskt eller förenklat läge. För pooler med ett virtuellt nätverk är poolen alltid klassisk fram till den 30 september 2024. Mer information finns i migreringsguiden för det klassiska kommunikationsläget för beräkningsnoder.

Tips/Råd

Att ange målnodens kommunikationsläge anger en inställning för Batch-tjänsten, men garanterar inte att den kommer att respekteras. Vissa konfigurationer i poolen kan hindra Batch-tjänsten från att uppfylla det angivna kommunikationsläget för målnoder, till exempel interaktion utan offentlig IP-adress, virtuella nätverk och poolkonfigurationstypen.

Följande är exempel på hur du skapar en Batch-pool med förenklad beräkningsnodkommunikation.

Azure-portalen

Logga först in till Azure-portalen. Navigera sedan till fliken Pooler för ditt Batch-konto och välj den Lägg till knappen. Under rubriken VALFRIA INSTÄLLNINGAR kan du välja Förenklad som ett alternativ från den nedrullningsbara listan för nodkommunikationsläge enligt följande:

Skärmbild som visar hur du skapar en pool med förenklat läge.

Om du vill uppdatera en befintlig pool till förenklat kommunikationsläge går du till bladet Pooler för ditt Batch-konto och väljer den pool som ska uppdateras. I det vänstra navigeringsfönstret väljer du Nodkommunikationsläge. Där kan du välja ett nytt kommunikationsläge för målnoder enligt nedan. När du har valt lämpligt kommunikationsläge väljer du knappen Spara för att uppdatera. Du måste först skala ned poolen till noll noder och sedan gå tillbaka ut för att ändringen ska börja gälla om villkoren tillåter det.

Skärmbild som visar uppdatering av en pool till förenklat läge.

Om du vill visa det aktuella nodkommunikationsläget för en pool går du till bladet Pooler för ditt Batch-konto och väljer den pool som ska visas. Välj Egenskaper i det vänstra navigeringsfönstret så visas kommunikationsläget för poolnoden under avsnittet Allmänt .

Skärmbild som visar egenskaper med en pool med förenklat läge.

REST-API

Det här exemplet visar hur du använder REST-API :et för Batch Service för att skapa en pool med förenklad kommunikation med beräkningsnoder.

POST {batchURL}/pools?api-version=2022-10-01.16.0
client-request-id: 00000000-0000-0000-0000-000000000000

begäranens innehåll

"pool": {
     "id": "pool-simplified",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

Begränsningar

Följande är kända begränsningar i det förenklade kommunikationsläget:

  • Begränsat migreringsstöd för tidigare skapade pooler utan offentliga IP-adresser. Dessa pooler kan bara migreras om de skapas i ett virtuellt nätverk, annars använder de inte förenklad kommunikation med beräkningsnoder, även om de anges i poolen.
  • Molntjänstkonfigurationspooler stöds inte för förenklad kommunikation med beräkningsnoder och är inaktuella. Att ange ett kommunikationsläge för dessa typer av pooler respekteras inte och resulterar alltid i klassiskt kommunikationsläge. Vi rekommenderar att du använder Virtual Machine Configuration för dina Batch-pooler.

Nästa steg