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 361048 1. {main}() /volume1/web/WebTomoNota/index.php:0 0.0001 361360 2. require('/volume1/web/WebTomoNota/wp-blog-header.php') /volume1/web/WebTomoNota/index.php:17 0.5216 14461584 3. require_once('/volume1/web/WebTomoNota/wp-includes/template-loader.php') /volume1/web/WebTomoNota/wp-blog-header.php:19 0.5278 14627752 4. include('/volume1/web/WebTomoNota/wp-content/themes/yuki/index.php') /volume1/web/WebTomoNota/wp-includes/template-loader.php:106 2.7487 17437216 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.7487 17437216 6. get_template_part($slug = 'template-parts/special', $name = 'single', $args = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/helpers.php:34 2.7487 17437792 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.7488 17437904 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.7489 17438256 9. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php') /volume1/web/WebTomoNota/wp-includes/template.php:812 2.8024 17474184 10. do_action($hook_name = 'yuki_action_after_single_post') /volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php:58 2.8024 17474560 11. WP_Hook->do_action($args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.8024 17474560 12. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.8974 17553872 13. yuki_show_post_comments('') /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324 2.8976 17553872 14. comments_template($file = ???, $separate_comments = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/template-functions.php:354 2.8996 17563368 15. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php') /volume1/web/WebTomoNota/wp-includes/comment-template.php:1631 2.8996 17563368 16. comment_form($args = ['class_form' => 'comment-form yuki-form form-default'], $post = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php:66 2.9019 17575088 17. do_action($hook_name = 'comment_form', ...$arg = variadic(1474)) /volume1/web/WebTomoNota/wp-includes/comment-template.php:2896 2.9019 17575464 18. WP_Hook->do_action($args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.9019 17575464 19. WP_Hook->apply_filters($value = '', $args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.9021 17576216 20. ReCAPTCHAPlugin->show_recaptcha_in_comments(1474) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324