Déployez votre instance Gestion des API Azure sur un réseau virtuel – mode externe

S'APPLIQUE À : développeur | Premium

Gestion des API Azure peut être déployé (injecté) dans un réseau virtuel Azure (VNet) pour accéder aux services backend au sein du réseau. Pour connaître les options de connectivité de VNet, les exigences et les considérations, consultez :

Cet article explique comment configurer la connectivité VNet pour votre instance Gestion des API en mode externe, où le portail des développeurs, la passerelle API et d’autres points de terminaison de Gestion des API sont accessibles à partir de l’Internet public, et les services back-en sont situés dans le réseau.

Se connecter à un réseau virtuel externe

Pour les configurations spécifiques au mode interne, où les points de terminaison sont accessibles uniquement au sein du réseau virtuel, consultez Déployer votre instance de Gestion des API Azure sur un réseau virtuel – mode interne.

Remarque

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Prérequis

Passez en revue la configuration requise pour l’injection de gestion des API dans un réseau virtuel avant de commencer.

Certains prérequis varient en fonction de la version (stv2 ou stv1) de la stv2 qui héberge votre instance Gestion des API.

Conseil

Quand vous utilisez le portail pour créer ou mettre à jour la connexion réseau d’une instance Gestion des API existante, l’instance est hébergée sur la plateforme de calcul stv2.

  • Un réseau et un sous-réseau virtuels dans la même région et le même abonnement que votre instance Gestion des API.

    • Le sous-réseau utilisé pour se connecter à l’instance Gestion des API peut contenir d’autres types de ressources Azure.
    • Aucune délégation ne doit être activée pour le sous-réseau. Le paramètre Déléguer le sous-réseau à un service pour le sous-réseau doit être défini sur Aucun.
  • Un groupe de sécurité réseau associé au sous-réseau ci-dessus. Un groupe de sécurité réseau (NSG) est nécessaire pour autoriser explicitement la connectivité entrante, car l’équilibreur de charge utilisé en interne par Gestion des API est sécurisé par défaut et rejette tout le trafic entrant. Pour une configuration spécifique, consultez Configurer des règles NSG plus loin dans cet article.

  • Pour certains scénarios, activez des points de terminaison de service dans le sous-réseau pour des services dépendants tels que Stockage Azure ou Azure SQL. Pour obtenir plus d’informations, consultez Forcer le tunneling du trafic vers le pare-feu local à l’aide d’ExpressRoute ou de l’appliance virtuelle réseau plus loin dans cet article.

  • Adresse IPv4 publique de la référence SKU Standard. La ressource d’adresse IP publique est requise lors de la configuration du réseau virtuel pour un accès externe ou interne. Avec un réseau virtuel interne, l’adresse IP publique est utilisée uniquement pour les opérations de gestion. En savoir plus sur les adresses IP de Gestion des API.

    • L’adresse IP doit être dans la même région et le même abonnement que l’instance Gestion des API et le réseau virtuel.

    • Lorsque vous créez une ressource d’adresse IP publique, veillez à lui attribuer une étiquette de nom DNS. En général, vous devez utiliser le même nom DNS que votre instance Gestion des API. Si vous le modifiez, redéployez votre instance afin que la nouvelle étiquette DNS soit appliquée.

    • Pour des performances réseau optimales, il est recommandé d’utiliser la préférence de routage par défaut : réseau Microsoft.

    • Lors de la création d’une adresse IP publique dans une région où vous envisagez d’activer la redondance de zone pour votre instance de Gestion des API, configurez le paramètre redondant interzone.

    • La valeur de l’adresse IP est affectée en tant qu’adresse IPv4 publique virtuelle de l’instance Gestion des API dans cette région.

    • Lorsque vous passez d’un réseau virtuel externe à un réseau virtuel interne (ou vice versa), que vous modifiez des sous-réseaux dans le réseau ou que vous mettez à jour des zones de disponibilité pour l’instance Gestion des API, vous devez configurer une autre adresse IP publique.

Activer la connexion au réseau virtuel

