Utiliser la communication simplifiée des nœuds de calcul

Un pool Azure Batch contient un ou plusieurs nœuds de calcul qui exécutent des charges de travail spécifiées par l’utilisateur sous la forme de tâches Batch. Pour activer la fonctionnalité Batch et la gestion de l’infrastructure de pool Batch, les nœuds de calcul doivent communiquer avec le service Azure Batch.

Batch prend en charge deux types de modes de communication :

  • Classique : le service Batch lance la communication avec les nœuds de calcul.
  • Simplifié : les nœuds de calcul lancent la communication avec le service Batch.

Ce document décrit le mode de communication simplifié et les conditions de configuration réseau associées.

Conseil

Dans ce document, les informations relatives aux règles et ressources réseau, comme les groupes de sécurité réseau, ne s’appliquent pas aux pools Batch qui n’ont pas d’adresse IP publique utilisant le point de terminaison privé de la gestion des nœuds sans accès sortant à Internet.

Avertissement

Le mode de communication des nœuds de calcul classique sera mis hors service le 31 mars 2026 et sera remplacé par le mode de communication simplifié décrit dans ce document. Pour plus d’informations, consultez le guide de migration du mode de communication.

Régions prises en charge

La communication de nœud de calcul simplifiée dans Azure Batch est actuellement disponible pour les régions suivantes :

  • Public : toutes les régions publiques où Batch est présent à l’exception de l’Inde Ouest.
  • Gouvernement : USGov Arizona, USGov Virginie, USGov Texas.
  • Chine : toutes les régions de Chine où Batch est présent à l’exception de Chine Nord 1 et Chine Est 1.

Différences entre les modes classique et simplifié

Le mode de communication simplifiée des nœuds de calcul simplifie la façon dont l’infrastructure de pool Batch est managée pour le compte des utilisateurs. Le mode de communication réduit la complexité et l’étendue des connexions réseau entrantes et sortantes requises dans les opérations de base.

Les pools Batch en mode de communication classique nécessitent les règles de réseau suivantes dans les groupes de sécurité réseau (NSG), les routes définies par l’utilisateur (UDR) et les pare-feu suivants lors de la création d’un pool dans un réseau virtuel :

  • Communications entrantes :

    • Ports de destination 29876, 29877 sur TCP à partir de BatchNodeManagement.<region>
  • Communications sortantes :

    • Port de destination 443 sur TCP vers Storage.<region>
    • Port de destination 443 sur TCP vers BatchNodeManagement.<region> pour certaines charges de travail qui nécessitent une communication de retour vers le service Batch, telles que des tâches du Gestionnaire de travaux

Les pools Batch avec le mode de communication simplifié n'ont besoin que d'un accès sortant au point de terminaison de gestion des nœuds du compte Batch (voir Points de terminaison publics du compte Batch). Ils nécessitent les règles de mise en réseau suivantes dans les NSG, les UDR et les pare-feu :

  • Communications entrantes :

    • Aucun
  • Communications sortantes :

    • Port de destination 443 sur TOUT protocole vers BatchNodeManagement.<region>

Les exigences sortantes d’un compte Batch peuvent être découvertes à l’aide de l’API Lister les points de terminaison des dépendances de réseau sortant. Cette API indique l’ensemble de base des dépendances, en fonction du mode de communication du pool de comptes Batch. Les charges de travail propres à l’utilisateur peuvent nécessiter des règles supplémentaires, comme l’ouverture du trafic vers d’autres ressources Azure (par exemple le stockage Azure pour les packages d’application, Azure Container Registry) ou des points de terminaison, comme le référentiel de packages Microsoft pour la fonctionnalité de montage du système de fichiers virtuel.

Avantages du mode simplifié

Les utilisateurs d’Azure Batch qui choisissent le mode de communication simplifiée bénéficient de la simplification des connexions et des règles réseau. La communication simplifiée des nœuds de calcul permet de réduire les risques de sécurité en éliminant la nécessité d’ouvrir des ports pour les communications entrantes à partir d’Internet. Une seule règle de trafic sortant vers une étiquette de service connue est requise pour l’opération de base de référence.

