Dela via


Skapa en förenklad nodkommunikationspool utan offentliga IP-adresser

Kommentar

Detta ersätter den tidigare förhandsversionen av Azure Batch-poolen utan offentliga IP-adresser. Den nya versionen kräver förenklad kommunikation med beräkningsnoder.

Viktigt!

Stödet för pooler utan offentliga IP-adresser i Azure Batch är för närvarande tillgängligt i utvalda regioner.

När du skapar en Azure Batch-pool kan du etablera konfigurationspoolen för den virtuella datorn utan någon offentlig IP-adress. I artikeln beskrivs hur du konfigurerar en Batch-pool utan offentliga IP-adresser.

Varför ska du använda en pool utan offentliga IP-adresser?

Som standard tilldelas alla beräkningsnoder i en virtuell datorkonfigurationspool i Azure Batch en offentlig IP-adress. Den här adressen används av Batch-tjänsten för att stödja utgående åtkomst till Internet samt inkommande åtkomst till beräkningsnoder från Internet.

Om du vill begränsa åtkomsten till dessa noder och minska identifieringen av noderna från Internet, kan du etablera poolen utan offentliga IP-adresser.

Förutsättningar

Viktigt!

Förutsättningarna har ändrats från den tidigare förhandsversionen av den här funktionen. Se till att granska varje objekt för ändringar innan du fortsätter.

  • Använd förenklad kommunikation med beräkningsnoder. Mer information finns i Använda förenklad kommunikation med beräkningsnoder.

  • Batch-klient-API:et måste använda Microsoft Entra-autentisering. Azure Batch-stöd för Microsoft Entra-ID dokumenteras i Autentisera Batch-tjänstlösningar med Active Directory.

  • Skapa din pool i ett virtuellt Azure-nätverk (VNet) och följ dessa krav och konfigurationer. Om du vill förbereda ett virtuellt nätverk med ett eller flera undernät i förväg kan du använda Azure-portalen, Azure PowerShell, Azure-kommandoradsgränssnittet (Azure CLI) eller andra metoder.

    • Det virtuella nätverket måste vara i samma prenumeration och region som det Batch-konto som du använder för att skapa din pool.

    • Det undernät som anges för poolen måste ha tillräckliga otilldelade IP-adresser för det antal virtuella datorer som är mål för poolen. Summan av egenskaperna targetDedicatedNodes och targetLowPriorityNodes för poolen. Om undernätet inte har tillräckligt med lediga IP-adresser, allokerar poolen datornoderna partiellt och ett storleksändringsfel inträffar.

    • Om du planerar att använda en privat slutpunkt och det virtuella nätverket har aktiverat principen för privat slutpunktsnätverk kontrollerar du att den inkommande anslutningen med TCP/443 till undernätet som är värd för den privata slutpunkten måste tillåtas från Batch-poolens undernät.

  • Aktivera utgående åtkomst för Batch-nodhantering. En pool utan offentliga IP-adresser har inte internetutgående åtkomst aktiverad som standard. Välj något av följande alternativ för att tillåta beräkningsnoder att komma åt Batch-nodhanteringstjänsten (se Använda förenklad kommunikation med beräkningsnoder):

Viktigt!

Det finns två underresurser för privata slutpunkter med Batch-konton. Använd den privata slutpunkten nodeManagement för Batch-poolen utan offentliga IP-adresser. Mer information finns i Använda privata slutpunkter med Azure Batch-konton.

Aktuella begränsningar

  1. Pooler utan offentliga IP-adresser måste använda Konfiguration av virtuell dator och inte Cloud Services-konfiguration.
  2. Anpassad slutpunktskonfiguration för Batch-beräkningsnoder fungerar inte med pooler utan offentliga IP-adresser.
  3. Eftersom det inte finns några offentliga IP-adresser kan du inte använda dina egna angivna offentliga IP-adresser med den här typen av pool.
  4. Aktivitetsautentiseringstoken för Batch-aktiviteten stöds inte. Lösningen är att använda Batch-pool med hanterade identiteter.

