Partager via


Créer un pool de communications de nœud simplifié sans adresses IP publiques

Note

Cela remplace la version préliminaire précédente du pool Azure Batch sans adresses IP publiques. Cette nouvelle version nécessite l’utilisation de la communication simplifiée des nœuds de calcul.

Important

La prise en charge des pools sans adresses IP publiques dans Azure Batch est actuellement disponible pour certaines régions.

Lorsque vous créez un pool Azure Batch, vous pouvez approvisionner le pool de configuration de machine virtuelle sans adresse IP publique. Cet article explique comment configurer un pool Batch sans adresses IP publiques.

Pourquoi utiliser un pool sans adresses IP publiques ?

Par défaut, tous les nœuds de calcul d’un pool de configuration de machine virtuelle Azure Batch reçoivent une adresse IP publique. Cette adresse est utilisée par le service Batch pour prendre en charge l’accès sortant à Internet, ainsi que l’accès entrant aux nœuds de calcul à partir d’Internet.

Pour restreindre l’accès à ces nœuds et réduire la détectabilité de ces nœuds à partir d’Internet, vous pouvez approvisionner le pool sans adresses IP publiques.

Prerequisites

Important

Les prérequis ont changé à partir de la version préliminaire précédente de cette fonctionnalité. Veillez à passer en revue chaque élément pour connaître les modifications avant de continuer.

  • Utilisez la communication simplifiée des nœuds de calcul. Pour plus d’informations, consultez Utiliser la communication simplifiée des nœuds de calcul.

  • L’API cliente Batch doit utiliser l’authentification Microsoft Entra. La prise en charge d’Azure Batch pour Microsoft Entra ID est documentée dans Authentifiez les solutions Azure Batch avec Active Directory.

  • Créez votre pool dans un réseau virtuel Azure, suivez ces exigences et configurations. Pour préparer un réseau virtuel avec un ou plusieurs sous-réseaux à l’avance, vous pouvez utiliser le portail Azure, Azure PowerShell, l’interface Azure Command-Line (Azure CLI) ou d’autres méthodes.

    • Le réseau virtuel doit se trouver dans le même abonnement et la même région que le compte Batch que vous utilisez pour créer votre pool.

    • Le sous-réseau spécifié pour le pool doit avoir suffisamment d’adresses IP non attribuées pour prendre en charge le nombre de machines virtuelles ciblées pour le pool ; c'est-à-dire, la somme des propriétés targetDedicatedNodes et targetLowPriorityNodes du pool. Si le sous-réseau n’a pas suffisamment d’adresses IP non attribuées, le pool alloue partiellement les nœuds de calcul et une erreur de redimensionnement se produit.

    • Si vous envisagez d’utiliser un point de terminaison privé et que votre réseau virtuel dispose d’une stratégie réseau de point de terminaison privé activée, vérifiez que la connexion entrante avec TCP/443 au sous-réseau hébergeant le point de terminaison privé doit être autorisée à partir du sous-réseau du pool Batch.

  • Activez l’accès sortant pour la gestion des nœuds Batch. Un pool sans adresses IP publiques n’a pas d’accès sortant Internet activé par défaut. Choisissez l’une des options suivantes pour autoriser les nœuds de calcul à accéder au service de gestion des nœuds Batch (consultez Utiliser la communication simplifiée des nœuds de calcul) :

Important

Il existe deux sous-ressources pour les points de terminaison privés avec des comptes Batch. Utilisez le point de terminaison privé nodeManagement pour le pool Batch sans adresses IP publiques. Pour plus d’informations, consultez Utiliser des points de terminaison privés avec des comptes Azure Batch.

Limitations actuelles

  1. Les pools sans adresses IP publiques doivent utiliser la configuration des machines virtuelles et non la configuration des services cloud.
  2. La configuration de point de terminaison personnalisée pour les nœuds de calcul Batch ne fonctionne pas avec des pools sans adresses IP publiques.
  3. Comme il n’existe aucune adresse IP publique, vous ne pouvez pas utiliser vos propres adresses IP publiques spécifiées avec ce type de pool.
  4. Le jeton d’authentification de tâche pour la tâche Batch n’est pas pris en charge. La solution de contournement consiste à utiliser le pool Batch avec des identités managées.