Le mode simplifié fournit également un contrôle de granularité plus fin de l’exfiltration de données que le mode de communication classique, car les communications sortantes vers Storage.<region> ne sont plus demandées. Vous pouvez verrouiller explicitement la communication sortante vers Stockage Azure si cela est nécessaire pour votre workflow. Vous pouvez par exemple étendre vos règles de communication sortante à Stockage Azure pour activer vos comptes de stockage AppPackage ou d’autres comptes de stockage pour les fichiers de ressources ou les fichiers de sortie.

Même si vos charges de travail ne sont pas affectées actuellement par les modifications (comme décrit dans la section suivante), il est recommandé de passer au mode simplifié. Les améliorations futures du service Batch ne peuvent être que fonctionnelles avec une communication simplifiée des nœuds de calcul.

Impact potentiel entre les modes de communication Classique et Simplifié

La plupart du temps, le mode de communication simplifié n’affecte pas directement vos charges de travail Batch. Toutefois, la communication simplifiée des nœuds de calcul aura un impact dans les cas suivants :

  • Les utilisateurs qui spécifient un réseau virtuel dans le cadre de la création d’un pool Batch et effectuent une ou les deux actions suivantes :
    • Désactivation explicite des règles de trafic réseau sortant qui sont incompatibles avec la communication simplifiée des nœuds de calcul
    • Utilisation de routes définies par l’utilisateur et de règles de pare-feu qui sont incompatibles avec la communication simplifiée des nœuds de calcul
  • Utilisateurs qui activent des pare-feu logiciels sur des nœuds de calcul et désactivent explicitement le trafic sortant dans les règles de pare-feu logiciel qui sont incompatibles avec la communication simplifiée des nœuds de calcul.

Si l’un de ces cas vous concerne, suivez les étapes décrites dans la section suivante pour vous assurer que vos charges de travail Batch fonctionnent toujours en mode simplifié. Nous vous recommandons vivement de tester et de vérifier toutes vos modifications dans un environnement de développement et de test avant d’envoyer (push) vos modifications en production.

Modifications de configuration réseau nécessaires pour le mode simplifié

La procédure suivante est nécessaire pour migrer vers le nouveau mode de communication :

  1. Assurez-vous que votre configuration réseau applicable aux pools Batch (NSG, UDR, pare-feu, etc.) comprend une union des modes, c’est-à-dire les règles de réseau combinées des modes classique et simplifié. Au minimum, ces règles seraient les suivantes :
    • Entrants :
      • Ports de destination 29876, 29877 sur TCP à partir de BatchNodeManagement.<region>
    • Sortants :
      • Port de destination 443 sur TCP vers Storage.<region>
      • Port de destination 443 sur TOUT protocole vers BatchNodeManagement.<region>
  2. Si votre workflow nécessite d’autres scénarios d’entrée ou de sortie, vous devez vous assurer que vos règles reflètent ces exigences.
  3. Utilisez l’une des options suivantes pour mettre à jour vos charges de travail afin d’utiliser le nouveau mode de communication.
    • Créez des pools en définissant targetNodeCommunicationMode sur simplifié, puis vérifiez qu’ils fonctionnent correctement. Migrez votre charge de travail vers les nouveaux pools et supprimez les pools précédents.
    • Mettez à jour la propriété targetNodeCommunicationModedes pools existants en la définissant sur simplifié, puis redimensionnez tous les pools existants à zéro nœud et effectuez de nouveau un scale-out.
  4. Utilisez l’API Obtention d’informations sur le pool, l’API Liste des pools ou le portail Azure pour vérifier que la définition de currentNodeCommunicationMode est bien le mode de communication simplifié.
  5. Modifiez au minimum toutes les configurations réseau applicables aux règles de communication simplifiées (notez les règles supplémentaires nécessaires comme indiqué ci-dessus) :
    • Entrants :
      • Aucun
    • Sortants :
      • Port de destination 443 sur TOUT protocole vers BatchNodeManagement.<region>

Si vous suivez ces étapes, mais souhaitez repasser ensuite à la communication des nœuds de calcul classique, procédez comme suit :

  1. Rétablissez toute configuration réseau fonctionnant exclusivement en mode de communication des nœuds de calcul simplifié.
  2. Créez des pools ou mettez à jour la propriété targetNodeCommunicationMode des pools existants en la définissant sur classique.
  3. Migrez votre charge de travail vers ces pools, ou redimensionnez les pools existants et réeffectuez un scale-out (voir l’étape 3 ci-dessus).
  4. Consultez l’étape 4 ci-dessus pour vérifier que vos pools fonctionnent en mode de communication classique.
  5. Vous pouvez également rétablir votre configuration réseau.