Skapa en pool utan offentliga IP-adresser i Azure-portalen

  1. Om det behövs skapar du en privat nodHantera privat slutpunkt för ditt Batch-konto i det virtuella nätverket (se kravet på utgående åtkomst i krav).
  2. Navigera till ditt Batch-konto i Azure Portal.
  3. I fönstret Inställningar till vänster väljer du Pooler.
  4. I fönstret Pooler väljer du Lägg till.
  5. I fönstret Lägg till pool väljer du det alternativ som du tänker använda i listrutan Bildtyp .
  6. Välj rätt utgivare/erbjudande/Sku för avbildningen.
  7. Ange de återstående nödvändiga inställningarna, inklusive nodstorleken, dedikerade målnoder och noder med målplats/låg prioritet.
  8. För Nodkommunikationsläge väljer du Förenklad under Valfritt Inställningar.
  9. Välj ett virtuellt nätverk och undernät som du vill använda. Det här virtuella nätverket måste finnas på samma plats som poolen du skapar.
  10. I IP-adressetableringstyp väljer du NoPublicIPAddresses.

Följande skärmbild visar de element som måste ändras för att skapa en pool utan offentliga IP-adresser.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Använd Batch REST API för att skapa en pool utan offentliga IP-adresser

I följande exempel visas hur du använder REST-API:et för Batch-tjänsten för att skapa en pool som använder offentliga IP-adresser.

REST API-URI

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

Begärandetext

