Si necesito proporcionar certificados SSL personalizados para los clientes, ¿puedo seguir usando Elastic beanstalk?

Si necesito proporcionar certificados SSL personalizados para los clientes, ¿puedo seguir usando Elastic beanstalk?

Para una aplicación SaaS donde los clientes pueden usar sus propios nombres de dominio personalizados, usaré lets encrypt para generar los certificados para los dominios de los clientes.

Actualmente estoy usando elastic beanstalk (que usa ELB).

¿Puedo seguir usando Beanstalk?

Dado que el equilibrador de carga elástico tendrá que manejar la verificación de certificados, y mis certificados estarán en mis instancias, supongo que de alguna manera tengo que enrutar el tráfico a mis instancias yo mismo.

¿Existe alguna solución alternativa que valga la pena? ¿Puedo hacer esto?

cliente -> instancia ec2 ejecutando haproxy -> ELB -> Beanstalk

El SSL finalizará en mi instancia ec2 que ejecuta haproxy.

Respuesta1

Tienes algunas opciones aquí:

  1. Siga la ruta que mencionó, finalice su SSL en un grupo de instancias de HAProxy antes de reenviar el tráfico a través de su ELB a sus instancias.
  2. Convierta su ELB en un reenviador TCP, lo que convierte a ELB en un tonto mezclador de paquetes. Aquí pierdes algunos beneficios de ELB, pero esto funcionará. Terminará SSL en las instancias que alojan su aplicación en este escenario, por lo que en una configuración de equilibrio de carga, necesitará copias del certificado en todas sus instancias. Podría ser bastante complicado de orquestar, pero factible.
  3. (y mi opción preferida) use un ALB. Los ALB admiten múltiples certificados SSL y elegirán automáticamente el certificado correcto cuando el cliente indique el encabezado SNI. Podrá cargar los certificados necesarios (clave, certificado, intermediario) en IAM y seleccionarlos dentro de su ALB, todo a través de la API.

Los ALB tienen muchas otras ventajas además de SNI... admiten HTTP/2, enrutamiento basado en rutas a múltiples grupos objetivo (útil en algunos escenarios) y, hasta donde yo sé, son más baratos que los ELB clásicos.

Y sí, Elastic Beanstalk SÍ es compatible con ALB. Desafortunadamente, puede a) seleccionar usarlo solo en el momento de la creación del entorno y b) hacerlo solo a través de la nueva interfaz de usuario. He publicado algunoscólicosacerca de que UI y EB en general realmente han comenzado a usarlo durante las últimas semanas. Esperemos que solucionen estos problemas en el futuro. Mientras tanto, al menos debería poder guardar la configuración de su entorno actual, iniciar uno nuevo desde la configuración guardada (cambiando el tipo de balanceador de carga antes de la creación) y luego cambiar los CNAME una vez que esté en funcionamiento.

Tenga en cuenta también: su entorno debe estar configurado para usar una VPC para poder usar ALB.

información relacionada