Création d'une passerelle d'API
Découvrez comment créer une passerelle d'API avec le service de passerelle d'API pour traiter le trafic en provenance des clients frontaux et l'acheminer vers les services dorsaux.
Vous pouvez créer une ou plusieurs passerelles d'API pour traiter le trafic en provenance des clients d'API et l'acheminer vers des services dorsaux. Après avoir créé une passerelle d'API, vous déployez ensuite une API sur la passerelle en créant un déploiement d'API.
Vous pouvez utiliser une seule passerelle d'API comme élément frontal pour plusieurs services dorsaux 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 dorsaux.
- Créez plusieurs déploiements d'API sur la même passerelle d'API, chacun avec une spécification de déploiement d'API qui définit au moins un service dorsal.
Le fait de disposer d'une seule passerelle d'API comme élément frontal vous permet de présenter une seule API cohérente aux consommateurs d'API, même si l'API est réellement composée de microservices plus petits écrits par différentes équipes logicielles utilisant différents langages ou technologies de programmation.
- Dans la page de liste Passerelles, sélectionnez Créer une passerelle. Si vous avez besoin d'aide pour trouver la page de liste, voir Liste des passerelles d'API.
-
Spécifiez les valeurs suivantes pour la nouvelle passerelle d'API :
- Nom : Nom de la passerelle d'API. Évitez d'entrer des informations confidentielles.
- Type : Type de passerelle d'API à créer.
- Sélectionnez Privé si vous voulez que la passerelle d'API (et les API déployées sur celle-ci) soient accessibles par les ressources du même réseau privé (VCN) ou par les ressources d'autres réseaux privés ou sur place appairés à ce réseau privé.
- Sélectionnez Publique si vous voulez que la passerelle d'API (et les API déployées sur celle-ci) soient accessibles 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 en nuage 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 il n'est pas nécessaire de le faire.
- Sous-réseau dans <compartment-name> : Sous-réseau régional public ou privé dans lequel créer la passerelle d'API. Si vous voulez créer une passerelle d'API publique, vous devez spécifier un sous-réseau régional public.
Notez que le service de passerelle d'API communique sur le port 443, qui n'est pas ouvert par défaut. Vous devez ajouter une nouvelle règle de sécurité de trafic entrant avec état pour le sous-réseau régional (dans une liste de sécurité ou un groupe de sécurité de réseau) pour permettre le trafic sur le port 443. Pour les propriétés de la règle de sécurité de trafic entrant, voir Créer un réseau VCN à utiliser avec la passerelle d'API, si celui-ci n'existe pas déjà.
- Activer les groupes de sécurité de réseau : Sélectionnez cette option pour contrôler l'accès à la passerelle d'API et à partir de celle-ci à l'aide des règles de sécurité définies pour un ou plusieurs groupes de sécurité de réseau que vous spécifiez (cinq groupes de sécurité de réseau au maximum). Vous pouvez utiliser les règles de sécurité définies pour les groupes de sécurité de réseau au lieu ou en plus de celles définies pour les listes de sécurité. Les groupes de sécurité de réseau peuvent appartenir au même compartiment que la nouvelle passerelle d'API, mais n'ont pas à le faire. Voir Groupes de sécurité de 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.
- Par défaut (*.oci.customer-oci.com) (si affiché) : 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 de passerelle d'API. 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 n'est disponible que si votre location existe dans le domaine OC1. - Catégorie du service de certificats (le cas échéant) : Sélectionnez une ressource de certificat du service de certificats existante qui contient les détails du certificat TLS personnalisé que vous voulez que la passerelle d'API utilise. La passerelle d'API utilise un nom de domaine personnalisé associé au certificat que vous sélectionnez. Cette catégorie s'affiche uniquement si les ressources de certificat du service de certificats sont disponibles dans le compartiment sélectionné.
- Catégorie de certificats du service de passerelle d'API (le cas échéant) : Sélectionnez une ressource de certificat du service de passerelle d'API existante qui contient les détails du certificat TLS personnalisé que vous voulez que la passerelle d'API utilise. La passerelle d'API utilise un nom de domaine personnalisé associé au certificat que vous sélectionnez. Cette catégorie s'affiche uniquement si des ressources de certificat du service de passerelle d'API sont disponibles dans le compartiment sélectionné.
Voir Configuration des domaines et des certificats TLS personnalisés.
Note
Nous 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 de passerelle d'API uniquement pour des systèmes privés ou hors production (par exemple, pour le développement et le test).
- Par défaut (*.oci.customer-oci.com) (si affiché) : 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 de passerelle d'API. Le nom de domaine par défaut généré contiendra une chaîne aléatoire de caractères suivie de
- Facultativement, sélectionnez Afficher les options avancées et spécifiez les valeurs suivantes :
- Mise en mémoire cache des réponses : Options permettant d'activer et de configurer la mise en mémoire cache des réponses pour la passerelle d'API afin d'améliorer la performance et de réduire la charge des services dorsaux. Voir Mise en cache des réponses pour améliorer les performances.
- Autorités de certification : Une ou plusieurs ressources d'autorité de certification ou d'ensemble AC à ajouter au magasin de certificats SSL de la passerelle d'API en tant qu'autorités de certification personnalisées et ensembles AC personnalisés (en plus de l'ensemble AC par défaut). Les autorités de certification personnalisées et les ensembles AC personnalisés sont utilisés pour vérifier les certificats TLS présentés par les clients d'API et les services dorsaux. Voir Personnalisation des magasins de certificats pour la vérification des certificats TLS.
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.Note
Si vous appliquez un marqueur défini à une passerelle d'API (directement ou en tant que marqueur par défaut pour un compartiment) et que vous modifiez ensuite la définition du marqueur, la passerelle d'API peut entrer un état d'échec. Appliquez un marqueur défini à une passerelle d'API seulement si le marqueur défini ne va pas être modifié. Si vous ne savez pas si un marqueur défini va changer, nous vous recommandons de ne pas l'appliquer à une passerelle d'API.
-
Sélectionnez Créer une passerelle pour créer immédiatement la passerelle d'API.
Sachez que la création de la passerelle d'API peut prendre quelques minutes. Lors de sa création, la passerelle d'API est affichée avec l'état Création. Lorsqu'elle a été créée avec succès, son statut passe à Active.
Notez également que, plutôt que de créer immédiatement la passerelle d'API, vous pourrez la créer ultérieurement à l'aide du gestionnaire de ressources 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 des piles à partir des définitions de ressource, voir Création d'une pile à partir d'une page de création de ressource.
-
Si vous avez attendu pendant plus de quelques minutes pour que la passerelle d'API soit affichée avec l'état Active (ou si l'opération de création de la passerelle d'API a échoué), effectuez les actions suivantes :
- Sélectionnez le nom de la passerelle d'API et sélectionnez Demandes de travail pour voir un aperçu de l'opération de création de la passerelle d'API.
- Sélectionnez l'opération Créer une passerelle pour voir plus d'informations sur l'opération (notamment les messages d'erreur, les messages de journal et le statut des ressources associées).
- 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, voir Dépannage de passerelle d'API.
Après avoir créé une passerelle d'API, vous pouvez la déployer. Voir 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 :
- Configurez l'environnement client pour utiliser l'interface de ligne de commande (Configuration de l'environnement client afin d'utiliser l'interface de ligne de commande pour le développement de passerelles d'API).
-
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. Évitez d'entrer des informations confidentielles.<compartment-ocid>
est l'OCID du compartiment contenant la nouvelle passerelle d'API.<gateway-type>
est le type de passerelle d'API à créer. SpécifiezPRIVATE
si vous voulez que la passerelle d'API (et les API déployées sur celle-ci) soient accessibles par les ressources du même réseau privé (VCN) ou par les ressources d'autres réseaux privés ou sur place appairés à ce réseau privé. SpécifiezPUBLIC
si vous voulez que la passerelle API (et les API déployées sur cette passerelle) soit publique. 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. Si vous voulez créer une passerelle d'API publique, vous devez spécifier un sous-réseau régional public.Notez que le service de passerelle d'API communique sur le port 443, qui n'est pas ouvert par défaut. Vous devez ajouter une nouvelle règle de sécurité de trafic entrant avec état pour le sous-réseau régional (dans une liste de sécurité ou un groupe de sécurité de réseau) pour permettre le trafic sur le port 443. Pour les propriétés de la règle de sécurité de trafic entrant, voir Créer un réseau VCN à utiliser avec la passerelle d'API, si celui-ci n'existe pas déjà.
--network-security-group-ids <nsg-ocids>
(facultatif) est l'OCID d'un ou de plusieurs groupes de sécurité de réseau. La valeur de<nsg-ocids>
doit être dans un format JSON valide (soit en tant que chaîne, soit transmise en tant que fichier à l'aide de la syntaxefile:///<filename>
incluant 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 la passerelle d'API ou ressource de certificat du service de certificats). Voir Configuration des domaines et des certificats TLS personnalisés.--ca-bundles file:///<filename>
(facultatif) est un fichier contenant les détails d'une ou de plusieurs ressources d'autorité de certification ou d'ensemble AC à ajouter au magasin de certificats SSL de la passerelle d'API en tant qu'autorité de certification personnalisée et ensembles AC personnalisés (en plus de l'ensemble AC par défaut). Les autorités de certification personnalisées et les ensembles AC personnalisés sont utilisés pour vérifier les certificats TLS présentés par les clients d'API et les services dorsaux. Voir Personnalisation des magasins de certificats pour la vérification des certificats TLS.--response-cache-details file:///<filename>
(facultatif) est le fichier de configuration de la mémoire cache, y compris un chemin, pour activer et configurer la mise en mémoire cache des réponses. Voir Mise en cache des réponses pour améliorer les 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 comprend les données suivantes :
- L'OCID de la passerelle d'API.
-
Nom d'hôte, comme nom de domaine à utiliser lors de l'appel d'une API déployée sur la passerelle d'API. Si vous n'avez pas spécifié 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 une meilleure lisibilité).<region-identifier>
est l'identificateur de la région dans laquelle la passerelle d'API a été créée. Voir Disponibilité par région.
Par exemple,
lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com
. - L'état du cycle de vie (par exemple, ACTIVE, FAILED).
- L'ID demande de travail permettant de créer la passerelle d'API (les détails des demandes de travail sont disponibles pendant sept jours après l'achèvement, l'annulation ou l'échec).
Si vous souhaitez que la commande attende avant de retourner un contrôle tant que la passerelle d'API n'est pas active (ou que la demande a échoué), 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
Notez que vous ne pouvez pas utiliser la passerelle d'API tant que la demande de travail ne l'a pas créée et que la passerelle d'API n'est pas active.
-
(Facultatif) Pour voir le statut de la passerelle d'API, entrez :
oci api-gateway gateway get --gateway-id <gateway-ocid>
-
(Facultatif) Pour voir le statut de la demande de travail qui crée la passerelle d'API, entrez :
oci api-gateway work-request get --work-request-id <work-request-ocid>
-
(Facultatif) Pour voir les journaux de la demande de travail qui crée la passerelle d'API, entrez :
oci api-gateway work-request-log list --work-request-id <work-request-ocid>
-
(Facultatif) Si la demande de travail qui crée la passerelle d'API échoue et que vous voulez vérifier les journaux d'erreurs, entrez :
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, voir Interface de ligne de commande. Pour la liste complète des indicateurs et des options disponibles pour les commandes d'interface de ligne de commande, voir Aide sur l'interface de ligne de commande.
Exécutez l'opération CreateGateway pour créer une passerelle d'API.