Créer un pool sans adresses IP publiques dans le portail Azure

  1. Si nécessaire, créez un point de terminaison privé nodeManagement pour votre compte Batch dans le réseau virtuel (consultez la condition requise pour l’accès sortant dans les conditions préalables).
  2. Accédez à votre compte Batch dans le portail Azure.
  3. Dans la fenêtre Paramètres de gauche, sélectionnez Pools.
  4. Dans la fenêtre Pools , sélectionnez Ajouter.
  5. Dans la fenêtre Ajouter un pool , sélectionnez l’option que vous souhaitez utiliser dans la liste déroulante Type d’image .
  6. Sélectionnez l’éditeur/offre/SKU correct de votre image.
  7. Spécifiez les paramètres requis restants, notamment la taille du nœud, les nœuds dédiés cible et les nœuds Spot cible/basse priorité.
  8. Pour le mode de communication nœud, sélectionnez Simplifié sous Paramètres facultatifs.
  9. Sélectionnez un réseau virtuel et un sous-réseau que vous souhaitez utiliser. Ce réseau virtuel doit se trouver dans le même emplacement que le pool que vous créez.
  10. Dans le type d’approvisionnement d’adresses IP, sélectionnez NoPublicIPAddresses.

La capture d’écran suivante montre les éléments qui doivent être modifiés pour créer un pool sans adresses IP publiques.

Capture d’écran de l’écran Ajouter un pool avec NoPublicIPAddresses sélectionné.

Utiliser l’API REST Batch pour créer un pool sans adresses IP publiques

L’exemple suivant montre comment utiliser l’API REST du service Batch pour créer un pool qui utilise des adresses IP publiques.

URI de l’API REST

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

Corps de la demande

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

Créer un pool sans adresses IP publiques à l’aide d’un modèle ARM

Vous pouvez utiliser ce modèle de démarrage rapide Azure pour créer un pool sans adresses IP publiques à l’aide du modèle Azure Resource Manager (ARM).

Les ressources suivantes seront déployées par le modèle :

  • Compte Azure Batch avec pare-feu IP configuré pour bloquer l’accès au réseau public au point de terminaison de gestion des nœuds Batch
  • Réseau virtuel avec un groupe de sécurité réseau pour bloquer l’accès sortant à Internet
  • Point de terminaison privé pour accéder au point de terminaison de gestion des nœuds Batch du compte
  • Intégration DNS pour le point de terminaison privé à l’aide d’une zone DNS privée liée au réseau virtuel
  • Pool Batch déployé dans le réseau virtuel et sans adresses IP publiques

Si vous êtes familiarisé avec l’utilisation de modèles ARM, sélectionnez le bouton Déployer sur Azure . Le modèle s’ouvre dans le portail Azure.

Bouton pour déployer le modèle Resource Manager sur Azure.

Note

Si le déploiement du point de terminaison privé a échoué en raison d’un id de groupe non valide « nodeManagement », vérifiez si la région figure dans la liste prise en charge pour la communication simplifiée des nœuds de calcul. Choisissez la région appropriée, puis réessayez le déploiement.

Accès sortant à Internet

Dans un pool sans adresses IP publiques, vos machines virtuelles ne pourront pas accéder à l’Internet public, sauf si vous configurez correctement la configuration de votre réseau, par exemple à l’aide de nat de réseau virtuel. NAT autorise uniquement l’accès sortant à Internet à partir des machines virtuelles du réseau virtuel. Les nœuds de calcul créés par batch ne seront pas accessibles publiquement, car ils n’ont pas d’adresses IP publiques associées.

Une autre façon de fournir une connectivité sortante consiste à utiliser un itinéraire défini par l’utilisateur (UDR). Cette méthode vous permet d’acheminer le trafic vers un ordinateur proxy disposant d’un accès Internet public, par exemple pare-feu Azure.

Important

Il n’existe aucune ressource réseau supplémentaire (équilibreur de charge, groupe de sécurité réseau) créée pour des pools de communication de nœuds simplifiés sans adresses IP publiques. Étant donné que les nœuds de calcul du pool ne sont pas liés à un équilibreur de charge, Azure peut fournir un accès sortant par défaut. Toutefois, l’accès sortant par défaut n’est pas adapté aux charges de travail de production et sera mis hors service le 31 mars 2026 (voir l’annonce officielle). Par conséquent, si vos charges de travail nécessitent un accès sortant Internet ou si votre pool n’utilise pas de point de terminaison privé pour accéder au point de terminaison de gestion des nœuds Batch, vous devez fournir votre propre solution pour activer l’accès sortant Internet.

Résolution des problèmes

Nœuds de calcul inutilisables dans un pool Batch

Si les nœuds de calcul s’exécutent dans un état inutilisable dans un pool Batch sans adresses IP publiques, la première vérification et la plus importante consiste à vérifier l’accès sortant au service de gestion des nœuds Batch. Elle doit être configurée correctement afin que les nœuds de calcul puissent se connecter au service à partir de votre réseau virtuel.

