Considérations relatives à Azure NAT Gateway pour l’architecture mutualisée
Azure NAT Gateway assure le contrôle de la connectivité réseau sortante de vos ressources qui sont hébergées dans un réseau virtuel Azure. Dans cet article, nous allons pencher sur la façon dont NAT Gateway peut atténuer l’épuisement des ports SNAT (Source Network Address Translation), ce qui peut affecter les applications multilocataires. Nous verrons également comment NAT Gateway attribue des adresses IP statiques au trafic sortant à partir de votre solution multilocataire.
Notes
Les pare-feu, comme le Pare-feu Azure, vous permettent de contrôler et de journaliser votre trafic sortant. Le Pare-feu Azure propose également une échelle de ports SNAT et un contrôle d’adresses IP sortantes similaires à NAT Gateway. Si la passerelle NAT Gateway est moins coûteuse, elle comporte néanmoins moins de fonctionnalités et n’est pas un produit de sécurité.
Fonctionnalités de NAT Gateway prenant en charge l’architecture multilocataire
Ports SNAT à grande échelle
Des ports SNAT sont alloués au moment où votre application effectue plusieurs connexions sortantes simultanées à la même adresse IP publique, sur le même port. Les ports SNAT constituent une ressource limitée au sein des équilibreurs de charge. Si votre application ouvre un grand nombre de connexions distinctes sur le même hôte, elle peut utiliser tous les ports SNAT disponibles. C’est ce qui s’appelle un épuisement de ports SNAT.
Dans la plupart des applications, un épuisement de ports SNAT est le signe que l’application ne gère pas bien les connexions HTTP ou les ports TCP. Cependant, certaines applications multilocataires présentent un risque particulier de dépassement des limites de ports SNAT, même si elles réutilisent convenablement les connexions. Par exemple, ce cas de figure peut se présenter lorsque votre application se connecte à un grand nombre de bases de données propres à un locataire derrière la même passerelle de base de données.
Conseil
Si vous constatez un épuisement des ports SNAT dans une application multilocataire, vous devez vérifier si votre application respecte les bonnes pratiques. Veillez à réutiliser les connexions HTTP et à ne pas recréer de nouvelles connexions chaque fois que vous vous connectez à un service externe. Une façon de contourner ce problème pourrait être de déployer une passerelle NAT Gateway, mais si votre code ne respecte pas les bonnes pratiques, le problème risque de refaire son apparition dans l’avenir.
Le problème est exacerbé si vous utilisez des services Azure qui partagent les allocations de ports SNAT entre plusieurs clients, par exemple Azure App Service et Azure Functions.
Si vous déterminez que vous faites face à un épuisement SNAT et que votre code d’application gère correctement vos connexions sortantes, envisagez de déployer NAT Gateway. Cette approche est souvent employée par les clients qui déploient des solutions multilocataires basées sur Azure App Service et Azure Functions.
Une passerelle NAT individuelle peut avoir plusieurs adresses IP publiques attachées, et chaque adresse IP publique fournit un ensemble de ports SNAT pour la connexion sortante à l'internet. Pour comprendre le nombre maximal de ports SNAT et d'adresses IP qu'une seule passerelle NAT peut prendre en charge, consultez la rubrique Limites, quotas et contraintes des abonnements et services Azure. Si vous avez besoin d’aller au-delà de cette limite, vous pouvez envisager de déployer plusieurs instances de NAT Gateway sur plusieurs sous-réseaux ou réseaux virtuels. Chaque machine virtuelle d’un sous-réseau peut utiliser l’un des ports SNAT disponibles, si nécessaire.
Contrôle d’adresses IP sortantes
Le contrôle d’adresses IP sortantes peut être utile dans les applications multilocataires, sous réserve que vous répondez à l’ensemble des conditions suivantes :
- Vous utilisez des services Azure qui ne fournissent pas automatiquement d’adresses IP statiques dédiées pour le trafic sortant. Ces services sont Azure App Service, Azure Functions, API Management (dans le cadre d’une exécution dans le niveau Consommation) et Azure Container Instances.
- Vous devez vous connecter aux réseaux de vos locataires via Internet.
- Vos locataires doivent filtrer le trafic entrant en fonction de l’adresse IP dans chaque requête.
Lorsqu’une instance de NAT Gateway est appliquée à un sous-réseau, le trafic sortant de ce sous-réseau utilise les adresses IP publiques associées à la passerelle NAT.
Notes
Lorsque vous associez plusieurs adresses IP publiques à une même instance NAT Gateway, votre trafic sortant peut provenir de n’importe laquelle de ces adresses IP. Vous devrez peut-être configurer des règles de pare-feu au niveau de la destination. Vous devez soit autoriser chaque adresse IP, soit utiliser une ressource de préfixe d’adresse IP publique pour utiliser un ensemble d’adresses IP publiques de la même plage.
Modèles d’isolation
Si vous avez besoin de fournir différentes adresses IP publiques sortantes pour chaque locataire, vous devez déployer des ressources NAT Gateway individuelles. Chaque sous-réseau peut être associé à une seule instance de NAT Gateway. Pour déployer d’autres passerelles NAT, vous devez déployer plusieurs sous-réseaux ou réseaux virtuels. En revanche, vous devrez probablement déployer plusieurs ensembles de ressources de calcul.
Pour plus d’informations sur la conception d’une topologie de réseau multilocataire, consultez Approches architecturales pour la mise en réseau dans les solutions multilocataires.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- John Downs | Ingénieur client principal, FastTrack for Azure
Autres contributeurs :
- Aimee Littleton | Gestionnaire de programme 2, Azure NAT Gateway
- Arsen Vladimirskiy | Ingénieur client principal, FastTrack for Azure
- Joshua Waddell | Ingénieur client senior, FastTrack for Azure
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.