AWS API Gateway con nombre personalizado

En el post de hoy vamos a configurar un nombre de dominio personalizado en AWS API Gateway. Al principio puede parecer complicado, pero siguiendo estos pasos podrás hacerlo sin problemas.

¿Qué es API Gateway?


AWS API Gateway es un servicio completamente administrado que facilita a los desarrolladores la creación, publicación, mantenimiento, monitoreo y protección de APIs a cualquier escala. API Gateway maneja todas las tareas involucradas en la aceptación y procesamiento de hasta cientos de miles de llamadas API simultáneas, incluidas la administración de tráfico, la autorización y el control de acceso, la monitorización y la gestión de versiones de la API.

Ejemplo con Dominio Externo a AWS

Para empezar con estas prácticas, necesitamos tener ya un dominio registrado. En este ejemplo, usaremos dominio.com.

1. Crear Certificados en AWS Certificate Manager

  1. Ve a la consola de AWS Certificate Manager (ACM).
  2. Crea un nuevo certificado y añade *.dominio.com como nombre del dominio.
  3. Descarga el archivo CSV que proporciona los valores de CNAME necesarios para la verificación del dominio.

En el CSV veremos un texto similar a:

Nombre de dominio,Nombre CNAME,Tipo,Valor CNAME*.dominio.com,_cab683jd608i134jkjelkvad7014b30aa.dominio.com.,CNAME,_4h07eara9ner834ne734161f.sabeasdgadgf.acm-validations.aws.

2. Configurar el Subdominio en tu Proveedor de DNS

  1. Ve a la configuración de DNS de tu proveedor de servicios de dominio.
  2. Crea un registro CNAME para el subdominio (sub1.dominio.com) con los valores proporcionados en el archivo CSV.
  3. El prefijo es el *.dominio.com y el valor el CNAME, os dejo el ejemplo:

3. Verificar la Propagación de DNS

Usa una herramienta de verificación de DNS (como DNS Checker) para asegurarte de que la configuración de CNAME se ha propagado correctamente.

La web: https://dnschecker.org/

Donde podemos ver los check en verde cuando funciona el reenvio:

4. Crear un Nombre de Dominio Personalizado en API Gateway

  1. Ve a la consola de API Gateway.
  2. Crea un nuevo nombre de dominio personalizado (sub1.dominio.com). Asignando el certificado creado anteriormente.
    Nombre de dominio de API Gateway lo copiamos porque lo vamos a necesitar.

3. Aplica el mapeo de la API a la ruta que desees.

5. Configurar CNAME para el Nombre de Dominio de API Gateway

  1. Copia la dirección de nombre de dominio proporcionada por API Gateway.
  2. Ve a la configuración de DNS de tu proveedor de servicios de dominio.
  3. Crea un nuevo registro CNAME con el nombre sub1 que es el que vamos a redirigir, quedando sub1.dominio.com y en la parte del valor pegaremos la dirección del nombre de dominio de API Gateway que hemos copiado anteriormente (deberá acabar con un «.» punto).

6. Esperar la Propagación

Espera a que la configuración de DNS se propague. Esto puede tardar un poco, pero una vez completado, tu API debería estar accesible a través del nombre de dominio personalizado sub1.dominio.com.

Y hasta aquí con el post de hoy. Espero que os sirva de ayuda.

Para mantener la web y seguir compartiendo conocimiento, considera invitarme a un café. ¡Siempre es una alegría recibir ese apoyo!
Salu2!

😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Warning: Undefined array key "rerror" in /volume1/web/WebTomoNota/wp-content/plugins/wp-recaptcha-bp/recaptcha.php on line 300 Call Stack: 0.0001 361128 1. {main}() /volume1/web/WebTomoNota/index.php:0 0.0001 361440 2. require('/volume1/web/WebTomoNota/wp-blog-header.php') /volume1/web/WebTomoNota/index.php:17 0.6084 14461664 3. require_once('/volume1/web/WebTomoNota/wp-includes/template-loader.php') /volume1/web/WebTomoNota/wp-blog-header.php:19 0.6148 14627832 4. include('/volume1/web/WebTomoNota/wp-content/themes/yuki/index.php') /volume1/web/WebTomoNota/wp-includes/template-loader.php:106 2.8115 17437296 5. yuki_do_elementor_location($elementor_location = 'single', $template_part = 'template-parts/special', $name = 'single') /volume1/web/WebTomoNota/wp-content/themes/yuki/index.php:20 2.8115 17437296 6. get_template_part($slug = 'template-parts/special', $name = 'single', $args = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/helpers.php:34 2.8115 17437872 7. locate_template($template_names = [0 => 'template-parts/special-single.php', 1 => 'template-parts/special.php'], $load = TRUE, $load_once = FALSE, $args = []) /volume1/web/WebTomoNota/wp-includes/general-template.php:206 2.8115 17437984 8. load_template($_template_file = '/volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php', $load_once = FALSE, $args = []) /volume1/web/WebTomoNota/wp-includes/template.php:745 2.8116 17438336 9. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php') /volume1/web/WebTomoNota/wp-includes/template.php:812 2.8628 17474264 10. do_action($hook_name = 'yuki_action_after_single_post') /volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php:58 2.8628 17474640 11. WP_Hook->do_action($args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.8628 17474640 12. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.9516 17553952 13. yuki_show_post_comments('') /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324 2.9517 17553952 14. comments_template($file = ???, $separate_comments = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/template-functions.php:354 2.9536 17563448 15. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php') /volume1/web/WebTomoNota/wp-includes/comment-template.php:1631 2.9536 17563448 16. comment_form($args = ['class_form' => 'comment-form yuki-form form-default'], $post = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php:66 2.9561 17575168 17. do_action($hook_name = 'comment_form', ...$arg = variadic(1474)) /volume1/web/WebTomoNota/wp-includes/comment-template.php:2896 2.9561 17575544 18. WP_Hook->do_action($args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.9561 17575544 19. WP_Hook->apply_filters($value = '', $args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.9562 17576296 20. ReCAPTCHAPlugin->show_recaptcha_in_comments(1474) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324