Création d'une passerelle d'API

Découvrez comment créer une passerelle d'API à l'aide du service API Gateway pour traiter le trafic en provenance des clients frontal et l'acheminer vers les services frontal.

Vous pouvez créer des passerelles d'API pour traiter le trafic en provenance de clients d'API et l'acheminer vers des services back-end. Une fois que vous avez créé une passerelle d'API, vous devez déployer une API sur celle-ci en créant un déploiement d'API.

Vous pouvez utiliser une seule passerelle d'API comme composant frontal pour plusieurs services back-end des façons suivantes :

  • Créez un seul déploiement d'API sur la passerelle d'API, avec une spécification de déploiement d'API qui définit plusieurs services back-end.
  • Créez plusieurs déploiements d'API sur la même passerelle d'API, chacun comportant une spécification de déploiement d'API qui définit des services back-end.

Le fait d'avoir une seule passerelle d'API en tant que composant frontal vous permet de présenter une seule API cohérente aux consommateurs d'API et aux clients d'API, même si cette dernière comporte en réalité des microservices plus petits écrits par différentes équipes logicielles à l'aide de différents langages de programmation ou technologies.

    1. Sur la page de liste Passerelles, sélectionnez Créer une passerelle. Si vous avez besoin d'aide pour trouver la page de liste, reportez-vous à Liste des passerelles d'API.
    2. Indiquez les valeurs suivantes pour la nouvelle passerelle d'API :

      • Nom : nom de la passerelle d'API. Evitez de saisir des informations confidentielles.
      • Type : type de passerelle d'API à créer.
        • Sélectionnez Privé si vous voulez uniquement que la passerelle d'API (et les API déployées dessus) soient accessibles par les ressources du même réseau privé (VCN) ou par les ressources d'autres réseaux privés ou sur site appairés à ce réseau privé.
        • Sélectionnez Public pour que la passerelle d'API (et les API déployées sur celle-ci) soit accessible publiquement. Les passerelles d'API publiques peuvent être atteintes à partir d'Internet, à condition qu'une passerelle Internet soit présente dans le VCN de la passerelle d'API.
      • Compartiment : compartiment dans lequel créer la passerelle d'API.
      • Réseau cloud virtuel dans <compartment-name> : VCN dans lequel créer la passerelle d'API. Le VCN peut se trouver dans le même compartiment que la passerelle d'API, mais n'a pas besoin de l'être.
      • Sous-réseau dans <nom- compartiment> : sous-réseau régional public ou privé dans lequel créer la passerelle d'API. Pour créer une passerelle d'API publique, vous devez indiquer un sous-réseau régional public.

        Sachez qu'API Gateway communique sur le port 443, qui n'est pas ouvert par défaut. Vous devez ajouter une nouvelle règle de sécurité entrante avec conservation de statut au sous-réseau régional (dans une liste de sécurité ou dans un groupe de sécurité réseau) afin d'autoriser le trafic sur le port 443. Pour les propriétés de la règle de sécurité entrante, reportez-vous à Création d'un VCN à utiliser avec API Gateway, si aucun n'existe déjà.

      • Activer les groupes de sécurité réseau : sélectionnez cette option pour contrôler l'accès à la passerelle d'API et à partir de celle-ci à l'aide de règles de sécurité définies pour les groupes de sécurité réseau que vous indiquez (jusqu'à cinq groupes de sécurité réseau). Vous pouvez utiliser les règles de sécurité définies pour les groupes de sécurité réseau au lieu ou en plus de celles définies pour les listes de sécurité. Les groupes de sécurité réseau peuvent appartenir au même compartiment que la nouvelle passerelle d'API, mais ce n'est pas obligatoire. Reportez-vous à Groupes de sécurité réseau.
      • Certificat : certificat TLS utilisé par la passerelle d'API. Le certificat TLS que vous sélectionnez détermine le nom de domaine de la passerelle d'API.
        • Valeur par défaut (*.oci.customer-oci.com) (si affichée) : sélectionnez cette option si vous souhaitez que le nom de domaine soit généré automatiquement et que la passerelle d'API utilise un certificat TLS par défaut obtenu par le service API Gateway. Le nom de domaine par défaut généré contiendra une chaîne aléatoire de caractères suivie de .apigateway.<region-identifier>.oci.customer-oci.com. Par exemple, laksjd.apigateway.us-phoenix-1.oci.customer-oci.com. Cette option est disponible uniquement si votre location existe dans le domaine OC1.
        • Catégorie Service Certificates (si elle apparaît) : sélectionnez une ressource de certificat de service Certificates existante contenant les détails du certificat TLS personnalisé que la passerelle d'API doit utiliser. La passerelle d'API utilise un nom de domaine personnalisé associé au certificat que vous sélectionnez. Cette catégorie est affichée uniquement si les ressources de certificat du service Certificates sont disponibles dans le compartiment sélectionné.
        • Catégorie Certificats API Gateway (si elle apparaît) : sélectionnez une ressource de certificat API Gateway existante contenant les détails du certificat TLS personnalisé que la passerelle API doit utiliser. La passerelle d'API utilise un nom de domaine personnalisé associé au certificat sélectionné. Cette catégorie est affichée uniquement si les ressources de certificat API Gateway sont disponibles dans le compartiment sélectionné.

        Reportez-vous à Configuration de certificats TLS et de domaines personnalisés.

        Remarque

        Nous vous recommandons d'utiliser un certificat TLS personnalisé pour les systèmes publics ou de production. Nous recommandons d'utiliser un certificat TLS par défaut obtenu par le service API Gateway uniquement pour les systèmes privés ou hors production (par exemple, pour le développement et le test).

    3. Sélectionnez éventuellement Afficher les options avancées et indiquez les valeurs suivantes :
      • Mise en cache des réponses : options permettant d'activer et de configurer la mise en cache des réponses pour la passerelle d'API afin d'améliorer les performances et de réduire la charge sur les services back-end. Reportez-vous à Réponses de mise en cache pour l'amélioration des performances.
      • Autorités de certification : ressources d'autorité de certification ou ressources de package d'autorité de certification à ajouter au truststore de la passerelle d'API en tant qu'autorités de certification personnalisées et packages d'autorité de certification personnalisés (en plus du package d'autorité de certification par défaut). Les autorités de certification personnalisées et les packages d'autorité de certification personnalisés sont utilisés pour vérifier les certificats TLS présentés par les clients d'API et les services back-end. Reportez-vous à la section Customizing Trust Stores for TLS Certificate Verification.
      • Balises : si vous avez les droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
        Remarque

        Si vous appliquez une balise définie à une passerelle d'API (directement ou en tant que valeur de balise par défaut pour un compartiment), puis que vous modifiez la définition de balise, la passerelle d'API peut passer à l'état Echec. Appliquez une balise définie à une passerelle d'API uniquement si la balise définie ne va pas changer. Si vous n'êtes pas sûr de la modification d'une balise définie, nous vous recommandons de ne pas l'appliquer à une passerelle d'API.
    4. Sélectionnez Créer une passerelle pour créer la passerelle d'API immédiatement.

      La création de la passerelle d'API peut prendre quelques minutes. Pendant sa création, la passerelle d'API a l'état Création en cours. Une fois créée, la passerelle d'API a l'état Actif.

      Notez également que, plutôt que de créer la passerelle d'API immédiatement, vous pouvez la créer ultérieurement à l'aide de Resource Manager et de Terraform, en sélectionnant Enregistrer en tant que pile pour enregistrer la définition de ressource en tant que configuration Terraform. Pour plus d'informations sur l'enregistrement de piles à partir de définitions de ressource, reportez-vous à Création d'une pile à partir d'une page de création de ressource.

    5. Si vous avez attendu plus de quelques minutes et que la passerelle d'API ne présente pas l'état Actif (ou si l'opération de création de la passerelle d'API a échoué), effectuez les actions suivantes :

      1. Sélectionnez le nom de la passerelle d'API, puis sélectionnez Demandes de travail pour afficher un aperçu de l'opération de création de cette dernière.
      2. Sélectionnez l'opération Créer une passerelle pour afficher des informations supplémentaires sur celle-ci (y compris les messages d'erreur, les messages journaux et le statut des ressources associées).
      3. Si l'opération de création de la passerelle d'API a échoué et que vous ne pouvez pas diagnostiquer la cause du problème à partir des informations de la demande de travail. Reportez-vous à Dépannage d'API Gateway.

    Une fois que vous avez créé une passerelle d'API, vous pouvez y déployer une API. Reportez-vous à Déploiement d'une API sur une passerelle d'API en créant un déploiement d'API.

  • Pour créer une passerelle d'API à l'aide de l'interface de ligne de commande, procédez comme suit :

    1. Configurez votre environnement client de façon à pouvoir utiliser l'interface de ligne de commande (Configuration de l'environnement client pour utiliser l'interface de ligne de commande pour le développement de passerelle d'API).
    2. Ouvrez une invite de commande et exécutez oci api-gateway gateway create pour créer la passerelle d'API :

      oci api-gateway gateway create --display-name "<gateway-name>" --compartment-id <compartment-ocid> --endpoint-type "<gateway-type>" --subnet-id <subnet-ocid> --certificate-id <certificate-ocid> --ca-bundles file:///<filename> --response-cache-details file:///<filename>

      où :

      • <gateway-name> est le nom de la nouvelle passerelle d'API. Evitez de saisir des informations confidentielles.
      • <compartment-ocid> est l'OCID du compartiment auquel la nouvelle passerelle d'API appartient.
      • <gateway-type> est le type de passerelle d'API à créer. Indiquez PRIVATE si vous voulez uniquement que la passerelle d'API (et les API déployées sur celle-ci) soit accessible par les ressources du même réseau privé (VCN) ou par les ressources d'autres réseaux privés ou sur site appairés à ce réseau privé. Indiquez PUBLIC pour rendre publique la passerelle d'API et les API déployées sur celle-ci. Les passerelles d'API publiques peuvent être atteintes à partir d'Internet, à condition qu'une passerelle Internet soit présente dans le VCN de la passerelle d'API.
      • <subnet-ocid> est l'OCID d'un sous-réseau régional public ou privé dans lequel créer la passerelle d'API. Pour créer une passerelle d'API publique, vous devez indiquer un sous-réseau régional public.

        API Gateway communique sur le port 443, qui n'est pas ouvert par défaut. Vous devez ajouter une nouvelle règle de sécurité entrante avec conservation de statut au sous-réseau régional (dans une liste de sécurité ou dans un groupe de sécurité réseau) afin d'autoriser le trafic sur le port 443. Pour les propriétés de la règle de sécurité entrante, reportez-vous à Création d'un VCN à utiliser avec API Gateway, si aucun n'existe déjà.

      • --network-security-group-ids <nsg-ocids> (facultatif) est l'OCID de groupes de sécurité réseau. La valeur de <nsg-ocids> doit être au format JSON valide (sous forme de chaîne ou transmise sous forme de fichier à l'aide de la syntaxe file:///<filename>, y compris un chemin).
      • <certificate-ocid> (facultatif) est l'OCID de la ressource de certificat créée pour le certificat TLS personnalisé de la passerelle d'API (ressource de certificat de passerelle d'API ou ressource de certificat de service Certificates). Reportez-vous à Configuration de certificats TLS et de domaines personnalisés.
      • --ca-bundles file:///<filename> (facultatif) est un fichier contenant les détails des ressources d'autorité de certification ou des ressources de package d'autorité de certification à ajouter au truststore de la passerelle d'API en tant qu'autorités de certification personnalisées et packages d'autorité de certification personnalisés (en plus du package d'autorité de certification par défaut). Les autorités de certification personnalisées et les packages d'autorité de certification personnalisés sont utilisés pour vérifier les certificats TLS présentés par les clients d'API et les services back-end. Reportez-vous à la section Customizing Trust Stores for TLS Certificate Verification.
      • --response-cache-details file:///<filename> (facultatif) est le fichier de configuration du cache, y compris un chemin, permettant d'activer et de configurer la mise en cache des réponses. Reportez-vous à Réponses de mise en cache pour l'amélioration des performances.

      Par exemple :

      oci api-gateway gateway create --display-name "Hello World Gateway" --compartment-id ocid1.compartment.oc1..aaaaaaaa7______ysq --endpoint-type "PRIVATE" --subnet-id ocid1.subnet.oc1.iad.aaaaaaaaz______rca

      La réponse à la commande inclut les éléments suivants :

      • OCID de la passerelle d'API.
      • Nom d'hôte, en tant que nom de domaine à utiliser lors de l'appel d'une API déployée sur la passerelle d'API. Si vous n'avez pas indiqué de ressource de certificat lors de la création de la passerelle d'API, un nom de domaine est généré automatiquement au format <gateway-identifier>.apigateway.<region-identifier>.oci.customer-oci.com, où :

        • <gateway-identifier> est une chaîne de caractères qui identifie la passerelle d'API. Par exemple, lak...sjd (abrégé pour des raisons de lisibilité).
        • <region-identifier> est l'identificateur de la région dans laquelle la passerelle d'API a été créée. Reportez-vous à Disponibilité par région.

        Par exemple, lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com.

      • Etat de cycle de vie (par exemple, ACTIVE, FAILED).
      • ID de la demande de travail utilisée pour créer la passerelle d'API (les détails des demandes de travail sont disponibles pendant sept jours après leur fin, leur annulation ou leur échec).

      Pour que la commande attende que la passerelle d'API soit active (ou que la demande ait échoué) avant de renvoyer le contrôle, incluez l'un des paramètres suivants ou les deux :

      • --wait-for-state ACTIVE
      • --wait-for-state FAILED

      Par exemple :

      oci api-gateway gateway create --display-name "Hello World Gateway" --compartment-id ocid1.compartment.oc1..aaaaaaaa7______ysq --endpoint-type "PRIVATE" --subnet-id ocid1.subnet.oc1.iad.aaaaaaaaz______rca --wait-for-state ACTIVE

      Vous ne pouvez pas utiliser la passerelle d'API tant qu'elle n'a pas été créée par la demande de travail et qu'elle n'est pas active.

    3. (Facultatif) Pour afficher le statut de la passerelle d'API, saisissez la commande suivante :

      oci api-gateway gateway get --gateway-id <gateway-ocid>
    4. (Facultatif) Pour afficher le statut de la demande de travail qui crée la passerelle d'API, saisissez ce qui suit :

      oci api-gateway work-request get --work-request-id <work-request-ocid>
    5. (Facultatif) Pour afficher les journaux de la demande de travail qui crée la passerelle d'API, saisissez ce qui suit :

      oci api-gateway work-request-log list --work-request-id <work-request-ocid>
    6. (Facultatif) Si la demande de travail qui crée la passerelle d'API échoue et que vous voulez consulter les journaux d'erreurs, saisissez ce qui suit :

      oci api-gateway work-request-error --work-request-id <work-request-ocid>

    Pour plus d'informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et des options disponibles pour les commandes de l'interface de ligne de commande, reportez-vous à Aide relative à l'interface de ligne de commande.

  • Exécutez l'opération CreateGateway pour créer une passerelle d'API.