Tworzenie puli uproszczonej komunikacji węzłów bez publicznych adresów IP

Ważne

Obsługa pul bez publicznych adresów IP w usłudze Azure Batch jest obecnie dostępna dla wybranych regionów.

Podczas tworzenia puli usługi Azure Batch można aprowizować pulę konfiguracji maszyny wirtualnej bez publicznego adresu IP. W tym artykule wyjaśniono, jak skonfigurować pulę usługi Batch bez publicznych adresów IP.

Dlaczego warto używać puli bez publicznych adresów IP?

Domyślnie wszystkie węzły obliczeniowe w puli konfiguracji maszyn wirtualnych usługi Azure Batch mają przypisany publiczny adres IP. Ten adres jest używany przez usługę Batch do obsługi dostępu wychodzącego do Internetu, a także dostępu przychodzącego do węzłów obliczeniowych z Internetu.

Aby ograniczyć dostęp do tych węzłów i zmniejszyć ich widoczność w Internecie, możesz aprowizować pulę bez publicznych adresów IP.

Wymagania wstępne

Ważne

Wymagania wstępne zostały zmienione z poprzedniej wersji zapoznawczej tej funkcji. Przed kontynuowaniem przejrzyj każdy element pod kątem zmian.

  • Użyj uproszczonej komunikacji węzła obliczeniowego. Aby uzyskać więcej informacji, zobacz Use simplified compute node communication (Używanie uproszczonej komunikacji węzła obliczeniowego).

  • Interfejs API klienta usługi Batch musi używać uwierzytelniania firmy Microsoft Entra. Obsługa usługi Azure Batch dla identyfikatora Entra firmy Microsoft jest udokumentowana w temacie Uwierzytelnianie rozwiązań usługi Batch za pomocą usługi Active Directory.

  • Utwórz pulę w sieci wirtualnej platformy Azure, postępuj zgodnie z tymi wymaganiami i konfiguracjami. Aby przygotować sieć wirtualną z co najmniej jedną podsiecią z wyprzedzeniem, możesz użyć witryny Azure Portal, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure (interfejsu wiersza polecenia platformy Azure) lub innych metod.

    • Sieć wirtualna musi znajdować się w tej samej subskrypcji i w tym samym regionie co konto usługi Batch użyte do utworzenia puli.

    • Podsieć określona dla puli musi mieć wystarczającą liczbę nieprzypisanych adresów IP do obsługi maszyn wirtualnych przeznaczony dla puli, czyli sumę właściwości puli targetDedicatedNodes i targetLowPriorityNodes. Jeśli podsieć nie ma wystarczającej liczby nieprzypisanych adresów IP, pula częściowo przydzieli węzły obliczeniowe, a następnie wystąpi błąd dotyczący zmiany rozmiaru.

    • Jeśli planujesz używać prywatnego punktu końcowego, a sieć wirtualna ma włączone zasady sieci prywatnego punktu końcowego, upewnij się, że połączenie przychodzące z protokołem TCP/443 do podsieci obsługującej prywatny punkt końcowy musi być dozwolone z podsieci puli usługi Batch.

  • Włącz dostęp wychodzący do zarządzania węzłami usługi Batch. Pula bez publicznych adresów IP nie ma domyślnie włączonego dostępu wychodzącego z Internetu. Wybierz jedną z następujących opcji, aby zezwolić węzłom obliczeniowym na dostęp do usługi zarządzania węzłami usługi Batch (zobacz Używanie uproszczonej komunikacji węzła obliczeniowego):

Ważne

Istnieją dwa zasoby podrzędne dla prywatnych punktów końcowych z kontami usługi Batch. Użyj węzłaZarządzanie prywatnym punktem końcowym dla puli usługi Batch bez publicznych adresów IP. Aby uzyskać więcej informacji, zobacz Używanie prywatnych punktów końcowych z kontami usługi Azure Batch.

Bieżące ograniczenia

  1. Pule bez publicznych adresów IP muszą używać konfiguracji maszyny wirtualnej, a nie konfiguracji usług Cloud Services.
  2. Niestandardowa konfiguracja punktu końcowego dla węzłów obliczeniowych usługi Batch nie działa z pulami bez publicznych adresów IP.
  3. Ponieważ nie ma publicznych adresów IP, nie można używać własnych określonych publicznych adresów IP z tego typu puli.
  4. Token uwierzytelniania zadań dla zadania usługi Batch nie jest obsługiwany. Obejściem jest użycie puli usługi Batch z tożsamościami zarządzanymi.

