API Gateway Proxy Integration - Qu'est-ce que c'est en 2024 ?

Juin-02-20225 minutes de lecture

Tout d'abord, qu'est-ce qu'une intégration par proxy de passerelle API ? Vous avez peut-être entendu ce terme si vous êtes dans le DevOps dans l'industrie du logiciel, mais malheureusement, beaucoup de gens peuvent ne pas connaître ce terme. Il est un peu compliqué à comprendre d'un seul coup. Dans les prochaines sections, notre objectif sera d'explorer ce qui suit : Donc

Tout d'abord, qu'est-ce qu'une intégration proxy de passerelle API ? Vous avez peut-être entendu ce terme si vous êtes dans le DevOps dans l'industrie du logiciel, mais malheureusement, beaucoup de gens peuvent ne pas connaître ce terme. Il est un peu compliqué à comprendre d'un seul coup. Dans les sections suivantes, notre objectif sera d'explorer les points suivants :

  • Qu'est-ce qu'une API ?
  • Que fait une passerelle API ?
  • Qu'est-ce qu'un proxy inverse ?
  • Qu'est-ce qu'une passerelle API Amazon ?
  • Comment la passerelle API d'Amazon fonctionne-t-elle avec les API HTTP ?

Nous devons donc répondre à un grand nombre de questions. Alors commençons !

Qu'est-ce qu'une API ?

En termes simples, API est l'acronyme d'Application Programming Interface, qui est un intermédiaire entre deux applications logicielles en ligne. L'objectif premier d'une API est de permettre la communication entre les deux applications logicielles en ligne. 

Pour bien comprendre ce qu'est une API, imaginez le scénario suivant. Vous utilisez votre smartphone comme d'habitude. Vous ouvrez votre application YouTube et commencez à chercher une chanson. Comment obtenez-vous le résultat ? En cliquant sur l'icône de recherche, vous obtenez la musique. C'est simple, non ? 

Oui, mais au niveau du backend, c'est différent. Lorsque vous tapez le nom d'une chanson, une API est chargée de transmettre votre requête (la chanson) au serveur cible (le serveur YouTube) et de vous faire parvenir les résultats du serveur.

Maintenant que vous savez ce qu'est une API, la principale chose à comprendre est la sécurité. Votre téléphone et le serveur communiquent, mais ils ne sont pas exposés l'un à l'autre. Cela signifie que la communication est simple. 

Supposons que vous demandiez quelque chose et que vous obteniez la réponse correspondant à cette demande particulière, ni plus ni moins. Il en va de même ici. Une API peut sécuriser vos informations, et vous pouvez être tranquille en sachant qu'elles ne tombent pas entre de mauvaises mains.

Dans la section suivante, nous verrons ce qu'est une passerelle API et comment elle fonctionne.

Qu'est-ce qu'une passerelle API ?

Une passerelle API est un outil qui permet d'accepter les appels, de cumuler les différentes demandes et de renvoyer les réponses au client (vous) en agissant comme un "proxy inverse". Il est important de noter que, sur le backend, il y a beaucoup de services qui se déroulent. 

Vous avez besoin d'un outil de gestion pour gérer toutes les demandes et les réponses de manière organisée. Cet outil est la passerelle API. Une passerelle API est l'un des outils les plus importants de l'ensemble de la suite de gestion des API. Cette suite se compose de divers processus, tels que la facturation, l'audit, l'authentification, la sécurité, les politiques, les règles et la réglementation, ainsi que la gestion des flux de travail.

La nécessité d'une passerelle API :

Comme nous l'avons mentionné plus haut, de nombreux processus se déroulent en arrière-plan. De nombreuses organisations déploient leurs API par l'intermédiaire de la passerelle API. Vous pouvez considérer une passerelle API comme une collection d'API avec diverses opérations.

Imaginez un scénario dans une organisation où les employés ont, en interne, un ensemble d'actions différentes en dehors du travail de base, comme un suivi des présences utilisant l'accès ou l'authentification de l'utilisateur pour se connecter au travail. Ces services sont pris en charge par un ensemble d'API dans la passerelle API. 

Par ailleurs, votre organisation a des tâches essentielles à accomplir. Si votre API est monétisée, c'est-à-dire qu'elle génère des revenus, vous devez connecter cette API particulière à un système financier, où vous pouvez gérer tous vos revenus. Cette structure devient complexe lorsque vous hébergez des API à grande échelle. Si vous hébergez des API, votre objectif est de fournir au client une architecture d'API propre et simple.

Maintenant que vous avez une idée de base du fonctionnement d'une passerelle API, vous devez vous poser une question à ce stade. "Qu'est-ce qu'un proxy inverse ? Il a été mentionné ci-dessus sans explication précise sur ce qu'il est et comment il fonctionne. Dans les sections suivantes, nous allons explorer le proxy et le proxy inverse.

Proxy - Qu'est-ce que c'est ?

