Ajouter la règle Spike Arrest à votre API

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d' Apigee Edge.

Points abordés

Dans ce tutoriel, vous allez apprendre à effectuer les opérations suivantes :

  • Ajoutez une règle qui affecte la requête et la réponse.
  • Examinez les effets de la règle.

Prérequis

Ajouter la règle SpikeArrest

Dans ce tutoriel, vous ajouterez et configurer la règle SpikeArrest pour protéger le service cible contre les pics de trafic soudains pouvant être causés par une augmentation de l'utilisation, des bugs clients ou des attaques malveillantes. Lorsque le nombre de requêtes dépasse la limitation du débit, l'API renvoie une erreur HTTP 429.

Ajoutez la règle SpikeArrest à un proxy d'API :

  1. Dans la console Google Cloud , accédez à la page Apigee > Développement de proxys > Proxys d'API.

    Accéder aux proxys d'API

    Si vous avez suivi le tutoriel de démarrage, vous pouvez l'ajouter au proxy d'API que vous avez créé à la section Créer un proxy d'API.

  2. Cliquez sur l'onglet Développer :
  3. Dans le volet de gauche, cliquez sur le bouton + de la ligne Policies (Règles).
  4. Dans la boîte de dialogue Créer une règle, cliquez dans le champ Sélectionner un type de règle et faites défiler la page jusqu'à Gestion du trafic, puis sélectionnez SpikeArrest.

  5. Vous pouvez éventuellement modifier les champs Name (Nom) et Display name (Nom à afficher) de la règle. Par défaut, Apigee fournit un préfixe court pour le nom de la règle (SA- dans le cas présent). Vous pouvez ajouter une séquence de mots descriptifs, séparés par des tirets, après le préfixe. Consultez les conventions d'attribution de noms.

    Boîte de dialogue "Créer une règle".

    Lorsque vous avez terminé, cliquez sur Create (Créer) pour créer la règle.

Maintenant que vous avez créé la règle SpikeArrest, vous pouvez l'ajouter à une étape dans le PreFlow.

  1. Sélectionnez Proxy Endpoints > default > PreFlow (Points de terminaison du proxy > Par défaut > PreFlow) dans le volet de gauche :

    Points de terminaison cibles pour la sélection du PreFlow dans l'explorateur de proxys

    Remarque : Vous devrez peut-être développer l'éditeur visuel dans le volet de droite pour afficher tous les éléments. Pour ce faire, cliquez sur le séparateur et faites-le glisser entre l'éditeur visuel et l'éditeur de texte.

  2. Cliquez sur le bouton + à côté de PreFlow dans le volet Réponse en bas à droite de l'éditeur visuel :

    Cliquez sur le bouton + à côté de "PreFlow" dans le volet "Réponse"

  3. Dans la boîte de dialogue Ajouter une règle, sélectionnez la règle Spike Arrest.
  4. Cliquez sur Ajouter pour associer la règle.

    La règle Spike Arrest s'affiche désormais dans le volet Réponse :

    Règle Spike Arrest affichée dans le volet de réponse

Maintenant que vous avez associé la règle Spike Arrest au PreFlow, vous pouvez essayer de modifier le code de la règle :

  1. Dans le volet Response, sélectionnez SA-.

    Règle Spike Arrest affichée dans l'onglet "Règles"

  2. L'éditeur de texte affiche le code XML du proxy, y compris l'étape de la règle SpikeArrest dans l'élément Response du flux PreFlow.
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SpikeArrest continueOnError="false" enabled="true" name="SA-">
        <DisplayName>SA-</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
  3. Dans le fichier XML de la règle, remplacez la valeur de l'élément <Rate> par 1pm (ce qui signifie qu'environ deux requêtes sont autorisées toutes les 60 secondes dans le cloud).

    Vous pouvez spécifier la fréquence sous forme de valeur entière par minute (pm) ou par seconde (ps). Il s'agit d'une limite très faible, utilisée uniquement dans ce tutoriel pour illustrer la règle. En règle générale, vous le définissez sur une limite beaucoup plus élevée.

    Notez que la valeur Rate dans l'inspecteur de propriétés passe également à 1pm. Vous pouvez également modifier la valeur Rate dans l'inspecteur de propriétés. Cela sera reflété dans la vue XML.

  4. Cliquez sur Save (Enregistrer) pour enregistrer vos modifications dans la révision actuelle.