<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Audience
Cette rubrique est destinée aux opérateurs Edge Microgateway qui souhaitent utiliser des plug-ins existants qui sont installées avec la micropasserelle. Il aborde également l'arrêt des pics et les plug-ins de quota dans (les deux sont incluses dans l'installation). Si vous êtes développeur et souhaitez développer plug-ins, consultez la page Développer des applications plug-ins.
Qu'est-ce qu'un plug-in Edge Microgateway ?
Un plug-in est un module Node.js qui ajoute des fonctionnalités à Edge Microgateway. Modules de plug-ins suivent un schéma cohérent et sont stockés dans un emplacement connu d'Edge Microgateway, microgateway afin de les détecter et de les charger automatiquement. Edge Microgateway inclut plusieurs et vous pouvez créer des plug-ins personnalisés, comme expliqué dans la section Développer des plug-ins.
Plug-ins existants fournis avec Edge Micropasserelle
Plusieurs plug-ins existants sont fournis avec Edge Microgateway lors de l'installation. Ces incluent:
| Plug-in | Activé par défaut | Description |
|---|---|---|
| analytics | Oui | Envoie des données d'analyse d'Edge Microgateway à Apigee Edge. |
| oauth | Oui | Ajout de la validation du jeton OAuth et de la clé API à Edge Microgateway Reportez-vous à la section Paramètre et configurer Edge Microgateway. |
| quota | Non | Applique des quotas sur les requêtes envoyées à Edge Microgateway. Utilise Apigee Edge pour stocker et gérer les quotas. Reportez-vous à la section Utiliser le quota plug-in. |
| spikearrest | Non | Protège contre les pics de trafic et les attaques DoS. Consultez la section Utiliser le plug-in d'arrêt des pics. |
| en-tête en majuscules | Non | Exemple de proxy commenté, conçu comme un guide pour aider les développeurs à créer des plug-ins personnalisés. Voir Edge Exemple de plug-in Microgateway |
| accumulate-request | Non | Les données de requête sont agrégées dans un seul objet avant de les transmettre au dans la chaîne de plug-ins. Utile pour écrire des plug-ins de transformation qui doivent fonctionner sur un objet de contenu de requête unique et cumulé. |
| accumulate-response | Non | Les données de réponse sont accumulées dans un seul objet avant de les transmettre au dans la chaîne de plug-ins. Utile pour écrire des plug-ins de transformation qui doivent fonctionner sur un objet de contenu de réponse unique et cumulé. |
| transform-uppercase | Non | Transforme les données de requête ou de réponse. Ce plug-in est une bonne pratique l'implémentation d'un plug-in de transformation. L'exemple de plug-in effectue une transformation simple (convertit les données de requête ou de réponse en majuscules) ; mais il peut facilement être adapté effectuer d'autres types de transformations, telles que XML vers JSON. |
| json2xm | Non | Transforme les données de requête ou de réponse en fonction d'en-têtes d'acceptation ou de type de contenu. Pour plus de détails, reportez-vous à la documentation dans GitHub. |
| quota-memory | Non | Applique des quotas sur les requêtes envoyées à Edge Microgateway. Stocke et gère les quotas en local mémoire. |
| vérification de l'état | Non | Renvoie des informations sur le processus Edge Microgateway : utilisation de la mémoire, utilisation du CPU, etc. Pour utiliser le plug-in, appelez l'URL /healthcheck sur votre appareil Edge. Instance Microgateway. Ce plug-in est destiné à être un exemple que vous pouvez utiliser pour implémenter votre propre plug-in de vérification de l'état. |
Où trouver les plug-ins existants ?
Les plug-ins existants fournis avec Edge Microgateway se trouvent ici,
où [prefix] est le répertoire avec préfixe npm.
Découvrez où
Edge Microgateway est-il installé ?
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins
Ajouter et configurer des plug-ins
Suivez le schéma ci-dessous pour ajouter et configurer des plug-ins:
- Arrêtez Edge Microgateway.
- Ouvrez un fichier de configuration Edge Microgateway. Pour plus d'informations, reportez-vous à la section Créer modifications de configuration pour les options.
- Ajoutez le plug-in à l'élément
plugins:sequencedu fichier de configuration : comme suit. Les plug-ins sont exécutés dans l'ordre dans lequel ils apparaissent dans cette liste.
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - plugin-name
- Configurez le plug-in. Certains plug-ins comportent des paramètres facultatifs que vous pouvez configurer dans le
fichier de configuration. Par exemple, vous pouvez ajouter le bloc suivant pour configurer l'arrêt des pics
. Voir la section Utiliser l'arrêt des pics
plug-in.
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10
- Enregistrez le fichier.
- Redémarrez ou actualisez Edge Microgateway, en fonction du fichier de configuration que vous avez modifié, en tant que expliqué dans la section Créer de configuration.
Configuration spécifique aux plug-ins
Vous pouvez remplacer les paramètres du plug-in spécifiés dans le fichier de configuration en créant un configuration spécifique au plug-in dans ce répertoire:
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config
où [prefix] est le répertoire avec préfixe npm.
Découvrez où
Edge Microgateway est-il installé ?
plugins/<plugin_name>/config/default.yaml Par exemple, vous pouvez indiquer
dans plugins/spikearrest/config/default.yaml, et remplaceront
et d'autres paramètres de configuration.
spikearrest: timeUnit: hour allow: 10000 buffersize: 0
Utiliser le plug-in d'arrêt des pics
Cette section traite du plug-in d'arrêt des pics.
À propos de l'arrêt des pics
Spike Arrest protège contre les pics de trafic. Il limite le nombre de requêtes traitées une instance Edge Microgateway. Pour en savoir plus, consultez l'article Fonctionnement de l'arrêt des pics d'activité. Voir également Quel est le entre l'arrêt des pics et le quota ?
Ajouter le plug-in d'arrêt des pics
Pour connaître la procédure de base à suivre pour chaque plug-in, consultez la section Ajouter et configurer des plug-ins.
Exemple de configuration pour arrêt des pics
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10 bufferSize: 5
Options de configuration pour arrêt des pics
- timeUnit: fréquence à laquelle la fenêtre d'exécution de l'arrêt des pics se réinitialise. Valeurs valides sont des secondes ou des minutes.
- allow: nombre maximal de requêtes à autoriser pendant une unité de temps (timeUnit).
- bufferSize: (facultatif, valeur par défaut = 0) si bufferSize > 0, arrêt des pics stocke ce nombre de requêtes dans un tampon. Dès que la "fenêtre" d'exécution suivante se produit, le les requêtes mises en mémoire tampon seront traitées en premier. Voir également la section Ajout une mémoire tampon.
Comment fonctionne l'arrêt des pics ?
Considérez l'arrêt des pics comme un moyen de se protéger généralement contre les pics de trafic, moyen de limiter le trafic à un nombre spécifique de requêtes. Vos API et votre backend peuvent gérer une certaine la quantité de trafic, et la politique d'arrêt des pics vous aide à fluidifier le trafic vers les montants généraux de votre choix.
Le comportement d'arrêt des pics d'exécution diffère de ce que vous pouvez vous attendre à voir avec le littéral les valeurs par minute ou par seconde que vous saisissez.
Par exemple, supposons que vous spécifiiez une fréquence de 30 requêtes par minute, comme ceci:
spikearrest: timeUnit: minute allow: 30
Lors des tests, vous pourriez penser que vous pourriez envoyer 30 requêtes en 1 seconde, à condition qu'elles arrivent en l'espace d'une minute. Mais ce n’est pas ainsi que la règle applique le paramètre. Si vous y réfléchissez, 30 requêtes sur une période d'une seconde peut être considérée comme un mini pic dans certains environnements.
Que se passe-t-il donc réellement ? Pour éviter tout comportement ressemblant à des pics, l'arrêt des pics atténue les en divisant vos paramètres en intervalles plus petits, comme suit:
Tarifs à la minute
Les tarifs à la minute sont lissés en intervalles de requêtes autorisés (en secondes). Par exemple, 30 les requêtes par minute sont lissées comme ceci:
60 secondes (1 minute) / 30 = intervalles de deux secondes, soit environ 1 requête autorisée toutes les deux secondes. A une seconde demande en moins de deux secondes échouera. De plus, toute 31e requête dans un délai d'une minute échouera.
Tarifs à la seconde
Les tarifs à la seconde sont lissés aux requêtes autorisées en intervalles de quelques millisecondes. Par exemple : 10 requêtes par seconde sont lissées comme ceci:
1 000 millisecondes (1 seconde) / 10 = intervalles de 100 millisecondes, soit environ 1 requête autorisée toutes les 100 millisecondes . Une deuxième requête dans un intervalle de 100 ms échouera. Par ailleurs, une 11e demande dans une seconde échouera.
Lorsque la limite est dépassée
Si le nombre de requêtes dépasse la limite dans l'intervalle de temps spécifié, alerte de pic renvoie ce message d'erreur avec un état HTTP 503:
{"error": "spike arrest policy violated"}Ajouter un tampon
Vous avez la possibilité d'ajouter un tampon à la règle. Supposons que vous définissiez le tampon sur 10. Vous verrez que l'API ne renvoie pas d'erreur immédiatement lorsque vous dépassez l'arrêt des pics. limite. À la place, les requêtes sont mises en mémoire tampon (dans la limite du nombre spécifié) sont traités dès que la prochaine fenêtre d'exécution appropriée est disponible. La la valeur par défaut de bufferSize est 0.
Utiliser le plug-in de quota
Cette section traite du plug-in de quota.
À propos du plug-in de quota
Un quota spécifie le nombre de messages de requête qu'une application est autorisée à envoyer à une API. au cours d'une heure, d'une journée, d'une semaine ou d'un mois. Lorsqu'une application atteint sa limite de quota, les ressources suivantes Les appels d'API sont rejetés. Consultez également l'article Quelle est la différence entre l'arrêt des pics et les quotas.
Ajouter le plug-in de quota
Pour connaître la procédure de base à suivre pour chaque plug-in, consultez la section Ajouter et configurer des plug-ins.
Configuration du produit dans Apigee Périphérie
La configuration des quotas s'effectue dans l'interface utilisateur d'Apigee Edge, où vous configurez les produits d'API. Vous devez savoir le produit contenant le proxy compatible avec la micropasserelle que vous souhaitez limiter avec un quota. Ce doit être ajouté à une application de développement. Lorsque vous effectuez des appels d'API authentifiés à l'aide de dans l'application de développement, le quota est appliqué à ces appels d'API.
- Connectez-vous à votre compte d'organisation Apigee Edge.
- Dans l'interface utilisateur Edge, ouvrez le produit associé au proxy compatible avec la micropasserelle vers lequel
vous souhaitez appliquer le quota.
- Dans l'interface utilisateur, sélectionnez Produits dans le menu "Publier".
- Ouvrez le produit contenant l'API à laquelle vous souhaitez appliquer le quota.
- Cliquez sur Modifier.
- Dans le champ "Quota", spécifiez l'intervalle de quota. Par exemple, 100 requêtes par tranche
une minute. soit 50 000 requêtes toutes les deux heures.

