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.0002 361712 1. {main}() /volume1/web/WebTomoNota/index.php:0 0.0003 362952 2. require('/volume1/web/WebTomoNota/wp-blog-header.php') /volume1/web/WebTomoNota/index.php:17 0.4737 14457304 3. require_once('/volume1/web/WebTomoNota/wp-includes/template-loader.php') /volume1/web/WebTomoNota/wp-blog-header.php:19 0.4848 14739400 4. include('/volume1/web/WebTomoNota/wp-content/themes/yuki/index.php') /volume1/web/WebTomoNota/wp-includes/template-loader.php:106 2.7355 19105528 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.7355 19105528 6. get_template_part($slug = 'template-parts/special', $name = 'single', $args = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/helpers.php:34 2.7355 19106104 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.7356 19106216 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.7358 19111336 9. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php') /volume1/web/WebTomoNota/wp-includes/template.php:812 2.7840 19147264 10. do_action($hook_name = 'yuki_action_after_single_post') /volume1/web/WebTomoNota/wp-content/themes/yuki/template-parts/special-single.php:58 2.7841 19147640 11. WP_Hook->do_action($args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.7841 19147640 12. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.8654 19226952 13. yuki_show_post_comments('') /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324 2.8655 19226952 14. comments_template($file = ???, $separate_comments = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/inc/template-functions.php:354 2.8677 19242440 15. require('/volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php') /volume1/web/WebTomoNota/wp-includes/comment-template.php:1631 2.8677 19242440 16. comment_form($args = ['class_form' => 'comment-form yuki-form form-default'], $post = ???) /volume1/web/WebTomoNota/wp-content/themes/yuki/comments.php:66 2.8701 19254160 17. do_action($hook_name = 'comment_form', ...$arg = variadic(1474)) /volume1/web/WebTomoNota/wp-includes/comment-template.php:2896 2.8701 19254536 18. WP_Hook->do_action($args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/plugin.php:517 2.8701 19254536 19. WP_Hook->apply_filters($value = '', $args = [0 => 1474]) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:348 2.8702 19255288 20. ReCAPTCHAPlugin->show_recaptcha_in_comments(1474) /volume1/web/WebTomoNota/wp-includes/class-wp-hook.php:324