Tworzenie puli bez publicznych adresów IP w witrynie Azure Portal

  1. W razie potrzeby utwórz prywatny punkt końcowy nodeManagement dla konta usługi Batch w sieci wirtualnej (zobacz wymagania dotyczące dostępu wychodzącego w wymaganiach wstępnych).
  2. W witrynie Azure Portal przejdź do swojego konta usługi Batch.
  3. W oknie Ustawienia po lewej stronie wybierz pozycję Pule.
  4. W oknie Pule wybierz pozycję Dodaj.
  5. W oknie Dodawanie puli wybierz opcję, której chcesz użyć z listy rozwijanej Typ obrazu.
  6. Wybierz prawidłowy element Publisher/Offer/Sku obrazu.
  7. Określ pozostałe wymagane ustawienia, w tym rozmiar węzła, dedykowane węzły docelowe i węzły typu spot/niski priorytet.
  8. W obszarze Tryb komunikacji z węzłem wybierz pozycję Uproszczony w obszarze Opcjonalne Ustawienia.
  9. Wybierz sieć wirtualną i podsieć, której chcesz użyć. Ta sieć wirtualna musi znajdować się w tej samej lokalizacji co utworzona pula.
  10. W polu Typ aprowizacji adresów IP wybierz pozycję NoPublicIPAddresses.

Poniższy zrzut ekranu przedstawia elementy wymagane do zmodyfikowania w celu utworzenia puli bez publicznych adresów IP.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Tworzenie puli bez publicznych adresów IP przy użyciu interfejsu API REST usługi Batch

W poniższym przykładzie pokazano, jak utworzyć pulę używającą publicznych adresów IP przy użyciu interfejsu API REST usługi Batch.

Identyfikator URI interfejsu API REST

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

Treść żądania

"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"
}

Tworzenie puli bez publicznych adresów IP przy użyciu szablonu usługi ARM

Za pomocą tego szablonu szybkiego startu platformy Azure można utworzyć pulę bez publicznych adresów IP przy użyciu szablonu usługi Azure Resource Manager (ARM).

Następujące zasoby zostaną wdrożone przez szablon:

  • Konto usługi Azure Batch z zaporą IP skonfigurowaną do blokowania dostępu do sieci publicznej do punktu końcowego zarządzania węzłami usługi Batch
  • Sieć wirtualna z sieciową grupą zabezpieczeń w celu blokowania dostępu wychodzącego z Internetu
  • Prywatny punkt końcowy w celu uzyskania dostępu do punktu końcowego zarządzania węzłem usługi Batch konta
  • Integracja usługi DNS dla prywatnego punktu końcowego przy użyciu prywatnej strefy DNS połączonej z siecią wirtualną
  • Pula usługi Batch wdrożona w sieci wirtualnej i bez publicznych adresów IP

Jeśli znasz już szablony usługi ARM, wybierz przycisk Wdróż na platformie Azure . Szablon zostanie otwarty w witrynie Azure Portal.

Button to deploy the Resource Manager template to Azure.

Uwaga

Jeśli wdrożenie prywatnego punktu końcowego nie powiodło się z powodu nieprawidłowego identyfikatora groupId "nodeManagement", sprawdź, czy region znajduje się na liście obsługiwanych dla uproszczonej komunikacji węzła obliczeniowego. Wybierz odpowiedni region, a następnie ponów próbę wdrożenia.

Dostęp wychodzący do Internetu

W puli bez publicznych adresów IP maszyny wirtualne nie będą mogły uzyskać dostępu do publicznego Internetu, chyba że skonfigurujesz odpowiednią konfigurację sieci, na przykład przy użyciu translatora adresów sieci wirtualnych. Translator adresów sieciowych zezwala tylko na dostęp wychodzący do Internetu z maszyn wirtualnych w sieci wirtualnej. Węzły obliczeniowe utworzone w usłudze Batch nie będą publicznie dostępne, ponieważ nie mają skojarzonych publicznych adresów IP.

Innym sposobem zapewnienia łączności wychodzącej jest użycie trasy zdefiniowanej przez użytkownika (UDR). Ta metoda umożliwia kierowanie ruchu do maszyny proxy, która ma publiczny dostęp do Internetu, na przykład Azure Firewall.

Ważne

Nie ma dodatkowego zasobu sieciowego (modułu równoważenia obciążenia, sieciowej grupy zabezpieczeń) utworzonego na potrzeby uproszczonych pul komunikacji węzłów bez publicznych adresów IP. Ponieważ węzły obliczeniowe w puli nie są powiązane z żadnym modułem równoważenia obciążenia, platforma Azure może zapewnić domyślny dostęp wychodzący. Jednak domyślny dostęp wychodzący nie jest odpowiedni dla obciążeń produkcyjnych i zostanie wycofany 30 września 2025 r. (zobacz oficjalne ogłoszenie). Jeśli więc obciążenia wymagają dostępu wychodzącego z Internetu lub pula nie używa prywatnego punktu końcowego do uzyskiwania dostępu do punktu końcowego zarządzania węzłami usługi Batch, musisz udostępnić własne rozwiązanie umożliwiające dostęp wychodzący z Internetu.

Rozwiązywanie problemów

Węzły obliczeniowe, których nie można używać w puli usługi Batch

