Configuración de HTTPS para su entorno de Elastic Beanstalk - AWS Elastic Beanstalk

Configuración de HTTPS para su entorno de Elastic Beanstalk

Si ha adquirido y configurado un nombre de dominio personalizado para su entorno de Elastic Beanstalk, puede usar HTTPS para permitir a los usuarios conectarse a su sitio web de forma segura. Si no posee un nombre de dominio, puede utilizar igualmente HTTPS con un certificado autofirmado para las tareas de desarrollo y las pruebas. HTTPS es imprescindible para cualquier aplicación que transmita datos de los usuarios o información de inicio de sesión.

La forma más sencilla de utilizar HTTPS con un entorno de Elastic Beanstalk consiste en asignar un certificado de servidor al balanceador de carga de su entorno. Cuando configure su balanceador de carga para que termine las conexiones HTTPS, la conexión entre el cliente y el balanceador de carga estará protegida. Las conexiones de back-end entre el balanceador de carga y las instancias EC2 utilizan HTTP, por lo que las instancias no requieren configuración adicional.

nota

Con AWS Certificate Manager (ACM), puede crear un certificado de confianza para los nombres de dominio de forma gratuita. Los certificados de ACM solo se pueden utilizar con los balanceadores de carga de AWS y las distribuciones de Amazon CloudFront, y ACM únicamente está disponible en determinadas regiones de AWS.

Para utilizar un certificado de ACM con Elastic Beanstalk, consulte Configuración del balanceador de carga del entorno de Elastic Beanstalk para terminar conexiones HTTPS.

Si ejecuta su aplicación en un entorno de una sola instancia o necesita proteger toda la trayectoria de conexión con las instancias EC2 detrás del balanceador de carga, puede configurar el servidor proxy que se ejecuta en la instancia para que termine las conexiones HTTPS. La configuración de las instancias para terminar conexiones HTTPS requiere el uso de archivos de configuración para modificar el software que se ejecuta en las instancias y para modificar los grupos de seguridad que permiten las conexiones seguras.

Para las conexiones HTTPS de punto a punto en un entorno con balanceo de carga, puede combinar la terminación de las instancias y del balanceador de carga para cifrar ambas conexiones. De forma predeterminada, si configura el balanceador de carga para que reenvíe el tráfico mediante HTTPS, este confiará en cualquier certificado que las instancias del back-end le presenten. Para disfrutar de la máxima seguridad, puede asociar políticas al balanceador de carga que le impidan conectarse a instancias que no presenten un certificado público en el que confíe.

nota

También puede configurar el balanceador de carga para que transmita el tráfico HTTPS sin descifrarlo. El inconveniente de este método es que el balanceador de carga no puede ver las solicitudes y, por lo tanto, no puede optimizar el enrutamiento ni registrar métricas de respuesta.

Si ACM no está disponible en su región, puede comprar un certificado de confianza a un tercero. Se puede usar un certificado de terceros para descifrar el tráfico HTTPS en el balanceador de carga, en las instancias del backend o en ambos.

Para el desarrollo y las pruebas, puede crear y firmar un certificado usted mismo con herramientas de código abierto. Los certificados autofirmados son gratuitos y fáciles de crear, pero no se pueden usar para el descifrado front-end en sitios públicos. Si intenta usar un certificado autofirmado para una conexión HTTPS con un cliente, el navegador del usuario muestra un mensaje de error que indica que el sitio web no es seguro. No obstante, puede utilizar un certificado autofirmado para proteger las conexiones del backend sin problema.

ACM es la herramienta preferida para aprovisionar, administrar e implementar los certificados de servidor mediante programación o con la CLI de AWS. Si ACM no está disponible en su región de AWS, puede cargar un certificado de terceros o autofirmado y la clave privada en AWS Identity and Access Management (IAM) mediante la interfaz de línea de comandos (CLI) de AWS. Los certificados almacenados en IAM se pueden usar con balanceadores de carga y distribuciones de CloudFront.

nota

La aplicación de muestra Does it have Snakes? de GitHub incluye archivos de configuración e instrucciones para cada método de configuración de HTTPS con una aplicación web Tomcat. Consulte el archivo readme y las instrucciones de HTTPS para obtener información detallada.