"pool": {
     "id": "pool-npip",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "networkConfiguration": {
          "subnetId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Network/virtualNetworks/<your_vnet_name>/subnets/<your_subnet_name>",
          "publicIPAddressConfiguration": {
               "provision": "NoPublicIPAddresses"
          }
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

Skapa en pool utan offentliga IP-adresser med hjälp av ARM-mall

Du kan använda den här Azure-snabbstartsmallen för att skapa en pool utan offentliga IP-adresser med hjälp av EN ARM-mall (Azure Resource Manager).

Följande resurser distribueras av mallen:

  • Azure Batch-konto med IP-brandväggen konfigurerad för att blockera åtkomst till offentliga nätverk till batchnodhanteringsslutpunkten
  • Virtuellt nätverk med nätverkssäkerhetsgrupp för att blockera utgående internetåtkomst
  • Privat slutpunkt för åtkomst till batchnodhanteringsslutpunkten för kontot
  • DNS-integrering för den privata slutpunkten med hjälp av en privat DNS-zon som är länkad till det virtuella nätverket
  • Batchpool distribuerad i det virtuella nätverket och utan offentliga IP-adresser

Om du är bekant med att använda ARM-mallar väljer du knappen Distribuera till Azure . Mallen öppnas på Azure-portalen.

Button to deploy the Resource Manager template to Azure.

Kommentar

Om distributionen av den privata slutpunkten misslyckades på grund av ogiltigt groupId "nodeManagement" kontrollerar du om regionen finns i listan med stöd för förenklad beräkningsnodkommunikation. Välj rätt region och försök sedan distribuera igen.

Utgående åtkomst till Internet

I en pool utan offentliga IP-adresser kommer dina virtuella datorer inte att kunna komma åt det offentliga Internet om du inte konfigurerar nätverkskonfigurationen på rätt sätt, till exempel genom att använda NAT för virtuella nätverk. NAT tillåter endast utgående åtkomst till Internet från de virtuella datorerna i det virtuella nätverket. Batchskapade beräkningsnoder är inte offentligt tillgängliga eftersom de inte har offentliga IP-adresser associerade.

Ett annat sätt att tillhandahålla utgående anslutning är att använda en användardefinierad väg (UDR). Med den här metoden kan du dirigera trafik till en proxydator som har offentlig internetåtkomst, till exempel Azure Firewall.

Viktigt!

Det finns ingen extra nätverksresurs (lastbalanserare, nätverkssäkerhetsgrupp) som skapats för förenklade nodkommunikationspooler utan offentliga IP-adresser. Eftersom beräkningsnoderna i poolen inte är bundna till någon lastbalanserare kan Azure tillhandahålla standardåtkomst för utgående trafik. Standardåtkomst för utgående trafik är dock inte lämplig för produktionsarbetsbelastningar och kommer att dras tillbaka den 30 september 2025 (se det officiella meddelandet). Så om dina arbetsbelastningar kräver utgående internetåtkomst, eller om poolen inte använder en privat slutpunkt för att få åtkomst till batchnodhanteringsslutpunkten, måste du tillhandahålla en egen lösning för att aktivera utgående internetåtkomst.

Felsökning

Oanvändbara beräkningsnoder i en Batch-pool

Om beräkningsnoder körs i oanvändbart tillstånd i en Batch-pool utan offentliga IP-adresser är den första och viktigaste kontrollen att verifiera den utgående åtkomsten till Batch-nodhanteringstjänsten. Den måste konfigureras korrekt så att beräkningsnoder kan ansluta till tjänsten från ditt virtuella nätverk.

Använda nodeManagement private endpoint

Om du har skapat en privat slutpunkt för nodhantering i det virtuella nätverket för ditt Batch-konto:

  • Kontrollera om den privata slutpunkten har skapats i rätt virtuella nätverk, i tillståndet Lyckades och även i Godkänd status.
  • Kontrollera om DNS-konfigurationen är korrekt konfigurerad för nodhanteringsslutpunkten för ditt Batch-konto:
    • Om din privata slutpunkt skapas med automatisk privat DNS-zonintegrering kontrollerar du att DNS A-posten är korrekt konfigurerad i den privata DNS-zonen privatelink.batch.azure.comoch zonen är länkad till ditt virtuella nätverk.
    • Om du använder din egen DNS-lösning kontrollerar du att DNS-posten för batchnodhanteringsslutpunkten är korrekt konfigurerad och pekar på IP-adressen för den privata slutpunkten.
  • Kontrollera DNS-matchningen för batchnodhanteringsslutpunkten för ditt konto. Du kan bekräfta det genom att köra nslookup <nodeManagementEndpoint> inifrån ditt virtuella nätverk och DNS-namnet ska matchas till ip-adressen för den privata slutpunkten.
  • Om den privata slutpunktsnätverksprincipen är aktiverad i det virtuella nätverket kontrollerar du NSG och UDR för undernät för både Batch-poolen och den privata slutpunkten. Den inkommande anslutningen med TCP/443 till undernätet som är värd för den privata slutpunkten måste tillåtas från Batch-poolens undernät.
  • Från Batch-poolens undernät kör du TCP-ping till nodhanteringsslutpunkten med https-standardporten (443). Den här avsökningen kan se om den privata länkanslutningen fungerar som förväntat.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Om TCP-pingen misslyckas (till exempel tidsgränsen överskrids) är det vanligtvis ett problem med den privata länkanslutningen och du kan skapa Azure-supportärende med den här privata slutpunktsresursen. Annars kan det här oanvändbara problemet för noden felsökas som vanliga Batch-pooler och du kan skapa supportbegäran med ditt Batch-konto.

Använda din egen utgående internetlösning

Om du använder en egen utgående internetlösning i stället för en privat slutpunkt kör du TCP-ping till nodhanteringsslutpunkten. Om det inte fungerar kontrollerar du om din utgående åtkomst är korrekt konfigurerad genom att följa detaljerade krav för förenklad kommunikation med beräkningsnoder.

Anslut till beräkningsnoder

Det finns ingen inkommande internetåtkomst till beräkningsnoder i Batch-poolen utan offentliga IP-adresser. För att komma åt dina beräkningsnoder för felsökning måste du ansluta inifrån det virtuella nätverket:

  • Använd jumpbox-datorn i det virtuella nätverket och anslut sedan till dina beräkningsnoder därifrån.
  • Eller prova att använda andra fjärranslutningslösningar som Azure Bastion:
    • Skapa Bastion i det virtuella nätverket med IP-baserad anslutning aktiverad.
    • Använd Bastion för att ansluta till beräkningsnoden med dess IP-adress.

Du kan följa guiden Anslut till beräkningsnoder för att hämta användarautentiseringsuppgifter och IP-adress för målberäkningsnoden i Batch-poolen.

Migrering från tidigare förhandsversion av Inga offentliga IP-pooler

För befintliga pooler som använder den tidigare förhandsversionen av Azure Batch Ingen offentlig IP-pool är det bara möjligt att migrera pooler som skapats i ett virtuellt nätverk.

  1. Skapa en privat slutpunkt för Batch-nodhantering i det virtuella nätverket.
  2. Uppdatera poolens nodkommunikationsläge till förenklat.
  3. Skala ned poolen till noll noder.
  4. Skala ut poolen igen. Poolen migreras sedan automatiskt till den nya versionen.

Nästa steg