Share via


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.

Dricks

Information i det här dokumentet om nätverksresurser och regler som NSG:er gäller inte för Batch-pooler utan offentliga IP-adresser som använder den privata slutpunkten för nodhantering utan utgående internetåtkomst.

Varning

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. Mer information finns i migreringsguiden för kommunikationsläge.

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 Indien, västra.
  • Regering: 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>
  • Utgående:

    • 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). De kräver följande nätverksregler i NSG:er, UDR:er och brandväggar:

  • Inkommande:

    • Ingen
  • Utgående:

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

Utgående krav för ett Batch-konto kan identifieras med hjälp av API:et För utgående nätverksberoenden. 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 regel för utgående trafik till en välkänd tjänsttagg krävs för baslinjeåtgärden.

Det förenklade läget ger också mer detaljerad dataexfiltreringskontroll över det klassiska kommunikationsläget eftersom utgående kommunikation inte Storage.<region> 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. 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>
    • Utgående:
      • Målport 443 över TCP till Storage.<region>
      • Målport 443 över ANY till BatchNodeManagement.<region>
  2. 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.
  3. 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 uppsättningen 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.
  4. Använd API:et hämta pool , listpools-API :et eller Azure-portalen för att bekräfta currentNodeCommunicationMode att är inställt på önskat kommunikationsläge för förenklat.
  5. Ändra alla tillämpliga nätverkskonfigurationer till de förenklade kommunikationsreglerna, minst (observera eventuella extra regler som behövs enligt beskrivningen ovan):
    • Inkommande:
      • Ingen
    • Utgående:
      • 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.

Dricks

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 Portal

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

Screenshot that shows creating a pool with simplified mode.

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.

Screenshot that shows updating a pool to simplified mode.

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 .

Screenshot that shows properties with a pool with simplified mode.

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ärandetext

"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. Mer information finns i migreringsguiden.
  • Molntjänstkonfigurationspooler stöds för närvarande inte för förenklad beräkningsnodkommunikation 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. Mer information finns i Migrera Konfiguration av Batch-pooler från Cloud Services till Virtuell dator.

Nästa steg