Partager via


Accès refusé lors de l’exécution de travaux Azure Batch

Le compte de stockage Azure est un composant dépendant nécessaire pour le compte Azure Batch afin de stocker les fichiers de ressources, les packages d’application et les fichiers de sortie. Dans de nombreux cas, vous utilisez un compte de stockage Azure avec un pare-feu pour améliorer sa sécurité. Toutefois, un compte de stockage Azure avec un pare-feu peut entraîner des erreurs lorsque vous exécutez Azure Batch travaux. Cet article fournit des solutions à ces problèmes.

Symptômes

Lorsque vous exécutez Azure Batch travaux, vous pouvez rencontrer des erreurs liées au compte de stockage Azure associé.

Voici un exemple d’erreur :

Catégorie : UserError
Code : ResourceContainerAccessDenied
Message : L’accès à l’un des conteneurs de blog Azure spécifiés est refusé

Cause

Lorsque vous créez un pool Azure Batch, de nouvelles machines virtuelles (nœuds Batch) sont approvisionnées. Si vous n’attribuez pas d’adresse IP publique statique au pool Batch, une adresse IP publique aléatoire est affectée. Chaque fois que vous redimensionnez le nombre de nœuds sur 0 et que vous le redimensionnez à nouveau, l’adresse IP publique de ces nouveaux nœuds Batch change. Par conséquent, si un pare-feu est configuré pour le compte de stockage associé, il est difficile de gérer la liste d’autorisation du pare-feu.

Si le compte de stockage et le pool Batch se trouvent dans la même région, que le pool Batch ait une adresse IP publique statique ou non, le trafic sortant des nœuds Batch passe toujours par l’Internet principal Azure (adresses IP privées). Le pare-feu de stockage n’est pas autorisé à ajouter une adresse IP privée dans la liste d’autorisation, ce qui entraîne le refus du trafic vers le compte de stockage.

Résolution

Pour résoudre le problème, gérez le pool Batch et les configurations du compte de stockage en fonction de vos scénarios.

Remarque

Si vous devez charger des packages d’application, aucune des solutions suivantes ne fonctionnera. Le compte de stockage ne doit pas configurer de pare-feu. Pour plus d’informations, consultez Lier un compte de stockage.

Scénario 1 : Le pool Batch et le compte de stockage se trouvent dans la même région, et le pool Batch dispose d’un réseau virtuel

  1. Vérifiez les informations sur le sous-réseau sous Configuration réseau à partir despropriétés dupool> de comptes> batch Portail Azure>. Prenez note et notez les informations.

    Capture d’écran des informations de sous-réseau du pool Azure Batch.

  2. Accédez au compte de stockage, puis sélectionnez Mise en réseau. Dans le paramètre Pare-feu et réseaux virtuels , sélectionnez Activer parmi les réseaux virtuels et adresses IP sélectionnés pour Accès réseau public. Ajoutez le sous-réseau du pool Batch dans la liste d’autorisation du pare-feu.

    Capture d’écran montrant comment ajouter un sous-réseau à la liste d’autorisation du pare-feu.

    Si le sous-réseau n’active pas le point de terminaison de service, lorsque vous le sélectionnez, une notification s’affiche comme suit :

    Les réseaux suivants n’ont pas de points de terminaison de service activés pour « Microsoft.Storage ». L’activation de l’accès prend jusqu’à 15 minutes. Après avoir démarré cette opération, il est sûr de partir et de revenir plus tard si vous ne souhaitez pas attendre.

    Par conséquent, avant d’ajouter le sous-réseau, case activée-le dans le réseau virtuel Batch pour voir si le point de terminaison de service pour le compte de stockage est activé.

    Capture d’écran montrant comment case activée si le point de terminaison de service est activé.

Une fois les configurations ci-dessus terminées, les nœuds Batch du pool peuvent accéder au compte de stockage.

Scénario 2 : Le pool Batch et le compte de stockage se trouvent dans des régions différentes

  1. Créez un pool Batch dans un réseau virtuel avec une adresse IP publique statique. Pour plus d’informations, consultez Créer un pool Batch avec des adresses IP publiques spécifiées.

    Étant donné que le pool Batch et le compte de stockage se trouvent dans des régions différentes, le trafic sortant transite par l’Internet public via l’adresse IP publique.

  2. Notez l’adresse IP publique.

  3. Affectez l’adresse IP publique à l’adresse IP publique du pool Batch Load Balancer.

    Après cela, case activée les propriétés de votre pool Batch. Elles ressemblent à celles de la capture d’écran suivante :

    Capture d’écran des propriétés du pool Batch.

  4. Ajoutez l’adresse IP publique à la liste d’autorisation du pare-feu de stockage.

    Capture d’écran de l’adresse IP publique.

    Capture d’écran montrant l’adresse IP publique ajoutée à la liste d’autorisation.

  5. Exécutez les travaux Batch avec le pool Batch nouvellement créé.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.