Come Impostare un Dominio Personalizzato per il AWS API Gateway

0
241

AWS API Gateway è grande come un front-end per le funzioni Lambda e altri servizi AWS. Tuttavia, l’endpoint predefinito è un sottodominio di amazonaws.com che non è user friendly. Vi mostreremo come risolvere e impostare un dominio personalizzato.

La richiesta di un Certificato da ACM e Link Gateway API

Avrete bisogno di proprietà del nome a dominio che si desidera utilizzare per le API. Probabilmente si vorrà mettere questo su un sottodominio come api.example.com. Per fare questo, è necessario fare due cose: la richiesta di un certificato SSL da AWS Certificato Manager (ACM) per proteggere le richieste per le API, e di aggiornare la tua configurazione DNS per puntare al Gateway API.

L’accesso e la testa verso l’ACM Console. Da qui, selezionare “Richiesta di Un Certificato” e specificare “Pubblico” come tipo.

Next up, inserire i nomi di dominio che si desidera utilizzare per questo certificato. È possibile aggiungere più domini qui, ma è probabilmente sufficiente, come API fasi sono suddivisi in sub-Url comunque.

Sono disponibili due opzioni per la convalida. Il primo richiede di aggiornare la configurazione del DNS con un record CNAME. La seconda inviare una e-mail di verifica all’indirizzo e-mail sono in contatto per il dominio. Questo non funziona se la tua email non è visibile da chi.è, che accade se si dispone di WhoisGuard protezione.

La configurazione del DNS è abbastanza facile, quindi dovremo andare con quello. La schermata successiva vi mostrerà il nome e il valore per la cronaca è bisogno di scrivere. Se si utilizza Route 53, Amazon proprio registrar del dominio e del servizio DNS, questo processo è automatico e si può semplicemente premere il tasto “Creare Record Route 53” per fare questo per voi.

Si può prendere un paio di minuti per modifiche di propagare se si utilizza una terza parte del cancelliere. Una volta convalidato, il certificato dovrebbe cambiare stato “Rilasciato” e saranno pronti per il collegamento al Gateway API.

Passare il Gateway API console, e fare clic su “Custom Nomi a Dominio” nella barra laterale. Creare un nuovo, inserisci il tuo nome di dominio e selezionare il certificato appena creato. Inoltre, è necessario assicurarsi di avere il giusto tipo di API selezionato.

Fare clic su crea, e un nuovo dominio dovrebbe comparire nella lista. Fare clic su “Modifica” per aggiungere un percorso di mappatura. Ciò permette di collegare un sottodominio specifico (per esempio, api.example.com/v1/) con l’API e stage che si sceglie.

Probabilmente sarebbe una buona idea creare percorsi differenti per i diversi API fasi, come un percorso di sviluppo per il $default palco, e un percorso di produzione per l’utente di fronte a un palco.

Una volta creato, copia il “Nome di Dominio di Destinazione” del valore. Questo è ciò che è necessario aggiornare la configurazione DNS (non l’endpoint API stesso).

Collega il Tuo DNS Gateway API

Noterete che in questa fase se si visita l’URL nel tuo browser, non accadrà nulla. API Gateway configurato per utilizzare il tuo dominio in modo sicuro, ma non riceve traffico, perché il DNS non è di puntamento chiunque e ovunque.

Per i DNS di terze parti, dovrete utilizzare un record CNAME. Questo è associato un nome di dominio a un altro nome di dominio, ma richiede un’ulteriore ricerca DNS. Incollare il “Nome di Dominio di Destinazione” valore per il dominio personalizzato che hai impostato nel Gateway API.

api.example.com CNAME api-id.execute-api.region.amazonaws.com/stage

Se si utilizza Route 53, la configurazione è più semplice. È possibile ottenere lo stesso effetto in una ricerca che utilizza Un set di record per “Alias” modalità, un particolare tipo di record che consente di mappare i record direttamente a un AWS nome della risorsa. Basta selezionare le API dall’elenco a discesa e fare clic su crea.

Le modifiche avranno un po ‘ di propagare, ma le API, ora dovrebbero essere disponibili presso il vostro nome di dominio. Se questo non funziona, controllare per assicurarsi che si sta collegando, tramite HTTPS, come non accettare il non-connessioni sicure.