Desplegar en AWS
Video Tutorial
Mira cómo desplegar OpenReplay en tu infraestructura de AWS
Si no te gusta leer, puedes seguir este tutorial en vídeo que te muestra cómo desplegar OpenReplay en AWS
La pila de OpenReplay se puede instalar en una sola máquina, y AWS EC2 es un candidato ideal.
Lanzar una instancia EC2
Section titled Lanzar una instancia EC2- Ve al panel de AWS EC2
- ‘Launch a new instance’ (arquitectura basada en x86)
- Selecciona tu AMI. Para esta guía, usaremos Ubuntu Server 24.04 LTS
- Elige el tipo de instancia. Las especificaciones mínimas son
2 vCPUs, 8 GB of RAM, 50 GB of storage, de lo contrario los servicios backend de OpenReplay simplemente no se iniciarán. Por eso, recomendamos al menos el tipot3.large(o uno equivalente), que es suficiente para un volumen bajo/moderado. Si esperas mucho tráfico, deberías escalar a partir de aquí. - Configura los detalles de la instancia: ajusta los parámetros de Network/Subnet si es necesario o simplemente mantén los valores predeterminados
- Añade almacenamiento: establece el tamaño en 50 GB (General Purpose SSD (gp2))
- Añade etiquetas: ajusta los parámetros o mantén los valores predeterminados
- Grupos de seguridad: mantén la regla SSH existente y añade 2 más para HTTP (80) y HTTPS (443) (origen: 0.0.0.0/0). Asegúrate de que los puertos DNS (TCP/UDP) estén abiertos en el grupo de seguridad de salida
- Haz clic en ‘Review and Launch’
- Crea/descarga la clave SSH y luego pulsa ‘Launch instances’
Desplegar OpenReplay
Section titled Desplegar OpenReplay- Asegúrate de que tu instancia esté en estado
Runningy luego conéctate a ella:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem #! wherever you've saved the SSH key
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
chmod 400 $SSH_KEY
ssh -i $SSH_KEY ubuntu@$INSTANCE_IP
- Instala OpenReplay proporcionando el dominio en el que se ejecutará (por ejemplo, DOMAIN_NAME=openreplay.mycompany.com):
sudo wget https://raw.githubusercontent.com/openreplay/openreplay/main/scripts/helmcharts/openreplay-cli -O /bin/openreplay
sudo chmod +x /bin/openreplay
openreplay -i DOMAIN_NAME
Configurar TLS/SSL
Section titled Configurar TLS/SSLOpenReplay maneja datos sensibles de los usuarios y, por lo tanto, requiere HTTPS para funcionar. Esto es obligatorio, de lo contrario el rastreador simplemente no empezaría a grabar. Lo mismo ocurre con el panel: sin HTTPS no podrás reproducir las sesiones de los usuarios.
La forma más sencilla de gestionar SSL en AWS es configurar un balanceador de carga (ELB) y ejecutar OpenReplay detrás de él. Otra opción es generar o usar tu propio certificado SSL y apuntar tu subdominio (es decir, openreplay.mycompany.com) a la instancia de OpenReplay. Más información sobre ambas opciones a continuación.
Configurar el balanceador de carga de AWS (opción 1)
Section titled Configurar el balanceador de carga de AWS (opción 1)- Ve a ‘EC2’ > ‘Load Balancers’
- ‘Create Load Balancer’ y elige Application Load Balancer
- Añade un listener para HTTPS (mantén solo este) y asegúrate de seleccionar la(s) misma(s) subred(es) en la(s) que se ejecuta tu instancia de OpenReplay.
- Elige un certificado existente (es decir, *.mycompany.com) o genera uno nuevo desde AWS Certificate Manager (ACM). También puedes importar el tuyo.
- Configura los grupos de seguridad: selecciona el grupo de seguridad creado previamente para la instancia de OpenReplay (puedes encontrarlo en ‘EC2 Dashboard’, en la pestaña ‘Security’)
- Configura el listener y el enrutamiento: mantén el protocolo y el puerto predeterminados (
HTTP:80). Ahora, crea un nuevo grupo de destino. Dale un nombre y seleccionaIP addressesen Target Type. Asegúrate de que la Health check path esté establecida en/healthz, manteniendo el resto de parámetros predeterminados. Haz clic en ‘Next’ para registrar los destinos, añade la IPv4 privada de la instancia de OpenReplay (puerto80) y luego añade el destino a la lista (la IP privada se puede encontrar en el panel de EC2). Revisa y luego haz clic en ‘Create target group’. - Ahora, vuelve a la página de creación del LB y reenvía este nuevo grupo de destino al listener del LB.
- Revisa y luego ‘Create load balancer’
Una vez creado, ve a Route 53 (o a tu proveedor de servicios DNS) y crea un A Record que apunte al balanceador de carga usando su nombre DNS (se puede encontrar en el panel de ELB).
Ya está todo listo, OpenReplay debería ser accesible de forma segura en el subdominio que acabas de configurar. Puedes crear una cuenta visitando la página /signup (es decir, openreplay.mycompany.com/signup).
Aporta/genera tu certificado SSL (opción 2)
Section titled Aporta/genera tu certificado SSL (opción 2)Como alternativa a crear un balanceador de carga, puedes aportar (o generar) tu propio certificado SSL.
-
Primero, ve a Route 53 (o a tu otro proveedor de servicios DNS) y crea un
A Record. Usa el dominio que proporcionaste anteriormente durante el paso de instalación y apúntalo a la instancia usando su IP pública (se puede encontrar en el panel de EC2). -
Si vas a aportar tu propio certificado, crea un secreto SSL usando el siguiente comando:
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
Nota: Si no tienes un certificado, genera uno, que se renueve automáticamente, para tu subdominio (el proporcionado durante la instalación) usando Let’s Encrypt. Simplemente conéctate a la instancia EC2 de OpenReplay, ejecuta
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shy sigue los pasos.
- Si deseas habilitar la redirección de http a https (recomendado), descomenta el siguiente bloque, en la sección
ingress-nginx, en/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
Cabe mencionar que nuestro ingress-nginx se ejecuta de forma predeterminada en los puertos 80|443, pero esto se puede cambiar fácilmente, si es necesario, en vars.yaml:
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- Por último, reinstala el NGINX de OpenReplay:
openreplay -R
Ya está todo listo, OpenReplay debería ser accesible en tu subdominio. Puedes crear una cuenta visitando la página /signup (es decir, openreplay.mycompany.com/signup).
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si encuentras algún problema, conéctate a nuestro Slack o consulta nuestro Foro y obtén ayuda de nuestra comunidad.