(HTTPS, ALB, Dominio propio)

Si eres fan de las aplicaciones web con Angular 6+ o trabajas con REST APIs en Node.js + Express pon mucha atención, pues en esta guía te ayudaré a configurar un ambiente de Elastic Beanstalk (servicio de Amazon AWS) utilizando un dominio propio y permitiendo llamadas HTTPS.

Lo que veremos y algunos requisitos previos:

Primero iniciemos con algunos requisitos que necesitaremos para poder empezar a levantar tu ambiente, si no conoces estos servicios o se te hace muy complicado entender algunos conceptos, te sugiero que primero investigues un poco antes de continuar.

Requisitos:

  1. Amazon AWS – Necesitarás haber creado una cuenta de Amazon AWS y haberla activado.
  2. Dominio – Ya sea que hayas comprado tu dominio en GoDaddy, Neubox o el proveedor de tu preferencia, es importante que poseas un dominio web propio.

Tecnologías / Servicios / Herramientas:

  1. Route 53 – En este servicio crearemos una hosted zone para obtener los valores de los nameservers de Amazon AWS que utilizarás más adelante.
  2. Certificate manager – Una vez que el dominio apunte a tus nameservers, solicitaremos un certificado de SSL por medio de este servicio.
  3. EC2 (security key pair) – Crearemos una llave de seguridad global la cual tendrás que conservar muy bien y la que te servirá para accesar por medio de SSH a tus instancias de Elastic Beanstalk.
  4. Elastic Beanstalk – En este servicio es donde sucede toda la magia.

Ahora sí, ya estamos listos para comenzar a levantar tu ambiente como debe de ser.

(Ya era hora)

Apuntemos tu dominio a Amazon AWS:

En Route 53:

Crea una hosted zone con el mismo nombre de dominio que compraste, por ejemplo; si tu dominio es “mydomain.com” tendrás que ponerlo exactamente igual.

Ya que has creado tu hosted zone lo siguiente es dar clic en “mydomain.com” donde se te mostrarán los “registros” o “records” vinculados con tu zona previamente creada.

En la lista encontrarás un registro de tipo “NS” (Nameservers). Anota los 4 registros ya que los necesitarás acontinuación.

Bueno, ahora vamos a apuntar los nameservers de tu dominio a los servidores de Amazon AWS.

  1. Inicia sesión en tu cuenta de proveedor de dominios (en mi caso es neubox.com).
  2. Ve a la sección de configuración de Nameservers.
  3. Selecciona nameservers personalizados e ingresa los 4 valores que acabas de obtener de tu registro en la hosted zone.

Solicitemos un certificado SSL:

Para garantizar las llamadas https es necesario contar con un certificado SSL, el cuál obtendremos en el servicio Certificate Manager:

  1. Ve a certificate manager y da clic en “Request a certificate” o “Solicita un certificado”.
  2. Elige la opción de un certificado público.
  3. Cuando se te pida el dominio ingresa “mydomain.com” y da clic en “Add another name to this certificate” ingresa el siguiente valor “*.mydomain.com”.
  4. Da clic en next y en la siguiente pregunta selecciona “DNS Validation” o “Validación por DNS”.

Te pedirá que confirmes si los datos son correctos y te redireccionará a la sección principal donde podrás ver el estado de tu certificado.

Para concluir con la solicitud de tu certificado, da clic en la pestaña para mostrar los detalles del mismo y localiza el botón que dice “Create record in Route 53”.

Finalmente, da clic en ambos para crear el registro en tu hosted zone de manera automática y espera unos momentos hasta que el estado del certificado diga “Success”.

Configuremos el ambiente en Elastic Beanstalk:

¡Muy bien! Ya casi terminamos, estos pasos son muy importantes por lo que te pido que esperes verifiques que todo lo anterior esta correctamente configurado.

  1. Ve al servicio EC2, da clic en la herramienta Key Pairs que se encuentra en el panel inferior izquierdo.
  2. Crea una nueva Key Pair y almacénala en un lugar seguro en tu HDD.

En Elastic Beanstalk:

  1. Crea una nueva aplicación dando clic en el botón ubicado en la parte superior derecha.
  2. Después, da clic en el botón “Actions” para seleccionar la opción de crear un nuevo ambiente.
  3. Elige Web server environment y llena la información que se te pide (nombre del ambiente, subdominio, plataforma, código fuente de app) no selecciones crear ambiente todavía, da clic en la opción “Configure more options”.
Paso 1 y 2
Paso 3
  1. Selecciona la opción “Custom configuration” y modifica los siguientes:
  2. Load balanacer – agrega una regla para escuchar el puerto 443 por medio de https y selecciona el certificado que creamos anteriormente (ver imagen paso 5).
  3. Security – Selecciona la Key Pair previamente creada y agregala como llave de seguridad.
  4. Monitoring – Cambia el Health reporting system de basic a Enhanced. Asegúrate de que el reponse code sea 301 (Si es una app de Angular, de lo contrario usa el 200).
  5. Para terminar da clic en create environment y aguarda unos minutos para que termine la configuración.
Imagen Paso 5
Se indicaron las áreas afectadas

Si te gustó este blog y te ayudó a resolver tu problema, te invito a dejarnos un breve mensaje y a compartirlo con tus amigos, eso nos motivará a seguir escribiendo más posts como este.

” ¡Hagamos algo grande juntos!”

Sharing is caring!

shares