La API Gateway de AWS es excelente como front-end para las funciones de Lambda y otros servicios de AWS. Sin embargo, el punto final predeterminado es un subdominio de amazonaws.com, que no es fácil de usar. Le mostraremos cómo arreglar y configurar un dominio personalizado.
Solicitud de un certificado de ACM y enlace API Gateway
Necesitará la propiedad del nombre de dominio que desea utilizar para la API. Probablemente quieras poner esto en un subdominio como api.example.com
. Para hacer esto, deberá hacer dos cosas: solicitar un certificado SSL de AWS Certificate Manager (ACM) para asegurar las solicitudes realizadas a la API y actualizar su configuración de DNS para que apunte a API Gateway.
Inicie sesión y diríjase a la Consola ACM. Desde aquí, seleccione «Solicitar un certificado» y especifique «Público» como tipo.
A continuación, ingrese los nombres de dominio que desea usar para este certificado. Puede agregar varios dominios aquí, pero probablemente uno sea suficiente, ya que las etapas de API se dividen por sub-URL de todos modos.
Tienes dos opciones para la validación. El primero requerirá que actualice su configuración de DNS con un registro CNAME. El segundo enviará un correo electrónico de verificación al correo electrónico que tiene en contacto para el dominio. Esto no funcionará si su correo electrónico no es visible desde who.is, lo que sucederá si tiene protección WhoisGuard.
La configuración de DNS es bastante fácil, así que iremos con eso. La siguiente pantalla le mostrará el nombre y el valor del registro que necesitará escribir. Si está utilizando Route 53, el propio registrador de dominios de Amazon y el servicio DNS, este proceso es automático y simplemente puede presionar «Crear registro en la ruta 53» para hacer esto por usted.
Los cambios pueden tardar unos minutos en propagarse si está utilizando un registrador externo. Una vez validado, su certificado debe cambiar el estado a «Emitido» y estará listo para vincularse a API Gateway.
Cambie a la consola API Gateway y haga clic en «Nombres de dominio personalizados» en la barra lateral. Cree uno nuevo, ingrese su nombre de dominio y seleccione el certificado que acaba de crear. También deberá asegurarse de tener seleccionado el tipo de API correcto.
Haga clic en crear, y un nuevo dominio debería aparecer en la lista. Haga clic en «Editar» para agregar una asignación de ruta. Esto vinculará un subdominio específico (por ejemplo, api.example.com/v1/
) a la API y la etapa que elija.
Probablemente sea una buena idea crear diferentes rutas para diferentes etapas de API, como una ruta de desarrollo para $default
etapa y una ruta de producción para la etapa orientada al usuario.
Una vez creado, copie el valor «Nombre de dominio de destino». Esto es lo que necesitará para actualizar la configuración de DNS (no el punto final de la API en sí).
Vinculación de su DNS a la puerta de enlace API
Notará en esta etapa que si visita la URL en su navegador, no pasará nada. API Gateway está configurado para usar su dominio de forma segura, pero no recibe ningún tráfico porque el DNS no apunta a nadie a ninguna parte.
Para DNS de terceros, deberá usar un registro CNAME. Esto asigna un nombre de dominio a otro nombre de dominio, pero requiere una búsqueda de DNS adicional. Pegue el valor «Nombre de dominio de destino» para el dominio personalizado que configuró en API Gateway.
api.example.com CNAME api-id.execute-api.region.amazonaws.com/stage
Si usa la Ruta 53, la configuración es más simple. Puede lograr el mismo efecto en una búsqueda utilizando un registro A configurado en modo «Alias», un tipo de registro especial que le permite asignar el registro directamente a un nombre de recurso de AWS. Simplemente seleccione la API de la lista desplegable y haga clic en crear.
Los cambios tardarán un poco en propagarse, pero su API ahora debería estar disponible desde su nombre de dominio. Si no funciona, vuelva a verificar para asegurarse de que se está conectando a través de HTTPS, ya que no aceptará conexiones no seguras.