Jeśli węzły obliczeniowe napotkają stan bezużyteczny w puli usługi Batch bez publicznych adresów IP, pierwszym i najważniejszym sprawdzeniem jest sprawdzenie dostępu wychodzącego do usługi zarządzania węzłami usługi Batch. Należy ją poprawnie skonfigurować, aby węzły obliczeniowe mogły łączyć się z usługą z sieci wirtualnej.

Korzystanie z prywatnego punktu końcowego nodeManagement

Jeśli utworzono prywatny punkt końcowy zarządzania węzłem w sieci wirtualnej dla konta usługi Batch:

  • Sprawdź, czy prywatny punkt końcowy jest tworzony w odpowiedniej sieci wirtualnej, w stanie aprowizacji Powodzenie , a także w obszarze Stan zatwierdzone .
  • Sprawdź, czy konfiguracja DNS jest poprawnie skonfigurowana dla punktu końcowego zarządzania węzłem konta usługi Batch:
    • Jeśli prywatny punkt końcowy jest tworzony z automatyczną integracją prywatnej strefy DNS, sprawdź, czy rekord DNS A jest poprawnie skonfigurowany w prywatnej strefie privatelink.batch.azure.comDNS, a strefa jest połączona z siecią wirtualną.
    • Jeśli używasz własnego rozwiązania DNS, upewnij się, że rekord DNS dla punktu końcowego zarządzania węzłem usługi Batch jest poprawnie skonfigurowany i wskaż prywatny adres IP punktu końcowego.
  • Sprawdź rozpoznawanie nazw DNS dla punktu końcowego zarządzania węzłem usługi Batch dla konta. Możesz to potwierdzić, uruchamiając polecenie nslookup <nodeManagementEndpoint> z sieci wirtualnej, a nazwa DNS powinna zostać rozpoznana jako prywatny adres IP punktu końcowego.
  • Jeśli sieć wirtualna ma włączone zasady sieci prywatnego punktu końcowego, sprawdź sieciową grupę zabezpieczeń i trasę zdefiniowaną przez użytkownika dla podsieci zarówno puli usługi Batch, jak i prywatnego punktu końcowego. Połączenie przychodzące z protokołem TCP/443 do podsieci obsługującej prywatny punkt końcowy musi być dozwolone z podsieci puli usługi Batch.
  • W podsieci puli usługi Batch uruchom polecenie ping TCP do punktu końcowego zarządzania węzłem przy użyciu domyślnego portu HTTPS (443). Ta sonda może sprawdzić, czy połączenie łącza prywatnego działa zgodnie z oczekiwaniami.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Jeśli polecenie ping protokołu TCP zakończy się niepowodzeniem (na przykład przekroczono limit czasu), zazwyczaj występuje problem z połączeniem łącza prywatnego i można zgłosić bilet pomoc techniczna platformy Azure z tym zasobem prywatnego punktu końcowego. W przeciwnym razie ten problem z bezużytecznym węzłem może być problematyczny jako normalne pule usługi Batch i można zgłosić bilet pomocy technicznej przy użyciu konta usługi Batch.

Korzystanie z własnego rozwiązania ruchu wychodzącego z Internetu

Jeśli używasz własnego rozwiązania wychodzącego z Internetu zamiast prywatnego punktu końcowego, uruchom polecenie ping TCP do punktu końcowego zarządzania węzłem. Jeśli nie działa, sprawdź, czy dostęp wychodzący jest poprawnie skonfigurowany, postępując zgodnie ze szczegółowymi wymaganiami dotyczącymi uproszczonej komunikacji węzła obliczeniowego.

Połączenie do węzłów obliczeniowych

W puli usługi Batch nie ma dostępu przychodzącego do węzłów obliczeniowych bez publicznych adresów IP. Aby uzyskać dostęp do węzłów obliczeniowych na potrzeby debugowania, musisz nawiązać połączenie z poziomu sieci wirtualnej:

  • Użyj maszyny przesiadkowej wewnątrz sieci wirtualnej, a następnie połącz się z węzłami obliczeniowymi z tego miejsca.
  • Możesz też spróbować użyć innych rozwiązań połączenia zdalnego, takich jak usługa Azure Bastion:

Możesz postępować zgodnie z przewodnikiem Połączenie węzłów obliczeniowych, aby uzyskać poświadczenia użytkownika i adres IP docelowego węzła obliczeniowego w puli usługi Batch.

Migracja z poprzedniej wersji zapoznawczej nie publicznych pul adresów IP

W przypadku istniejących pul korzystających z poprzedniej wersji zapoznawczej puli publicznych adresów IP usługi Azure Batch możliwe jest tylko migrowanie pul utworzonych w sieci wirtualnej.

  1. Utwórz prywatny punkt końcowy do zarządzania węzłami usługi Batch w sieci wirtualnej.
  2. Zaktualizuj tryb komunikacji węzła puli, aby uprościć.
  3. Skaluj pulę w dół do zera węzłów.
  4. Ponownie przeprowadź skalowanie puli w poziomie. Pula jest następnie automatycznie migrowana do nowej wersji.

Następne kroki