- Cliquez sur Enregistrer.
- Assurez-vous que le produit est ajouté à une application de développement. Vous aurez besoin des clés de cette appli pour créer des appels d'API authentifiés.
Exemple de configuration de quota
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota
Options de configuration pour les quotas
Aucune option de configuration supplémentaire n'est disponible pour le plug-in de quota.
Tester le plug-in de quota
Lorsque le quota est dépassé, un état HTTP 403 est renvoyé au client, ainsi que message suivant:
{"error": "exceeded quota"}Quelle est la différence ? entre l'arrêt des pics et le quota ?
Il est important de choisir l'outil adapté à la tâche en cours. Configuration des règles de quota Nombre de messages de requête qu'une application cliente est autorisée à envoyer à une API au cours du cours d'une heure, d'un jour, d'une semaine ou d'un mois. La règle de quota impose des limites de consommation aux applications clientes la maintenance d'un compteur distribué qui compte les requêtes entrantes.
Utiliser des règles de quotas pour faire respecter des contrats commerciaux ou des contrats de niveau de service avec les développeurs et les partenaires que pour la gestion du trafic opérationnel. Par exemple, un quota peut être utilisé pour limiter le trafic pour un service sans frais, tout en offrant un accès complet aux clients payants. Consultez également la section Utiliser le plug-in de quota.
Utilisez l'arrêt des pics pour vous protéger contre les pics soudains de trafic des API. En général, l'arrêt des pics est utilisés pour prévenir d’éventuelles attaques DDoS ou d’autres attaques malveillantes.