Activer la connectivité aux réseaux virtuels à l’aide du portail Azure (plateforme de calcul stv2)

  1. Accédez au portail Azure pour rechercher votre instance Gestion des API. Recherchez et sélectionnez Services Gestion des API.

  2. Choisissez votre instance Gestion des API.

  3. Sélectionnez Réseau.

  4. Sélectionnez le type d’accès Externe. Sélectionnez un réseau virtuel dans le portail Azure.

  5. Dans la liste des localisations (régions) où votre service Gestion des API est provisionné :

    1. Choisissez un Emplacement.
    2. Sélectionnez le Réseau virtuel, le Sous-réseau et l’Adresse IP.
    • La liste des réseaux virtuels contient les réseaux virtuels Resource Manager, disponibles dans vos abonnements Azure, qui sont installés dans la région que vous configurez.

      Paramètres du réseau virtuel sur le portail.

  6. Sélectionnez Appliquer. La page Réseau de votre instance Gestion des API est mise à jour avec vos nouveaux choix de réseau virtuel et de sous-réseau.

  7. Poursuivez la configuration des paramètres de réseau virtuel pour les autres emplacements de votre instance de Gestion des API.

  8. Dans la barre de navigation supérieure, sélectionnez Enregistrer, puis Appliquer la configuration réseau.

La mise à jour de l’instance Gestion des API peut prendre de 15 à 45 minutes. Les instances du niveau Développeur ont un temps d’arrêt pendant le processus. Les instances du niveau Premium n’ont pas de temps d’arrêt pendant le processus.

Activer la connectivité à l’aide d’un modèle Resource Manager (plateforme de calcul stv2)

  • Modèle Azure Resource Manager (Version API 2021-08-01)

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

Activer la connectivité à l’aide de cmdlets Azure PowerShell (plateforme stv1)

Créez ou mettez à jour une instance de Gestion des API dans un réseau virtuel.

Configurer les règles du groupe de sécurité réseau

Configurez des règles de réseau personnalisées dans le sous-réseau Gestion des API pour filtrer le trafic vers et à partir de votre instance de Gestion des API. Nous vous recommandons d’utiliser les règles NSG minimales suivantes pour garantir le bon fonctionnement et l’accès à votre instance. Passez soigneusement en revue votre environnement pour déterminer si d’autres règles sont nécessaires.

Important

En fonction de votre utilisation de la mise en cache et d’autres fonctionnalités, il est possible que vous deviez configurer des règles NSG supplémentaires au-delà des règles minimales du tableau suivant. Pour plus d’informations sur les paramètres, consultez Informations de référence sur la configuration de réseau virtuel.

  • Pour la plupart des scénarios, utilisez les étiquettes de service indiquées au lieu des adresses IP de service pour spécifier les sources et les destinations réseau.
  • Affectez à ces règles une priorité supérieure à celle des règles par défaut.
Port(s) source / de destination Sens Protocole de transfert Balises de service
Source / Destination
Objectif Type de réseau virtuel
* / [80], 443 Trafic entrant TCP Internet / Réseau virtuel Communication client avec Gestion des API Externe uniquement
* / 3443 Trafic entrant TCP ApiManagement / VirtualNetwork Point de terminaison de gestion pour le Portail Azure et PowerShell Externe et interne
* / 6390 Trafic entrant TCP AzureLoadBalancer / VirtualNetwork Équilibrage de charge de l’infrastructure Azure Externe et interne
* / 443 Trafic entrant TCP AzureTrafficManager / VirtualNetwork Routage Azure Traffic Manager pour le déploiement multi-région Externe uniquement
* / 443 Règle de trafic sortant TCP VirtualNetwork / Stockage Dépendance sur stockage Azure pour les fonctionnalités de service de base Externe et interne
* / 1433 Règle de trafic sortant TCP VirtualNetwork / SQL Accès aux points de terminaison Azure SQL pour les fonctionnalités de service de base Externe et interne
* / 443 Règle de trafic sortant TCP VirtualNetwork / AzureKeyVault Accès à Azure Key Vault pour les fonctionnalités de service de base Externe et interne
* / 1886, 443 Règle de trafic sortant TCP VirtualNetwork / AzureMonitor Publier les journaux et métriques de diagnostic, Resource Health et Application Insights Externe et interne

