Desplegar en AWS
Video Tutorial
Mira cómo desplegar OpenReplay en tu infraestructura AWS
Si no te gusta leer, puedes seguir este tutorial en video que muestra cómo
El stack 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- Ir al tablero de AWS EC2
- ‘Lanzar una nueva instancia’
- Seleccione su AMI. Para esta guía, usaremos Ubuntu Server 20.04 LTS
- Elija el tipo de su instancia. Las especificaciones mínimas son
2 vCPUs, 8 GB of RAM, 50 GB of storagede almacenamiento; de lo contrario, los servicios de backend de OpenReplay simplemente no se iniciarán. Por lo tanto, recomendamos al menos elt3.large(o un equivalente), que es suficiente para un volumen bajo/moderado. Si espera mucho tráfico, debe escalar desde aquí. - Configurar Detalles de la Instancia: Ajuste los parámetros de Red/Subred si es necesario o simplemente mantenga los valores predeterminados
- Agregar Almacenamiento: Establezca el tamaño a 50 GB (SSD de Propósito General (gp2))
- Agregar Etiquetas: Ajuste los parámetros o mantenga los valores predeterminados
- Grupos de Seguridad: Mantenga la regla SSH existente y agregue 2 más para HTTP (80) y HTTPS (443) (fuente: 0.0.0.0/0)
- Haga clic en ‘Revisar y Lanzar’
- Cree/descargue la clave SSH y luego haga clic en ‘Lanzar instancias’
Desplegar OpenReplay
Section titled Desplegar OpenReplay- Asegúrese de que su instancia esté en
Runningy luego conéctese 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
- Instale 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 de usuarios sensibles y por lo tanto requiere HTTPS para funcionar. Esto es obligatorio, de lo contrario, el rastreador simplemente no comenzaría a grabar. Lo mismo ocurre con el tablero, sin HTTPS no podrás reproducir las sesiones de los usuarios.
La forma más fácil de manejar SSL en AWS es configurar un balanceador de carga (ELB) y ejecutar OpenReplay detrás de él. Otra opción es generar o usar su propio certificado SSL y apuntar su 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)- Ir a ‘EC2’ > ‘Balanceadores de carga’ (Load Balancers)
- ‘Crear balanceador de carga’ y seleccionar balanceador de carga de aplicaciones (Application Load Balancer)
- Agregar un escuchador a HTTPS (mantenga solo este) y asegúrese de seleccionar la misma(s) subred(es) en la que está ejecutando su instancia de OpenReplay.
- Elija un certificado existente (es decir, *.mycompany.com) o genere uno nuevo desde el Administrador de Certificados de AWS (ACM). También puede importar el suyo.
- Configurar Grupos de Seguridad: Seleccione el grupo de seguridad creado previamente para la instancia de OpenReplay (puede encontrarlo en ‘Dashboard EC2’ bajo la pestaña ‘Seguridad’)
- Configurar Escuchador y enrutamiento: Mantenga el protocolo y puerto por defecto (HTTP:80). Ahora, cree un nuevo grupo de destino. Asígnele un nombre y seleccione direcciones IP en Tipo de Destino. Asegúrese de que la ruta de verificación de salud esté configurada en /healthz mientras mantiene los otros parámetros por defecto. Haga clic en ‘Siguiente’ para registrar objetivos, agregue la IPv4 privada de la instancia de OpenReplay (puertos 80) y luego agregue el objetivo a la lista (la IP privada se puede encontrar en el tablero de EC2). Revise y haga clic en ‘Crear grupo de destino’.
- Ahora, regrese a la página de creación de LB y reenvíe este nuevo grupo objetivo al escuchador LB.
- Revise y luego ‘Crear balanceador de carga’
Una vez creado, vaya a Route 53 (o a su proveedor de servicio DNS) y cree un Registro A (A Record) que apunte al balanceador de carga utilizando su nombre DNS (se puede encontrar en el tablero de ELB).
Finalmente, habilite los use-forwarded-headers, descomentando la línea a continuación en la sección ingress-nginx, en /var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
use-forwarded-headers: true
Ya está todo listo, ahora debería poder acceder de forma segura a OpenReplay en el subdominio que acaba de configurar. Puede crear una cuenta visitando la página /signup (es decir, openreplay.mycompany.com/signup).
Traer/generar su certificado SSL (opción 2)
Section titled Traer/generar su certificado SSL (opción 2)Como alternativa a la creación de un balanceador de carga, puede traer (o generar) su propio certificado SSL.
- Primero, vaya a Route 53 (o a su otro proveedor de servicio DNS) y cree un Registro A (
A Record). Use el dominio que proporcionó anteriormente durante la etapa de instalación y diríjalo a la instancia usando su IP pública (se puede encontrar en el tablero de EC2).
2.Si va a traer su propio certificado, cree un secreto SSL utilizando el siguiente comando: kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
Nota: Si no tiene un certificado, genere uno que se renueve automáticamente para su subdominio (el proporcionado durante la instalación) usando Let’s Encrypt. Simplemente conéctese a la instancia EC2 de OpenReplay, ejecute
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shy siga los pasos.
- Si desea habilitar la redirección de http a https (recomendado), entonces descomente el siguiente bloque, bajo la sección
ingress-nginx, en/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
Vale la pena mencionar que nuestro ingress-nginx se ejecuta por defecto 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
- Finalmente, reinstale OpenReplay NGINX:
openreplay -R
Ya está todo listo, ahora OpenReplay debería ser accesible en su subdominio. Puede crear una cuenta visitando la página /signup (es decir, openreplay.mycompany.com/signup).
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si encuentra algún problema, conéctese a nuestro Slack y obtenga ayuda de nuestra comunidad.