Identifier et migrer vos connexions hybrides sur Azure

Antoine LOIZEAUAntoine LOIZEAU
4 min read

Introduction

Dans cet article, nous allons explorer comment identifier et extraire les informations sur les connexions hybrides utilisées par les applications web dans plusieurs souscriptions Azure. Nous utiliserons un script PowerShell pour automatiser ce processus et exporter les données dans un fichier CSV.

Ce fichier contiendra des informations précieuses telles que le nom de la souscription, le groupe de ressources, le nom de l'application web, le framework utilisé, la version de .NET, et le nom de la connexion hybride.

Qu’est-ce qu’une connexion hybride ?

Dans le monde moderne d’Azure, les applications web doivent souvent communiquer avec des ressources locales ou d'autres services hébergés dans des environnements hybrides.

Les connexions hybrides d'Azure permettent de créer des connexions sécurisées entre les applications web hébergées sur Azure et les ressources locales, sans avoir besoin de configurer des VPN complexes ou des tunnels SSH.

Capture d’écran des détails des connexions hybrides.

💡
Cette solution peut être une alternative à la mise en place d'un VPN ou d'une express route, mais elle a des contraintes concernant la bande passante et la latence associée.

Comment extraire les connexions hybrides associées à vos web apps ?

# Description: This script lists all the hybrid connections for all the web apps in all the subscriptions defined in the $subscriptions variable.
# The output is written in a CSV file with the following columns: Subscription, ResourceGroup, WebAppName, Application, DotNetVersion, HybridConnectionName
$filename = "hybrid-connections.csv"
# Write the header of the CSV file
"Subscription, ResourceGroup, WebAppName, Application, DotNetVersion, HybridConnectionName" | Out-File -FilePath $filename
# Define the subscriptions to loop through
$subscriptions = @("MyApp-Development", "MyApp-Testing", "MyApp-Staging", "MyApp-Production")
# Loop through all subscriptions
foreach ($subscription in $subscriptions) {
    az account set --subscription $subscription
    $sites = az webapp list --query "[].{Name:name, Rg:resourceGroup, Application:tags.application}" -o json | ConvertFrom-Json
    foreach ($site in $sites) {
        # Get the .NET framework version of the web app
        $dotnetFrameworkVersion = az webapp config show --resource-group $site.Rg --name $site.Name --query netFrameworkVersion
        # Get all the hybrid connections for the web app
        $hybridConnections = az webapp hybrid-connection list --resource-group $site.Rg --name $site.Name | ConvertFrom-Json
        # Write output in CSV file format with the following columns: Subscription, ResourceGroup, WebAppName, Application, DotNetVersion, HybridConnectionName
        foreach ($hybridConnection in $hybridConnections) {
            $output = $subscription + "," + $site.Rg + "," + $site.Name + "," + $site.Application + "," + $dotnetFrameworkVersion + "," + $hybridConnection.name
            $output | Out-File -FilePath $filename -Append
        }
    }
}

Quelle solution adopter pour les remplacer ?

Mon objectif a été de les identifier pour les migrer vers une solution plus robuste utilisant l'intégration vNet et une express route Azure.

Intégration au réseau virtuel

La fonctionnalité d’intégration au réseau virtuel :

  • Nécessite un plan tarifaire de base ou Standard pris en charge, Premium, Premium v2, Premium v3 ou Elastic Premium App Service.

  • Le sous-réseau doit être dédié au service Microsoft.Web/serverFarms.

  • Prend en charge les protocoles TCP et UDP.

  • Fonctionne avec les applications App Service, les applications de fonction et les applications logiques.

Routage de l’application

App Service dispose de paramètres d'application existants pour configurer l'application et l'acheminement de la configuration. Vous pouvez toujours utiliser le paramètre d’application WEBSITE_VNET_ROUTE_ALL ou vnetRouteAllEnabled pour configurer le routage des applications.

Il existe également des paramètres d’application pour certaines options de routage de la configuration. Ces paramètres d’application sont nommés WEBSITE_CONTENTOVERVNET et WEBSITE_PULL_IMAGE_OVER_VNET.

💡
L’adresse IP privée assignée à une instance est exposée via la variable d’environnement WEBSITE_PRIVATE_IP.

Conclusion

En conclusion, l'intégration au réseau virtuel et le routage d'application offrent des solutions robustes pour améliorer la connectivité et la sécurité des applications. En utilisant des plans tarifaires adaptés et en configurant correctement les paramètres d'application, les entreprises peuvent tirer parti des fonctionnalités avancées d'Azure pour optimiser leurs services. Ces stratégies permettent non seulement de renforcer l'infrastructure, mais aussi de garantir une meilleure performance et une gestion efficace des ressources réseau.

Liens utiles

0
Subscribe to my newsletter

Read articles from Antoine LOIZEAU directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Antoine LOIZEAU
Antoine LOIZEAU

Ayant eu de multiples expériences dans le monde du conseil, j'ai pu acquérir une expertise dans la conception et la construction de services de collaboration d'entreprise. Je suis passionné par les technologies Microsoft et surtout Azure. Aujourd'hui je possède une solide expérience en méthodologie de développement et j'ai mené des équipes de développement technique au succès. Je possède également une solide connaissance de l'infrastructure qui fait de moi une ressource efficace pour mettre en œuvre la transformation numérique vers le cloud Microsoft. Je suis un professionnel efficace et honnête qui aime relever les challenges. Aimant partager mes connaissances; je suis à l'aise en tant que Technical Leader et en tant que membre d'une équipe. Mes compétences techniques sont les suivantes: Azure, DevOps, Architecture Applicative, Développement de solution Cloud Native, écosystème Microsoft... et bien d'autres. Pour voir mes certifications Microsoft : https://www.youracclaim.com/users/antoine-loizeau