Se connecter à un service web hébergé sur un réseau virtuel

Une fois que vous avez connecté votre service Gestion des API au réseau virtuel, vous pouvez accéder aux services back-end qu’il contient comme vous le feriez avec des services publics. Lorsque vous créez ou modifiez une API, tapez l’adresse IP locale ou le nom d’hôte (si un serveur DNS est configuré pour le réseau virtuel) de votre service web dans le champ URL du service web.

Ajouter une API à partir d’un réseau virtuel

Configuration d’un serveur DNS personnalisé

En mode VNet externe, Azure gère le DNS par défaut. Vous pouvez éventuellement configurer un serveur DNS personnalisé.

le service de la gestion des API dépend de plusieurs services Azure. Si la gestion des API est hébergée dans un réseau virtuel comportant un serveur DNS personnalisé, il doit résoudre les noms d’hôte de ces services Azure.

Important

Si vous envisagez d’utiliser des serveurs DNS personnalisés pour le réseau virtuel, vous devez les configurer avant d’y déployer un service Gestion des API. Sinon, vous devez mettre à jour le service Gestion des API chaque fois que vous changez les serveurs DNS en exécutant l’opération Appliquer une configuration réseau.

Routage

  • Une adresse IP publique à charge équilibrée (adresse IP virtuelle) est réservée pour fournir l’accès aux points de terminaison et ressources de Gestion des API en dehors du réseau virtuel.
    • L’adresse IP publique se trouve dans le panneau Vue d’ensemble/Bases sur le portail Azure.

Pour plus d’informations et d’éléments à prendre en considération, consultez Adresses IP de gestion des API Azure.

Adresses IP virtuelles et adresses DIP

Des adresses IP dynamiques (DIP) seront attribuées à chaque machine virtuelle sous-jacente du service et utilisées pour accéder aux points de terminaison et aux ressources au sein du réseau virtuel et des réseaux virtuels appairés. L’adresse IP virtuelle (VIP) publique du service Gestion des API est utilisée pour accéder aux ressources publiques.

Si une restriction d’IP liste des ressources sécurisées au sein du réseau virtuel ou des réseaux virtuels appairés, nous vous conseillons de préciser la plage entière du sous-réseau où le service Gestion des API est déployé pour accorder ou restreindre l’accès à partir du service.

En savoir plus sur la taille de sous-réseau recommandée.

Forcer le tunneling du trafic vers le pare-feu local à l’aide d’ExpressRoute ou de l’appliance virtuelle réseau