Un serveur proxy est un intermédiaire entre vous (le client) et l'internet (le serveur cible). Au lieu d'acheminer votre demande directement vers le serveur cible, elle sera réacheminée via le serveur proxy, qui transmettra votre demande au serveur cible afin d'obtenir les résultats pertinents pour vous.

Le reroutage de votre trafic internet permet de masquer votre présence en ligne en cachant votre adresse IP (Internet Protocol) d'origine avec l'adresse IP du proxy, ce qui signifie que le serveur proxy sera présent devant le client-serveur.

Proxy inversé :

Si le serveur proxy est placé devant le serveur cible, il s'agit alors d'un proxy inverse. La différence entre le forward et le reverse proxys est subtile, mais il est essentiel de la connaître. Le proxy inverse veille à ce que le serveur cible ne communique jamais directement avec le client-serveur (vous). Cela permet de garantir la sécurité et la fiabilité du serveur cible dans tous les cas de figure. La fonctionnalité du forward et du reverse proxys reste la même quel que soit l'emplacement du serveur.

Comme indiqué plus haut, nous avons décomposé notre objectif d'apprendre ce qu'est l'intégration d'une passerelle API et d'un proxy en apprenant ce que sont une passerelle API et un proxy. Maintenant, apprenons ce qu'est l'intégration.

REMARQUE : pour cette explication, nous allons étudier la passerelle API d'Amazon et son fonctionnement avec les API HTTP.

La passerelle API d'Amazon - Qu'est-ce que c'est ?

Amazon API Gateway est l'un des services AWS permettant de créer, de publier, de maintenir et de surveiller diverses API HTTP, REST et WebSocket. L'API sur laquelle nous allons nous concentrer est HTTP, car la plupart des communications du trafic internet sont basées sur HTTP. La raison en est simple : le coût est faible par rapport à l'API REST, car l'API HTTP possède des fonctionnalités minimales. Avec l'API REST, vous bénéficiez de fonctionnalités telles que les clés API, la validation des requêtes, le client-throttling et l'API privée, alors que l'API HTTP ne dispose d'aucune de ces fonctionnalités.

Avant d'examiner l'intégration du proxy HTTP, nous allons vérifier les conditions préalables à l'utilisation d'Amazon API Gateway :

  1. Vous avez besoin d'un compte AWS - un compte Amazon Web Service. Pour ce faire, il vous suffit de vous rendre sur le site web d'AWS.
  2. Vous devez créer un compte AWS de gestion des identités et des accès (IAM) que vous utiliserez pour tous vos travaux dans AWS. Vous pouvez le faire en visitant le site web d'AWS et la page d'administration IAM. Elle permet de créer des mots de passe pour l'accès à la console et des clés d'accès qui peuvent être utilisées comme outils de commande.

Passerelle API avec intégration HTTP :

Dans Amazon API Gateway, vous pouvez créer une API selon deux approches. La première est l'intégration par proxy HTTP et la seconde est l'intégration sans proxy HTTP. Il est préférable d'utiliser l'approche d'intégration par proxy HTTP. L'intégration HTTP personnalisée peut être une bonne approche s'il est nécessaire de transformer les données du client vers le backend et vice versa. En dehors de cela, l'intégration par proxy HTTP est la meilleure solution.

Le processus principal de la passerelle API d'intégration de proxy HTTP consiste à transmettre la demande au service dorsal. Ici, la demande est celle du client, ce qui signifie que le client peut choisir le type de demande. Comme indiqué, l'API transporte les données demandées par le biais de variables de chemin d'accès URL, de charges utiles et de paramètres de chaîne. Maintenant qu'il a atteint le point d'extrémité HTTP du backend, ce dernier analyse la demande reçue et prend les mesures nécessaires pour déterminer la réponse à donner au client. 

Il est essentiel de noter ici que l'intégration du proxy HTTP permet au client et au point d'extrémité HTTP du backend de communiquer directement sans aucune force extérieure.

Il ne reste plus qu'à créer une API d'une seule méthode d'API avec intégration de proxy HTTP. Cela peut être fait en confinant toutes les ressources proxy à l'aide de {proxy +} et en obtenant toutes les ressources ANY pour la méthode HTTP. Vous pouvez considérer "proxy +" comme une commande pour attraper toutes les requêtes. 

Et vous pouvez considérer tout verbe comme une méthode pour votre intégration proxy. L'intégration par proxy peut communiquer avec des points d'extrémité HTTP, ce qui signifie qu'il s'agit d'une couche sécurisée permettant de communiquer librement sans aucune perturbation extérieure.

Pour créer l'API réelle via la ressource proxy, visitez la passerelle API de la console AWS. Connectez-vous avec votre compte AWS.

ÉTAPE 1 : Allez dans REST API →Build→ Choose New API.

ÉTAPE 2 : Saisissez le nom de l'API et sa description, puis sélectionnez "choisir l'API".

