Creazione di un gateway API

Scopri come creare un gateway API con il servizio API Gateway per elaborare il traffico dai client front-end e instradarlo ai servizi back-end.

Puoi creare uno o più gateway API per elaborare il traffico dai client API e instradarlo ai servizi backend. Dopo aver creato un gateway API, è possibile distribuire un'API nel gateway API creando una distribuzione API.

È possibile utilizzare un singolo gateway API come frontend per più servizi backend nei modi riportati di seguito.

  • Crea una singola distribuzione API sul gateway API, con una specifica di distribuzione API che definisce più servizi backend.
  • Crea più distribuzioni API sullo stesso gateway API, ognuna con una specifica di distribuzione API che definisce uno o più servizi backend.

Avere un unico gateway API come front-end ti consente di presentare un'unica API coerente ai consumatori di API e ai client API, anche se l'API in realtà consiste in microservizi più piccoli scritti da diversi team software che utilizzano linguaggi o tecnologie di programmazione diversi.

    1. Aprire il menu di navigazione e fare clic su Servizi per sviluppatori. In Gestione API, fare clic su Gateway.
    2. Selezionare il compartimento in cui si desidera creare il gateway API.
    3. Fare clic su Crea gateway, quindi specificare i valori riportati di seguito per il gateway API.

      • Nome: il nome del gateway API. Evitare di fornire informazioni riservate.
      • Tipo: il tipo di gateway API da creare.
        • Selezionare Privato se si desidera che il gateway API (e le API distribuite su di esso) sia accessibile solo dalle risorse nella stessa rete privata (VCN) o dalle risorse in altre reti private o on premise di cui è stato eseguito il peering in tale rete privata.
        • Selezionare Pubblico se si desidera che il gateway API (e le API distribuite su di esso) sia accessibile pubblicamente. È possibile raggiungere i gateway API pubblici da Internet, a condizione che nella VCN del gateway API sia presente un gateway Internet.
      • Compartimento: compartimento in cui creare il gateway API.
      • Rete cloud virtuale in <compartment-name>: la VCN in cui creare il gateway API. La VCN può trovarsi nello stesso compartimento del gateway API, ma non è necessario.
      • Subnet in <compartment-name>: la subnet regionale pubblica o privata in cui creare il gateway API. Se desideri creare un gateway API pubblico, devi specificare una subnet regionale pubblica.

        Tenere presente che API Gateway comunica sulla porta 443, non aperta per impostazione predefinita. Per consentire il traffico sulla porta 443, è necessario aggiungere una nuova regola di sicurezza in entrata con conservazione dello stato per la subnet regionale (in una lista di sicurezza o in un gruppo di sicurezza di rete). Per le proprietà della regola di sicurezza in entrata, vedere Creare una VCN da utilizzare con il gateway API, se non esiste già.

      • Abilita gruppi di sicurezza di rete: selezionare questa opzione per controllare l'accesso al e dal gateway API utilizzando le regole di sicurezza definite per uno o più gruppi di sicurezza di rete (NSG) specificati (fino a un massimo di cinque gruppi di sicurezza di rete). È possibile utilizzare le regole di sicurezza definite per i gruppi NSG anziché, o in aggiunta, quelle definite per le liste di sicurezza. I gruppi NSG possono appartenere allo stesso compartimento del nuovo gateway API, ma non è necessario. Vedere Gruppi di sicurezza di rete.
      • Certificato: il certificato TLS utilizzato dal gateway API. Il certificato TLS selezionato determina il nome di dominio del gateway API.
        • Impostazione predefinita (*.oci.customer-oci.com) (se visualizzata): selezionare questa opzione se si desidera che il nome di dominio venga generato automaticamente e che il gateway API utilizzi un certificato TLS predefinito ottenuto dal servizio API Gateway. Il nome di dominio predefinito generato conterrà una stringa casuale di caratteri seguita da .apigateway.<region-identifier>.oci.customer-oci.com. Ad esempio, laksjd.apigateway.us-phoenix-1.oci.customer-oci.com. Questa opzione non è disponibile in alcune aree.
        • Categoria Servizio certificati (se visualizzata): selezionare una risorsa di certificato di servizio Certificati esistente contenente i dettagli del certificato TLS personalizzato che si desidera utilizzare per il gateway API. Il gateway API utilizza un nome di dominio personalizzato associato al certificato selezionato. Questa categoria viene visualizzata solo se le risorse del certificato di servizio Certificati sono disponibili nel compartimento selezionato.
        • Categoria Certificati gateway API (se visualizzata): selezionare una risorsa di certificato API Gateway esistente che contiene i dettagli del certificato TLS personalizzato che si desidera venga utilizzato dal gateway API. Il gateway API utilizza un nome di dominio personalizzato associato al certificato selezionato. Questa categoria viene visualizzata solo se le risorse del certificato del gateway API sono disponibili nel compartimento selezionato.

        Vedere Impostazione di domini personalizzati e certificati TLS.

        Nota

        Si consiglia di utilizzare un certificato TLS personalizzato per sistemi pubblici o di produzione. Si consiglia di utilizzare un certificato TLS predefinito ottenuto dal servizio API Gateway solo per i sistemi privati o non di produzione, ad esempio per le attività di sviluppo e test.

    4. Facoltativamente, fare clic su Mostra opzioni avanzate e specificare i seguenti valori:
      • Inserimento delle risposte nella cache: opzioni per abilitare e configurare l'inserimento delle risposte nella cache per il gateway API in modo da migliorare le prestazioni e ridurre il carico sui servizi backend. Vedere Inserimento nella cache delle risposte per migliorare le prestazioni.
      • Autorità di certificazione: una o più risorse CA (Certificate Authority) o bundle CA da aggiungere al truststore del gateway API come CA personalizzate e bundle CA personalizzati (oltre al bundle CA predefinito). Le CA personalizzate e i bundle CA personalizzati vengono utilizzati per verificare i certificati TLS presentati dai client API e dai servizi backend. Vedere Personalizzazione dei truststore per la verifica dei certificati TLS.
      • Tag: se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag delle risorse. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
        Nota

        Se si applica una tag definita a un gateway API (direttamente o come tag predefinita per un compartimento) e successivamente si modifica la definizione della tag, il gateway API può immettere uno stato non riuscito. Applica una tag definita a un gateway API solo se la tag definita non verrà modificata. Se non sei sicuro che una tag definita cambierà, ti consigliamo di non applicarla a un gateway API.
    5. Fare clic su Crea gateway per creare immediatamente il gateway API.

      Tenere presente che la creazione del nuovo gateway API può richiedere alcuni minuti. Durante la creazione, il gateway API viene visualizzato con lo stato Creazione. Una volta creato correttamente, il gateway API viene visualizzato con lo stato Attivo.

      Inoltre, anziché creare immediatamente il nuovo gateway API, è possibile crearlo in un secondo momento utilizzando Resource Manager e Terraform, facendo clic su Salva come stack per salvare la definizione della risorsa come configurazione Terraform. Per ulteriori informazioni sul salvataggio degli stack dalle definizioni delle risorse, vedere Creazione di uno stack da una pagina di creazione delle risorse.

    6. Se il gateway API è stato visualizzato con stato Attivo per più di alcuni minuti (o se l'operazione di creazione del gateway API non è riuscita), eseguire le azioni riportate di seguito.

      1. Fare clic sul nome del gateway API e fare clic su Richieste di lavoro per visualizzare una panoramica dell'operazione di creazione del gateway API.
      2. Fare clic sull'operazione Crea gateway per visualizzare ulteriori informazioni sull'operazione, inclusi i messaggi di errore, i messaggi di log e lo stato delle risorse associate.
      3. Se l'operazione di creazione del gateway API non è riuscita e non è possibile diagnosticare la causa del problema dalle informazioni della richiesta di lavoro, vedere Risoluzione dei problemi del gateway API.

    Dopo aver creato un gateway API, è possibile distribuirlo. Vedere Distribuzione di un'interfaccia API in un gateway API mediante la creazione di una distribuzione API.

  • Per creare un nuovo gateway API utilizzando l'interfaccia CLI:

    1. Configurare l'ambiente client per l'uso dell'interfaccia CLI (Configuring Your Client Environment to use the CLI for API Gateway Development).
    2. Aprire un prompt dei comandi ed eseguire oci api-gateway gateway create per creare il gateway 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>

      dove:

      • <gateway-name> è il nome del nuovo gateway API. Evitare di fornire informazioni riservate.
      • <compartment-ocid> è l'OCID del compartimento a cui apparterrà il nuovo gateway API.
      • <gateway-type> è il tipo di gateway API da creare. Specificare PRIVATE se si desidera che il gateway API (e le API distribuite su di esso) sia accessibile solo dalle risorse nella stessa rete privata (VCN) o dalle risorse in altre reti private o on premise di cui è stato eseguito il peering in tale rete privata. Specificare PUBLIC se si desidera che il gateway API (e le API distribuite su di esso) siano accessibili pubblicamente. È possibile raggiungere i gateway API pubblici da Internet, a condizione che nella VCN del gateway API sia presente un gateway Internet.
      • <subnet-ocid> è l'OCID di una subnet regionale pubblica o privata in cui creare il gateway API. Se desideri creare un gateway API pubblico, devi specificare una subnet regionale pubblica.

        Si noti che API Gateway comunica sulla porta 443, che non è aperta per impostazione predefinita. Per consentire il traffico sulla porta 443, è necessario aggiungere una nuova regola di sicurezza in entrata con conservazione dello stato per la subnet regionale (in una lista di sicurezza o in un gruppo di sicurezza di rete). Per le proprietà della regola di sicurezza in entrata, vedere Creare una VCN da utilizzare con il gateway API, se non esiste già.

      • --network-security-group-ids <nsg-ocids> (facoltativo) è l'OCID di uno o più gruppi di sicurezza di rete. Il valore di <nsg-ocids> deve essere in formato JSON valido (come stringa o passato come file utilizzando la sintassi file:///<filename> che include un percorso).
      • <certificate-ocid> (facoltativo) è l'OCID della risorsa di certificato creata per il certificato TLS personalizzato del gateway API (una risorsa di certificato API Gateway o una risorsa di certificato del servizio Certificates). Vedere Impostazione di domini personalizzati e certificati TLS.
      • --CA-bundles file:///<filename> (facoltativo) è un file contenente i dettagli di una o più risorse CA (Certificate Authority) o di un bundle CA da aggiungere al truststore del gateway API come CA personalizzate e bundle CA personalizzati (oltre al bundle CA predefinito). Le CA personalizzate e i bundle CA personalizzati vengono utilizzati per verificare i certificati TLS presentati dai client API e dai servizi backend. Vedere Personalizzazione dei truststore per la verifica dei certificati TLS.
      • --response-cache-details file:///<filename> (facoltativo) è il file di configurazione della cache, incluso un percorso, per abilitare e configurare l'inserimento delle risposte nella cache. Vedere Inserimento nella cache delle risposte per migliorare le prestazioni.

      Ad esempio:

      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 risposta al comando include quanto riportato di seguito.

      • OCID del gateway API.
      • Il nome host, ovvero il nome di dominio da utilizzare quando si richiama un'interfaccia API distribuita nel gateway API. Se non è stata specificata una risorsa di certificato durante la creazione del gateway API, un nome di dominio viene generato automaticamente nel formato <gateway-identifier>.apigateway.<region-identifier>.oci.customer-oci.com, dove:

        • <gateway-identifier> è una stringa di caratteri che identifica il gateway API. Ad esempio, lak...sjd (abbreviato per leggibilità).
        • <region-identifier> è l'identificativo dell'area in cui è stato creato il gateway API. Vedere Disponibilità per area.

        Ad esempio, lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com.

      • Stato del ciclo di vita (ad esempio, ACTIVE, FAILED).
      • L'ID della richiesta di lavoro per creare il gateway API (i dettagli delle richieste di lavoro sono disponibili per sette giorni dopo il completamento, l'annullamento o l'errore).

      Se si desidera che il comando attenda la restituzione del controllo fino a quando il gateway API non è attivo (o la richiesta non è riuscita), includere uno o entrambi i parametri riportati di seguito.

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

      Ad esempio:

      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

      Tenere presente che non è possibile utilizzare il gateway API finché la richiesta di lavoro non l'ha creata correttamente e il gateway API non è attivo.

    3. (Facoltativo) Per visualizzare lo stato del gateway API, immettere:

      oci api-gateway gateway get --gateway-id <gateway-ocid>
    4. (Facoltativo) Per visualizzare lo stato della richiesta di lavoro che sta creando il gateway API, immettere:

      oci api-gateway work-request get --work-request-id <work-request-ocid>
    5. (Facoltativo) Per visualizzare i log della richiesta di lavoro che sta creando il gateway API, immettere:

      oci api-gateway work-request-log list --work-request-id <work-request-ocid>
    6. (Facoltativo) Se la richiesta di lavoro che sta creando il gateway API non riesce e si desidera esaminare i log degli errori, immettere:

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

    Per ulteriori informazioni sull'uso dell'interfaccia CLI, vedere Command Line Interface (CLI, interfaccia a riga di comando). Per un elenco completo dei flag e delle opzioni disponibili per i comandi della CLI, vedere la Guida della CLI.

  • Eseguire l'operazione CreateGateway per creare un gateway API.