Modifica di un tipo di endpoint API pubblico o privato in API Gateway
La modifica di un tipo di endpoint API richiede l'aggiornamento della configurazione dell'API. È possibile modificare un tipo di API esistente utilizzando la console API Gateway, la AWS CLI o un SDK AWS per API Gateway. Il tipo di endpoint non potrà essere modificato fino a quando non viene completata la modifica corrente ma, durante tale periodo, l’API sarà disponibile.
Sono supportate le seguenti modifiche ai tipi di endpoint:
-
Da ottimizzato per l'edge a regionale o privato
-
Da regionale a ottimizzato per l'edge o privato
-
Da privato a regionale
Non è possibile modificare un'API privata in un'API ottimizzata per i confini.
Se si intende modificare un'API pubblica da ottimizzata per l'edge a regionale o viceversa, è importante notare che un'API ottimizzata per l'edge può avere comportamenti diversi rispetto a un'API regionale. Ad esempio, un'API ottimizzata per i confini rimuove l'intestazione Content-MD5. Qualsiasi valore hash MD5 passato al back-end può essere espresso in un parametro stringa della richiesta o in una proprietà del corpo. Tuttavia, l'API regionale passa questa intestazione, ma può rimappare il nome di intestazione a un altro nome. La comprensione delle differenze può aiutare a scegliere come aggiornare un'API ottimizzata per l'edge in una regionale o un'API regionale in una ottimizzata per l'edge.
Argomenti
Uso della console API Gateway per modificare un tipo di endpoint API
Per modificare il tipo di endpoint API della tua API, esegui uno dei seguenti insiemi di passaggi:
Conversione di un endpoint pubblico da regionale o ottimizzato per l'edge e viceversa
-
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. Scegliere una REST API.
Scegli Impostazioni API.
Nella sezione Dettagli API, scegli Modifica.
-
In Tipo di endpoint API, seleziona Ottimizzato per l'edge o Regionale.
-
Scegli Save changes (Salva modifiche).
-
Ridistribuisci la tua API in modo che le modifiche diventino effettive.
Per convertire un endpoint privato in un endpoint regionale
-
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. Scegliere un'API REST.
-
Modifica la policy delle risorse per la tua API per rimuovere qualsiasi menzione di VPC o endpoint VPC in modo che le chiamate alle API all'esterno del VPC, nonché all'interno del VPC, verranno eseguite correttamente.
Scegli Impostazioni API.
Nella sezione Dettagli API, scegli Modifica.
-
In Tipo di endpoint, scegliRegionale.
-
Scegli Save changes (Salva modifiche).
-
Rimuovi la policy delle risorse dall'API.
-
Ridistribuisci la tua API in modo che le modifiche diventino effettive.
Dal momento che si sta migrando il tipo di endpoint da privato a regionale, Gateway API modifica il tipo di indirizzo IP in IPv4. Per ulteriori informazioni, consulta Tipi di indirizzo IP per REST API in Gateway API.
Per convertire un endpoint regionale in un endpoint privato
-
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. Scegliere una REST API.
-
Crea una policy delle risorse che fornisca l'accesso al VPC o all'endpoint VPC. Per ulteriori informazioni, consulta Passaggio 3: impostare una policy delle risorse per un'API privata..
Scegli Impostazioni API.
Nella sezione Dettagli API, scegli Modifica.
-
Per Tipo di endpoint API scegli Privato.
-
(Facoltativo) Per ID endpoint VPC, seleziona gli ID degli endpoint VPC da associare all'API privata.
-
Scegli Save changes (Salva modifiche).
-
Ridistribuisci la tua API in modo che le modifiche diventino effettive.
Dal momento che si sta migrando il tipo di endpoint da regionale a privato, Gateway API modifica il tipo di indirizzo IP in dualstack. Per ulteriori informazioni, consulta Tipi di indirizzo IP per REST API in Gateway API.
Utilizzo di AWS CLI per modificare un tipo di endpoint API
Il comando update-rest-api seguente aggiorna un’API ottimizzata per l’edge con un’API regionale:
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --patch-operations op=replace,path=/endpointConfiguration/types/EDGE,value=REGIONAL
La risposta di esito positivo ha il codice di stato 200 OK e un payload simile al seguente:
{ "createdDate": "2017-10-16T04:09:31Z", "description": "Your first API with Amazon API Gateway. This is a sample API that integrates via HTTP with our demo Pet Store endpoints", "endpointConfiguration": { "types": "REGIONAL" }, "id": "a1b2c3", "name": "PetStore imported as edge-optimized" }
Il comando update-rest-api seguente aggiorna un’API regionale con un’API ottimizzata per l’edge:
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --patch-operations op=replace,path=/endpointConfiguration/types/REGIONAL,value=EDGE
Poiché put-rest-api serve per l'aggiornamento di definizioni API, non è valida per l'aggiornamento di un tipo di endpoint API.