Mise en place d’une Azure Hybrid Connection

Aujourd’hui nous allons parler d’Azure Hybrid Connections.

Tout le monde connait Azure API Management ou Azure Data Gateway mais je trouve qu’Azure Hybrid Connections (AHC nous l’appellerons) est bien plus simple à utiliser.

Le cas courant

Selon Microsoft , AHC est définit comme suit :

Azure Hybrid Connections enables you to connect your Azure App Services (including Azure Functions) to existing on-prem services/APIs.

Et on peut voir représenter un cas d’utilisation simple comme cela :

hybridconn-connectiondiagram_3

En effet, il n’est pas toujours possible de tout mettre sur Azure et parfois nous avons malgré tout besoin d’acccéder à des données qui sont stockées dans une infrastructure On-Prem (sur un réseau interne et/ou privé). Pour cela nous pourrons utiliser AHC !

Une fois configurée , votre application hébergée sur Azure peut appeler faire des requêtes HTTP sur un serveur On-Prem.

Definition technique AHC

La documentation de Microsoft est la suivante :

The Hybrid Connections feature consists of two outbound calls to Azure Service Bus Relay. There is a connection from a library on the host where your app is running in App Service. There is also a connection from the Hybrid Connection Manager (HCM) to Service Bus Relay. The HCM is a relay service that you deploy within the network hosting the resource you are trying to access.

Through the two joined connections, your app has a TCP tunnel to a fixed host:port combination on the other side of the HCM. The connection uses TLS 1.2 for security and shared access signature (SAS) keys for authentication and authorization.

When your app makes a DNS request that matches a configured Hybrid Connection endpoint, the outbound TCP traffic will be redirected through the Hybrid Connection.

Comment l’utiliser ?

  1. On-Prem – Créer une WebApi et déployez la par exemple sur un IIS ou même lancez la en local ou utilisez en une existante
  2. Cloud – Créer une app service qui vous servira à déployer votre API qui apellera votre autre API On-Prem
  3. Cloud – Configurez l’Hybrid Connection sur le portail Azure
  4. Visual Studio – Codez votre API qui sera déployée dans le cloud
  5. On-Prem – Installer Hybrid Connection Manager(HCM) sur la machine On-Prem qui héberge l’API
  6. Cloud – Tester votre API qui appelle votre On-Prem

1-On-Prem – Créer une WebApi et déployez la par exemple sur un IIS ou utilisez en une existante

Je vous laisse le soin de créer une API , l’API d’exemple dans Visual Studio (WeatherForect) fera l’affaire 😉

2-Cloud – Créer une app service qui vous servira à déployer votre API qui apellera votre autre API On-Prem

Allez maintenant sur le portail Azure https://portal.azure.com (bien entendu vous devez avoir une souscription active) et créez une nouvelle ressource.

3-Cloud – Configurez l’Hybrid Connection sur le portail Azure

Pour cela, allez dans la partie « Newtworking » de votre application

Puis choisissez Hybrid Connections :

4-Visual Studio – Codez votre API qui sera déployée dans le cloud

Créez une nouvelle API qui apellera votre hybrid connection quand elle sera déployée sur Azure.

Par exemple si on reprend les paramètres de ma connection Hybride configurée auparavant , cela donnera le code suivant :

HttpResponseMessage response = await HttpClient.GetAsync("http://localhost:5000/api/values");
                    string body = await response.Content.ReadAsStringAsync();
                    return new OkObjectResult(body);

J’appelle http://localhost:5000/api/values quand je suis déployé sur Azure et celà apellera mon service local.

Testez la et publiez la sur votre AppService avec Visual Studio par exemple :

5-On-Prem – Installer Hybrid Connection Manager(HCM) sur la machine On-Prem qui héberge l’API

Télechargez l’hybrid connection manager , il est disponible sur un lien dans votre Hyvrid connection sur Azure :

Vous devriez avoir un écran comme suit :

Connection vous à votre compte Azure sur la souscription sur laquelle vous avez créé votre Hybrid connection et il devrait retrouver votre connection fraichement créée.

Il ne vous reste plus qu’a tester maintenant !

6-Cloud – Tester votre API qui appelle votre On-Prem

Pour être sur que celà fonctionne, je vous conseille de lancer votre API On-Prem via Visual Stuido et mettre un point de debug pour voir si l’appel de votre API Azure fait bien l’appel au bon endroit mais il n’y a pas de raisons si vous avez suivi toutes les étapes 😎

Voila vous avez mis en place une connection Hybride vers une API On-Prem !

Amusez vous bien et prenez du plaisir avant tout !