Juste après cela, vous devez créer une ressource enfant. Vous pouvez le faire en allant dans l'onglet de la ressource parent, en sélectionnant l'arbre des ressources et en naviguant dans l'arbre pour créer une ressource enfant, à l'aide de l'option déroulante.

La première chose à faire est de sélectionner "Configurer en tant que ressource proxy", ce qui est la première option possible. Ensuite, il vous sera demandé de créer des ressources en entrant des détails, tels que les ressources, les noms et les chemins d'accès aux ressources (à l'aide de la commande proxy +). Une fois que vous avez fait cela, la prochaine chose à faire est de sélectionner "Enable API gateway CORS".

La dernière chose à faire est de configurer la méthode ANY pour intégrer le point d'accès HTTP. Vous pouvez le faire de la manière suivante :

ÉTAPE 3 : Cliquez sur la ressource que vous avez créée et choisissez la méthode dans la liste déroulante.

ETAPE 4 : Sélectionnez maintenant ANY dans la liste des méthodes HTTP et enregistrez l'option en utilisant la coche. Vous pouvez voir la méthode ANY dans l'option déroulante de la liste des méthodes HTTP.

L'étape suivante consiste à sélectionner le type d'intégration. Dans notre cas, il s'agira d'une intégration par proxy HTTP. Sélectionnez-le en cochant le bouton radio, et l'option suivante sera les chemins d'URL des points de terminaison. Saisissez les chemins d'URL de backend HTTP et sélectionnez l'option "Enregistrer" pour terminer la configuration de la méthode ANY.

NOTE: Add {proxy} at the end of the URL.

Voilà, c'est fait. À ce stade, vous avez créé avec succès une API avec intégration de proxy HTTP. Si vous disposez d'un budget annuel pour le logiciel, vous pouvez également obtenir une API sans serveur, en utilisant la fonction Lambda du backend avec intégration de proxy. Vous pouvez en savoir plus sur l'intégration de proxy Lambda sur le site web AWS Lambda.

Vous avez maintenant vu la passerelle API avec l'intégration du proxy HTTP. La plupart des organisations utilisent ce type d'approche pour créer et déployer de nombreuses API. En fin de compte, tout se résume à la sécurité. Un proxy est le meilleur moyen d'y parvenir. Des grands conglomérats à l'utilisation personnelle, proxys joue un rôle crucial. Un proxy vous aide à rester anonyme et à effectuer toutes ces actions, de la création d'une API sécurisée à l'accès à un contenu géo-restreint.

ProxyScrape est l'un des meilleurs fournisseurs de proxy en ligne. Avec trois services proxy, tels que le centre de données dédié proxys, le résidentiel proxys, et le premium proxys, vous êtes assuré d'avoir un proxys efficace et fiable lors de toute session en ligne. Ces proxys sont principalement HTTP/s et SOCKS proxys adaptés à la plupart des activités en ligne, telles que les tâches très exigeantes et à grande vitesse.

FAQs :

1. La passerelle API est-elle un proxy inverse ?
La réponse est oui ; la passerelle API est un proxy inverse. Il s'agit d'un outil qui permet d'accepter l'appel, de cumuler les différentes demandes et de renvoyer la réponse au client (vous). Le nom de proxy inverse est dû à l'emplacement du serveur proxy. Le serveur proxy est placé devant le serveur cible au lieu du client-serveur.
2. Pourquoi une passerelle API est-elle nécessaire ?
L'intégration d'un proxy de passerelle API permet de prévenir les attaques malveillantes, telles que les dénis de service, en fournissant un ensemble de couches de sécurité.
3. La passerelle et le serveur proxy sont-ils identiques ?
Un serveur proxy est un moyen de transporter les demandes des clients et de les envoyer au serveur cible. Si le serveur proxy transmet la requête non modifiée au serveur cible, il peut être considéré comme une passerelle, ce qui est parfois appelé "tunnelling".

Conclusion :

Dans cet article, nous avons appris ce qu'est l'API, proxys, et comment la passerelle API est créée avec l'intégration de proxy. Il s'agit d'un processus complexe, qui peut sembler décourageant au premier abord. Vous pouvez commencer à désencombrer le processus un par un en apprenant ce que sont l'API et l'intégration par proxy. Il s'agit d'une technologie supérieure à comprendre et à mettre en œuvre. 

Cet article vise à donner une introduction de base à la passerelle API avec intégration de proxy HTTP. Vous pouvez en savoir plus sur le sujet en visitant le site web d'AWS. Enfin, la sécurité est la chose dont tout le monde a le plus besoin, que ce soit dans le cadre d'une profession ou à titre personnel. Un proxy est l'un des meilleurs moyens de l'assurer. Visitez ProxyScrape maintenant et ayez l'esprit tranquille en ce qui concerne la sécurité dans votre travail et vos efforts personnels.