Spécifier le mode de communication sur un pool Batch

La propriété targetNodeCommunicationMode sur les pools Batch vous permet d’indiquer une préférence au service Batch concernant le mode de communication à utiliser entre le service Batch et les nœuds de calcul. Voici les options autorisées sur cette propriété :

  • Classique : crée le pool à l’aide de la communication des nœuds de calcul classique.
  • Simplifié : crée le pool à l’aide d’une communication des nœuds de calcul simplifiée.
  • Par défaut : permet au service Batch de sélectionner le mode de communication des nœuds de calcul approprié. Pour les pools sans réseau virtuel, le pool peut être créé en mode classique ou simplifié. Pour les pools dotés d’un réseau virtuel, le pool est toujours défini par défaut sur classique jusqu’au 30 septembre 2024. Pour plus d’informations, consultez le guide de migration du mode de communication de nœud de calcul classique.

Conseil

La spécification du mode de communication des nœuds cibles indique une préférence pour le service Batch, mais ne garantit pas que ce paramètre soit respecté. Certaines configurations définies sur le pool peuvent empêcher le service Batch de respecter le mode de communication des nœuds cibles spécifié, par exemple l’interaction avec aucune adresse IP publique, les réseaux virtuels et le type de configuration du pool.

Vous trouverez ci-dessous des exemples de création d’un pool Batch avec la communication des nœuds de calcul simplifiée.

Portail Azure

Commencez par vous connecter au portail Azure. Ensuite, accédez au panneau Pools de votre compte Batch et sélectionnez le bouton Ajouter. Sous PARAMÈTRES FACULTATIFS, vous pouvez sélectionner Simplifié comme option dans la liste déroulante de Mode de communication des nœuds, tel qu’indiqué :

Screenshot that shows creating a pool with simplified mode.

Pour mettre à jour un pool existant en le définissant sur le mode de communication simplifié, accédez au panneau Pools de votre compte Batch et sélectionnez le pool à mettre à jour. Dans la zone de navigation à gauche, sélectionnez Mode de communication des nœuds. Vous pouvez y sélectionner un nouveau mode de communication des nœuds cibles, comme indiqué ci-dessous. Une fois le mode de communication approprié sélectionné, sélectionnez le bouton Enregistrer pour mettre à jour cette option. Vous devez d’abord effectuer un scale-down du pool sur zéro nœud, puis un scale-out pour que la modification s’applique, si les conditions le permettent.

Screenshot that shows updating a pool to simplified mode.

Pour afficher le mode de communication actif des nœuds d’un pool, accédez au panneau Pools de votre compte Batch, puis sélectionnez le pool à afficher. Sélectionnez Propriétés dans le volet de navigation de gauche pour que le mode de communication des nœuds du pool apparaisse sous la section Général.

Screenshot that shows properties with a pool with simplified mode.

API REST

Cet exemple montre comment utiliser l’API REST du service Batch pour créer un pool avec la communication des nœuds de calcul simplifiée.

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

Limites

Voici les limitations connues du mode de communication simplifié :

  • Prise en charge limitée de la migration pour les pools créés précédemment sans adresses IP publiques. Ces pools peuvent être migrés uniquement s’ils sont créés dans un réseau virtuel. Dans le cas contraire, ils n’utilisent pas la communication simplifiée des nœuds de calcul, même si ce mode est défini pour le pool. Pour plus d’informations, consultez le Guide de migration.
  • Les pools de configuration de service cloud ne sont pas pris en charge pour la communication simplifiée des nœuds de calcul actuellement et sont dépréciés. Pour ces types de pools, la définition d’un mode de communication n’est pas respectée. Le mode de communication classique s’applique toujours. Nous vous recommandons d’utiliser Configuration de la machine virtuelle pour vos pools Batch. Pour plus d’informations, consultez Migrer la configuration des pools Batch des Services cloud vers une machine virtuelle.

Étapes suivantes