Utilisation du point de terminaison privé nodeManagement

Si vous avez créé un point de terminaison privé de gestion des nœuds dans le réseau virtuel de votre compte Batch :

  • Vérifiez si le point de terminaison privé est créé dans le réseau virtuel approprié, dans l’état réussi du provisionnement et également dans l’état Approuvé .
  • Vérifiez si la configuration DNS est configurée correctement pour le point de terminaison de gestion des nœuds de votre compte Batch :
    • Si votre point de terminaison privé est créé avec l’intégration automatique de la zone DNS privée, vérifiez que l’enregistrement DNS A est configuré correctement dans la zone privatelink.batch.azure.comDNS privée et que la zone est liée à votre réseau virtuel.
    • Si vous utilisez votre propre solution DNS, vérifiez que l’enregistrement DNS de votre point de terminaison de gestion de nœud Batch est configuré correctement et pointez vers l’adresse IP du point de terminaison privé.
  • Vérifiez la résolution DNS pour le point de terminaison de gestion des nœuds Batch de votre compte. Vous pouvez le confirmer en exécutant nslookup <nodeManagementEndpoint> depuis votre réseau virtuel, et le nom DNS devrait se résoudre à l'adresse IP du point de terminaison privé.
  • Si la stratégie de réseau de point de terminaison privé est activée sur votre réseau virtuel, vérifiez le groupe de sécurité réseau et la route définie par l’utilisateur pour les sous-réseaux du pool Batch et du point de terminaison privé. La connexion entrante avec TCP/443 au sous-réseau hébergeant le point de terminaison privé doit être autorisée à partir du sous-réseau du pool Batch.
  • À partir du sous-réseau du pool Batch, exécutez le test ping TCP sur le point de terminaison de gestion des nœuds à l’aide du port HTTPS par défaut (443). Cette sonde peut indiquer si la connexion de liaison privée fonctionne comme prévu.
# Windows
Test-NetConnection -ComputerName <nodeManagementEndpoint> -Port 443 -InformationLevel Detailed -Verbose
# Linux
nc -v <nodeManagementEndpoint> 443

Si le test Ping TCP échoue (par exemple en raison de l’expiration du délai d’attente), il s’agit généralement d’un problème lié à la connexion de la liaison privée, et vous pouvez créer un ticket de support Azure avec cette ressource de point de terminaison privé. Dans le cas contraire, ce problème de nœud inutilisable peut être traité de la même manière que les pools Batch normaux, et vous pouvez soumettre un ticket de support avec votre compte Batch.

Utilisation de votre propre solution sortante Internet

Si vous utilisez votre propre solution sortante Internet au lieu d’un point de terminaison privé, exécutez un test ping TCP sur le point de terminaison de gestion des nœuds. S’il ne fonctionne pas, vérifiez si votre accès sortant est configuré correctement en suivant les exigences détaillées pour la communication simplifiée des nœuds de calcul.

Se connecter à des nœuds de calcul

Il n’existe aucun accès entrant Internet aux nœuds de calcul dans le pool Batch sans adresses IP publiques. Pour accéder à vos nœuds de calcul pour le débogage, vous devez vous connecter à partir du réseau virtuel :

  • Utilisez la machine jumpbox à l’intérieur du réseau virtuel, puis connectez-vous à vos nœuds de calcul à partir de là.
  • Ou essayez d’utiliser d’autres solutions de connexion à distance comme Azure Bastion :
    • Créez Bastion dans le réseau virtuel avec une connexion IP activée.
    • Utilisez Bastion pour vous connecter au nœud de calcul à l’aide de son adresse IP.

Vous pouvez suivre le guide Se connecter aux nœuds de calcul pour obtenir les informations d’identification de l’utilisateur et l’adresse IP du nœud de calcul cible dans votre pool Batch.

Migration à partir de la version préliminaire précédente des pools sans adresses IP publiques

Pour les pools existants qui utilisent la version préliminaire précédente d’Azure Batch Sans pool d’adresses IP publiques, il est uniquement possible de migrer des pools créés dans un réseau virtuel.

  1. Créez un point de terminaison privé pour la gestion des nœuds Batch dans le réseau virtuel.
  2. Mettez à jour le mode de communication des nœuds du pool en simplifié.
  3. Réduisez la taille du pool à zéro nœud.
  4. Étendez le pool de nouveau. Le pool est ensuite migré automatiquement vers la nouvelle version.

Étapes suivantes