Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La traduction d’adresses réseau (NAT) simplifie la connectivité Internet sortante-uniquement pour les réseaux virtuels. Quand il est configuré sur un sous-réseau, toute la connectivité sortante utilise vos adresses IP publiques statiques spécifiées. Une NAT peut être utile pour les applications qui doivent consommer un service tiers qui utilise une liste d’autorisation d’adresses IP comme mesure de sécurité. Pour en savoir plus, consultez Présentation d’Azure NAT Gateway.
Ce tutoriel montre comment utiliser la passerelle NAT pour router le trafic sortant à partir d’une fonction de déclencheur par HTTP. Cette fonction vous permet de vérifier sa propre adresse IP sortante. Dans ce tutoriel, vous allez :
- Créez un réseau virtuel
- Créer une application de fonction dans un plan Premium.
- Créer une adresse IP publique
- Créer une passerelle NAT.
- Configurer une application de fonction de manière à router le trafic sortant via la passerelle NAT.
Remarque
Vous ne pouvez pas utiliser une passerelle NAT pour router le trafic sortant vers un compte de stockage Azure dans la même région que votre application de fonction. Les services déployés dans la même région que votre compte de stockage utilisent des adresses IP Azure privées pour la communication. Pour plus d’informations, consultez questions fréquemment posées sur la passerelle NAT.
Topologie
Le diagramme suivant représente l’architecture de la solution que vous créez :
Les fonctions qui s’exécutent dans le plan Premium ont les mêmes fonctionnalités d’hébergement que les applications web dans Azure App Service, ce qui inclut la fonctionnalité d’intégration de réseau virtuel. Pour en savoir plus sur l’intégration d’un réseau virtuel, y compris la résolution des problèmes et la configuration avancée, consultez Intégrer une application à un réseau virtuel Azure.
Prérequis
Pour ce tutoriel, il est important de comprendre l’adressage IP et la gestion des sous-réseaux. Vous pouvez commencer par cet article qui couvre les principes fondamentaux de l’adressage et de la gestion de sous-réseaux. De nombreux autres articles et vidéos sont disponibles en ligne.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Si vous avez déjà suivi le tutoriel d’intégration de fonctions avec un réseau virtuel Azure, vous pouvez passer à Créer une fonction de déclencheur HTTP.
Créez un réseau virtuel
Dans le menu du Portail Azure, sélectionnez Créer une ressource. À partir de la Place de marché Azure, sélectionnez Mise en réseau>Réseau virtuel.
Dans Créer un réseau virtuel, entrez ou sélectionnez les paramètres spécifiés comme indiqué dans le tableau suivant :
Paramètre Valeur Abonnement Sélectionnez votre abonnement. groupe de ressources Sélectionnez Créer nouveau, entrez myResourceGroup et sélectionnez OK. Nom Entrez myResourceGroup-vnet. Emplacement Sélectionnez USA Est. Sélectionnez Suivant : Adresses IP et, pour Espace d’adressage IPv4, entrez 10.10.0.0/16.
Sélectionnez Ajouter un sous-réseau, puis entrez Tutorial-Net pour Nom de sous-réseau et 10.10.1.0/24 pour la Plage d’adresses de sous-réseau.
Sélectionnez Ajouter, puis Vérifier + créer. Conservez les autres valeurs par défaut, puis sélectionnez Créer.
Dans Créer un réseau virtuel, sélectionnez Créer.
Maintenant, vous allez créer une application de fonction dans le plan Premium. Ce plan fournit une mise à l’échelle serverless lors de la prise en charge de l’intégration d’un réseau virtuel.
Créer une application de fonction sur le plan Premium
Ce tutoriel vous montre comment créer votre application de fonction dans un plan Premium. La même fonctionnalité est également disponible lorsque vous hébergez votre application dans un plan Flex Consumption ou dans un plan Dédié (App Service).
Remarque
Pour une expérience optimale dans ce tutoriel, choisissez .NET pour la pile d’exécution et Windows comme système d’exploitation. Créez votre application de fonction dans la même région que votre réseau virtuel.
Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.
Dans la page Nouveau, sélectionnez Calcul>Application de fonction.
Sous Sélectionner une option d’hébergement, sélectionnez Functions Premium>Select pour créer votre application dans un plan Premium. Avec cette option d’hébergement serverless, vous payez uniquement pour la durée d’exécution de vos fonctions. Pour en savoir plus sur les différents plans d’hébergement, consultez Vue d’ensemble des plans.
Dans la page De base, utilisez les paramètres d’application de fonction comme indiqué dans le tableau ci-dessous :
Paramètre Valeur suggérée Descriptif Abonnement Votre abonnement Abonnement sous lequel est créée cette nouvelle application de fonction. Groupe de ressources myResourceGroup Nom du nouveau groupe de ressources dans lequel créer votre Function App. Nom de l’application de fonction Nom globalement unique Nom qui identifie votre nouvelle Function App. Les caractères valides sont a-z(insensible à la casse),0-9et-. Pour garantir un nom d’application unique, vous pouvez éventuellement activer le nom d’hôte par défaut unique sécurisé, actuellement en préversion.Voulez-vous déployer du code ou une image conteneur ? Code Option permettant de publier des fichiers de code ou un conteneur Docker. Système d’exploitation Système d’exploitation préféré Choisissez Linux ou Windows. Pile d’exécution Langage préféré Choisissez un runtime qui prend en charge votre langage de programmation de fonction favori. Version Version de langue prise en charge Choisissez une version prise en charge de votre langage de programmation de fonction. Région Région recommandée Choisissez une région près de chez vous ou près d’autres services auxquels ont accès vos fonctions. Sous Détails de l’environnement pour le plan Windows ou Le plan Linux, sélectionnez Créer, Nommer votre plan App Service, puis sélectionnez un plan tarifaire. Le plan de tarification par défaut est EP1, où EP représente le premium élastique. Pour plus d’informations, consultez la liste des références SKU Premium. Lorsque vous exécutez des fonctions JavaScript dans un plan Premium, vous devez choisir une instance qui comporte moins de processeurs virtuels. Pour plus d’informations, consultez Choisir des plans Premium à un cœur.
Sauf si vous souhaitez activer la redondance de zone, conservez la valeur par défaut de Disabled.
Sélectionnez Suivant : Stockage. Dans la page Stockage , créez le compte de stockage hôte par défaut requis par votre application de fonction. Les noms de compte de stockage doivent être compris entre 3 et 24 caractères et ne peuvent contenir que des chiffres et des lettres minuscules. Vous pouvez également utiliser un compte existant qui doit répondre aux exigences relatives aux comptes de stockage.
Sauf si vous activez l’intégration de réseau virtuel, sélectionnez Suivant : Surveillance pour ignorer l’onglet Mise en réseau . Dans la page Surveillance , entrez les paramètres suivants :
Paramètre Valeur suggérée Descriptif Activer Application Insights Oui Active l’intégration intégrée d’Application Insight pour surveiller le code de vos fonctions. Application Insights Par défaut Crée une ressource Application Insights avec le même nom de l’application dans la région prise en charge la plus proche. En développant ce paramètre, vous pouvez changer le Nouveau nom de ressource ou choisir un autre Emplacement dans une Zone géographique Azure où stocker vos données. Sélectionnez Vérifier + créer pour accepter les valeurs par défaut pour les pages restantes et passer en revue les sélections de configuration d’application.
Dans la page Vérifier + créer, vérifiez vos paramètres, puis sélectionnez Créer pour provisionner et déployer l’application de fonction.
Cliquez sur l’icône Notifications en haut à droite du portail pour voir le message Le déploiement a été effectué.
Sélectionnez Accéder à la ressource pour afficher votre nouvelle application de fonction. Vous pouvez également sélectionner Épingler au tableau de bord. L’épinglage permet de revenir plus facilement à cette ressource d’application de fonction à partir de votre tableau de bord.
Connecter l’application de fonction au réseau virtuel
Vous pouvez maintenant connecter votre application de fonction au réseau virtuel.
Dans votre application de fonction, sélectionnez Réseau dans le menu de gauche puis, sous Intégration au réseau virtuel, sélectionnez Cliquez ici pour configurer.
Dans la page Intégration au réseau virtuel, sélectionnez Ajouter un réseau virtuel.
Dans État de la fonctionnalité réseau, utilisez les paramètres figurant dans le tableau sous l’image :
Paramètre Valeur suggérée Descriptif Réseau virtuel MyResourceGroup-vnet Ce réseau virtuel est celui que vous avez créé précédemment. Sous-réseau Créer un sous-réseau Créez un sous-réseau dans le réseau virtuel que votre application de fonction utilisera. L’intégration au réseau virtuel doit être configurée pour utiliser un sous-réseau vide. Nom du sous-réseau Function-Net Nom du nouveau sous-réseau. Bloc d’adresses du réseau virtuel 10.10.0.0/16 Vous devez avoir un seul bloc d’adresses défini. Bloc d’adresses du sous-réseau 10.10.2.0/24 La taille du sous-réseau limite le nombre total d’instances vers lequel votre application de fonction du plan Premium peut effectuer un scale-out. Cet exemple utilise un sous-réseau /24avec 254 adresses d’hôte disponibles. Ce sous-réseau est surprovisionné, mais facile à calculer.Sélectionnez OK pour ajouter le sous-réseau. Fermez les pages Intégration de réseau virtuel et État de la fonctionnalité réseau pour revenir à la page de votre application de fonction.
L’application de fonction peut maintenant accéder au réseau virtuel. Lorsque la connectivité est activée, le paramètre de site vnetrouteallenabled est défini sur 1. Ce paramètre de site ou le paramètre d’application hérité WEBSITE_VNET_ROUTE_ALL doivent avoir la valeur 1.
Ensuite, vous allez ajouter une fonction déclenchée par HTTP à l’application de fonction.
Créer une fonction de déclencheur HTTP
Dans le menu de gauche de la fenêtre Fonctions, sélectionnez Fonctions, puis Ajouter dans le menu supérieur.
Dans la fenêtre Nouvelle fonction, sélectionnez Déclencheur HTTP et acceptez le nom par défaut pour la Nouvelle fonction ou entrez un nouveau nom.
Dans Coder + Tester, remplacez le code du script C# généré par un modèle (.csx) par le code suivant :
#r "Newtonsoft.Json" using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); var client = new HttpClient(); var response = await client.GetAsync(@"https://ifconfig.me"); var responseMessage = await response.Content.ReadAsStringAsync(); return new OkObjectResult(responseMessage); }Ce code appelle un site web externe qui retourne l’adresse IP de l’appelant, en l’occurrence cette fonction. Cette méthode vous permet de déterminer facilement l’adresse IP sortante utilisée par votre application de fonction.
Vous êtes maintenant prêt à exécuter la fonction et à vérifier les adresses IP sortantes actuelles.
Vérifier les adresses IP sortantes actuelles
Vous pouvez maintenant exécuter la fonction. Mais avant, consultez le portail pour vérifier quelles adresses IP sortantes sont utilisées par l’application de fonction.
Dans votre application de fonction, sélectionnez Propriétés et examinez le champ Adresses IP sortantes.
À présent, revenez à votre fonction de déclencheur HTTP, sélectionnez Coder + Tester, puis Tester/Exécuter.
Pour exécuter la fonction, sélectionnez Exécuter, puis passez à Sortie et vérifiez que l’adresse IP dans le corps de la réponse HTTP est l’une des valeurs des adresses IP sortantes que vous avez affichées plus tôt.
À présent, vous pouvez créer une adresse IP publique et utiliser une passerelle NAT pour modifier cette adresse IP sortante.
Créer une adresse IP publique
À partir de votre groupe de ressources, sélectionnez Ajouter, recherchez Adresse IP publique sur la Place de marché Azure, puis sélectionnez Créer. Utilisez les paramètres indiqués dans le tableau sous l’image ci-après :
Paramètre Valeur suggérée Version de l’adresse IP IPv4 RÉFÉRENCE (SKU) Norme Niveau Zones géographiques Nom Adresse IP sortante Abonnement Vérifiez que votre abonnement est affiché Groupe de ressources myResourceGroup (ou le nom que vous avez donné à votre groupe de ressources) Lieu USA Est (ou la région que vous avez affectée à vos autres ressources) Zone de disponibilité Aucune zone Sélectionnez Créer pour soumettre le déploiement.
Une fois le déploiement terminé, accédez à la ressource d’adresse IP publique que vous venez de créer et affichez l’adresse IP dans la Vue d’ensemble.
Créer une passerelle NAT
Nous allons maintenant créer la passerelle NAT. Si vous avez commencé avec le précédent tutoriel sur les réseaux virtuels, Function-Net est le nom de sous-réseau suggéré et MyResourceGroup-vnet est le nom de réseau virtuel suggéré dans ce tutoriel.
À partir de votre groupe de ressources, sélectionnez Ajouter, recherchez Passerelle NAT sur la Place de marché Azure, puis sélectionnez Créer. Utilisez les paramètres du tableau sous l’image pour renseigner l’onglet Informations de base :
Paramètre Valeur suggérée Abonnement Votre abonnement Groupe de ressources myResourceGroup (ou le nom que vous avez donné à votre groupe de ressources) Nom de la passerelle NAT myNatGateway Région USA Est (ou la région que vous avez affectée à vos autres ressources) Zone de disponibilité Aucun Sélectionnez Suivant : Adresse IP sortante. Dans le champ Adresses IP publiques, sélectionnez l’adresse IP publique que vous avez créée. Laissez l’option Préfixes d’adresses IP publiques désélectionnée.
Sélectionnez Suivant : Sous-réseau. Sélectionnez la ressource myResourceGroup-vnet dans le champ Réseau virtuel et le sous-réseau Function-Net.
Sélectionnez Vérifier + créer, puis Créer pour soumettre le déploiement.
Une fois le déploiement terminé, la passerelle NAT est prête à router le trafic du sous-réseau de votre application de fonction vers Internet.
Vérifier les nouvelles adresses IP sortantes
Répétez les étapes précédentes pour réexécuter la fonction. L’adresse IP sortante que vous avez configurée dans la traduction d’adresses réseau doit maintenant être visible dans la sortie de la fonction.
Nettoyer les ressources
Vous avez créé des ressources pour suivre ce tutoriel. Vous serez facturé pour ces ressources en fonction de l’état de votre compte et de la tarification du service. Pour éviter les coûts supplémentaires, supprimez les ressources lorsque vous n’en avez plus besoin.
Dans le portail Azure, accédez à la page Groupe de ressources.
Pour accéder à cette page à partir de la page de l’application de fonction, sélectionnez l’onglet Vue d’ensemble, puis le lien situé sous Groupe de ressources.
Pour accéder à la page à partir du tableau de bord, sélectionnez Groupes de ressources, puis le groupe de ressources que vous avez utilisé pour cet article.
Dans la page Groupe de ressources, passez en revue la liste des ressources incluses et vérifiez qu’elles correspondent à celles que vous souhaitez supprimer.
Sélectionnez Supprimer le groupe de ressources et suivez les instructions.
La suppression peut prendre quelques minutes. Une fois terminée, une notification s’affiche pendant quelques secondes. Vous pouvez également sélectionner l’icône représentant une cloche en haut de la page pour afficher la notification.