Un tunneling forcé vous permet de rediriger ou de « forcer » tout le trafic Internet vers votre sous-réseau localement à des fins d'inspection et d'audit. Généralement, vous configurez et définissez votre propre route par défaut (0.0.0.0/0), ce qui force tout le trafic du sous-réseau Gestion des API à traverser un pare-feu local ou une appliance virtuelle réseau. Ce flux de trafic interrompt la connectivité avec la Gestion des API Azure, car le trafic sortant est bloqué en local ou fait l’objet d’une opération NAT sur un jeu d’adresses non reconnaissable qui ne fonctionne plus avec différents points de terminaison Azure. Vous pouvez résoudre ce problème en appliquant les méthodes suivantes :

  • Activez les points de terminaison de service sur le sous-réseau où le service Gestion des API est déployé pour :

    • Azure SQL (requis uniquement dans la région primaire si le service Gestion des API est déployé dans plusieurs régions)
    • Stockage Azure
    • Hubs d'événements Azure
    • Azure Key Vault (requis lorsque la Gestion des API est déployée sur la plateforme stv2)

    En activant des points de terminaison directement du sous-réseau Gestion des API vers ces services, vous pouvez utiliser le réseau principal Microsoft Azure pour un routage optimal du trafic du service. Si vous utilisez des points de terminaison de service avec le service Gestion des API tunnelisé de force, le trafic des services Azure susmentionnés n’est pas tunnelisé de force. Cependant, l’autre trafic de dépendance du service Gestion des API est tunnelisé de force. Assurez-vous que votre pare-feu ou votre appliance virtuelle ne bloque pas ce trafic, ou que le service Gestion des API ne fonctionne pas correctement.

    Notes

    Nous vous recommandons vivement d’activer les points de terminaison des services directement à partir du sous-réseau Gestion des API vers les services dépendants tels qu’Azure SQL et Stockage Azure qui les prennent en charge. Toutefois, certaines organisations peuvent avoir besoin de forcer le tunneling de l’ensemble du trafic à partir du sous-réseau Gestion des API. Dans ce cas, veillez à configurer votre pare-feu ou votre appliance virtuelle pour autoriser ce trafic. Vous devez autoriser la plage d’adresses IP complète de chaque service dépendant et mettre à jour cette configuration quand l’infrastructure Azure change. Votre service Gestion des API peut également faire l’objet d’une latence ou d’expirations de délai inattendus en raison du tunneling forcé de ce trafic réseau.

  • Tout le trafic du plan de contrôle entre Internet et le point de terminaison de gestion de votre service Gestion des API est acheminé via un ensemble d’adresses IP entrantes hébergé par Gestion des API et inclus dans l’étiquette de serviceApiManagement. Lorsque le trafic est tunnelisé de force, les réponses ne sont pas mappées de manière symétrique à ces adresses IP sources entrantes et la connectivité au point de terminaison de gestion est perdue. Pour surmonter cette limitation, configurez une route définie par l’utilisateur (UDR) pour l’étiquette de service ApiManagement avec le type de tronçon suivant défini sur « Internet » pour renvoyer le trafic vers Azure.

    Remarque

    L’autorisation du trafic de gestion de la Gestion des API pour contourner un pare-feu local ou une appliance virtuelle réseau n’est pas considérée comme un risque de sécurité significatif. La configuration recommandée pour votre sous-réseau Gestion des API autorise le trafic de gestion entrant sur le port 3443 uniquement à partir de l’ensemble d’adresses IP Azure comprises par l’étiquette de service ApiManagement. La configuration UDR recommandée n’est que pour le chemin d’accès de retour de ce trafic Azure.

  • (Mode réseau virtuel externe) Le trafic de plan de données pour les clients tentant d’atteindre la passerelle Gestion des API et le portail des développeurs à partir d’Internet sera également supprimé par défaut en raison du routage asymétrique introduit par le tunneling forcé. Pour chaque client qui nécessite un accès, configurez un UDR explicite avec le type de tronçon suivant « Internet » pour contourner le pare-feu ou l’appliance de réseau virtuel.

  • Pour les autres dépendances du service Gestion des API tunnelisées de force, résolvez le nom d’hôte et atteignez le point de terminaison. Il s’agit notamment des paramètres suivants :

    • Métriques et supervision de l’intégrité
    • Diagnostics du portail Azure
    • Relais SMTP
    • CAPTCHA du portail des développeurs
    • Serveur Azure KMS

Pour plus d'informations, consultez Référence de configuration de réseau virtuel.

Problèmes courants liés à la configuration réseau

Cette section a été déplacée. Consultez Informations de référence sur la configuration de réseau virtuel.

Résolution des problèmes

Échec du déploiement initial du service Gestion des API dans un sous-réseau

  • Déployer une machine virtuelle dans le même sous-réseau.
  • Connectez-vous à la machine virtuelle et vérifiez la connectivité à chacune des ressources suivantes de votre abonnement Azure :
    • Stockage Blob Azure
    • Azure SQL Database
    • Azure Storage Table
    • Azure Key Vault (pour une instance Gestion des API hébergée sur la plateforme stv2)

Important

Après avoir validé la connectivité, supprimez toutes les ressources du sous-réseau avant de déployer la Gestion des API dans le sous-réseau (nécessaire quand la Gestion des API est hébergée sur la plateforme stv1).

Vérifier l’état du réseau

  • Après avoir déployé Gestion des API dans le sous-réseau, utilisez le portail pour vérifier la connectivité de votre instance aux dépendances, telles que Stockage Azure.

  • Dans le menu de gauche du portail, sous Déploiement et infrastructure, sélectionnez Réseau>État du réseau.

    Capture d’écran de la vérification de l’état de la connectivité réseau dans le portail.

Filtrer Description
Obligatoire Sélectionnez cette option pour vérifier la connectivité aux services Azure requis pour Gestion des API. Un échec indique que l’instance ne peut pas effectuer des opérations de base pour gérer les API.
Facultatif Sélectionnez cette option pour vérifier la connectivité aux services facultatifs. Tout échec indique uniquement que la fonctionnalité spécifique ne fonctionnera pas (par exemple, SMTP). Un échec peut entraîner une dégradation dans l’utilisation et la surveillance de l’instance de Gestion des API et empêcher d’offrir le contrat SLA validé.

Pour résoudre les problèmes de connectivité, sélectionnez :

  • Métriques : pour passer en revue les métriques de l’état de la connectivité réseau

  • Diagnostiquer : pour exécuter un vérificateur de réseau virtuel sur une période spécifiée

Pour résoudre les problèmes de connectivité, consultez les paramètres de configuration réseau, puis corrigez les paramètres réseau nécessaires.

Mises à jour incrémentielles

Lorsque vous changez votre réseau, consultez API NetworkStatus pour vérifier que le service Gestion des API n’a pas perdu l’accès aux ressources critiques. L’état de connectivité doit être mis à jour toutes les 15 minutes.

Pour appliquer une modification de configuration du réseau à l’instance de Gestion des API à l’aide du portail :

  1. Dans le menu de gauche de votre instance, sous Déploiement et infrastructure, sélectionnez Réseau>Réseau virtuel.
  2. Sélectionnez Appliquer la configuration du réseau.

Une instance API Management hébergée sur la plateforme de calculstv1, quand elle est déployée dans un sous-réseau de réseau virtuel Resource Manager, réserve le sous-réseau en créant un lien de navigation dans les ressources. Si le sous-réseau contient déjà une ressource d’un autre fournisseur, le déploiement échoue. De même, lorsque vous supprimez un service Gestion des API ou le déplacez vers un sous-réseau différent, le lien de navigation des ressources est supprimé.

Problèmes rencontrés lors de la réaffectation d’une instance API Management à un sous-réseau précédent

  • Verrou de réseau virtuel : lorsque vous déplacez une instance Gestion des API vers son sous-réseau d’origine, il est possible que le verrou de réseau virtuel empêcher une réaffectation immédiate, avec une suppression qui peut prendre jusqu’à six heures. Si le sous-réseau d’origine a d’autres services API Management basés sur une plateforme stv1, sa suppression et une attente de 6 heures sont nécessaires pour déployer un service stv2 basé sur une plateforme dans le même sous-réseau.
  • Verrou de groupe de ressources : un autre scénario à envisager est la présence d’un verrou d’étendue au niveau du groupe de ressources ou à un niveau supérieur, ce qui entrave le processus de suppression du lien de navigation dans les ressources. Pour résoudre ce problème, supprimez le verrou d’étendue. Prévoyez alors un délai approximatif de 4 à 6 heures avant que le service API Management se dissocie du sous-réseau d’origine et que le verrou soit supprimé, permettant ainsi le déploiement sur le sous-réseau souhaité.

Résoudre des problèmes de connexion à Microsoft Graph dans un VNet

Une connectivité réseau à Microsoft Graph est nécessaire pour les fonctionnalités, notamment une connexion utilisateur dans le portail des développeurs en utilisant le fournisseur d’identité Microsoft Entra.

Pour résoudre des problèmes de connectivité à Microsoft Graph à partir d’un VNet :

  • Vérifiez qu’un NSG et d’autres règles de réseau sont configurés pour une connectivité sortante à partir de votre instance API Management dans Microsoft Graph (en utilisant une étiquette de service AzureActiveDirectory).

  • Vérifiez que le réseau et la résolution DNS accèdent à graph.microsoft.com à partir du réseau virtuel. Par exemple, approvisionnez une machine virtuelle dans le réseau virtuel, connectez-vous-y et essayez de GET https://graph.microsoft.com/v1.0/$metadata à partir d’un navigateur ou en utilisant cURL, PowerShell ou d’autres outils.

Étapes suivantes

Pour en savoir plus :