Almacenamiento externo
Las grabaciones de sesiones de OpenReplay se almacenan de forma predeterminada en tu instancia, pero el destino se puede cambiar a cualquier servicio de almacenamiento de objetos compatible con S3, lo que permite una mayor escalabilidad y menores costos de despliegue.
Cambiar el destino de almacenamiento de las grabaciones
Section titled Cambiar el destino de almacenamiento de las grabacionesLas grabaciones se pueden conservar en cualquier destino de almacenamiento de objetos siempre que sea compatible con S3, lo que hace que OpenReplay sea compatible con todos los principales servicios de nube pública. A continuación se indican los pasos para configurar un destino diferente para tus grabaciones:
Crear los buckets necesarios
Section titled Crear los buckets necesariosDebes crear los siguientes buckets en tu servicio de almacenamiento de objetos. Sus nombres pueden ser diferentes, pero usaremos las siguientes referencias en el resto de esta sección:
openreplay-recordings: donde se conservarán las grabacionesopenreplay-assets: donde se copiarán los recursos (como css y fuentes)openreplay-sourcemaps: para almacenar los source maps (consulta cómo subirlos)openreplay-spots: para almacenar las grabaciones de spots
Una vez creado el bucket:
- Habilita CORS para cada uno de los buckets anteriores. Si estás en AWS, eso estaría en ‘Permissions > Cross-origin resource sharing (CORS)’ usando la siguiente configuración:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- Habilita el acceso público únicamente al bucket
openreplay-assets. Este último contiene solo hojas de estilo, iconos y fuentes que son necesarios para la correcta reproducción de las sesiones. Si estás en AWS, primero navega a ‘Permissions > Block public access (bucket settings)’ y desactívalo, luego ve a ‘Permissions > Bucket policy’ y usa la siguiente configuración:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::openreplay-assets/*"
}
]
}
- Por último, asegúrate de generar las claves de acceso adecuadas solo para estos 4 buckets para que el backend de OpenReplay pueda acceder a ellos programáticamente para subir archivos. Los permisos de S3 requeridos son:
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:ListBucket",
"s3:PutObjectTagging",
"s3:GetBucketLocation"
Actualizar los servicios del backend
Section titled Actualizar los servicios del backend- Inicia sesión en tu instancia de OpenReplay y ejecuta
openreplay -epara actualizar las siguientes variables de entorno en la seccións3:
| Variable | Descripción |
|---|---|
| accessKey | La clave de acceso de tu almacenamiento de objetos (tu ID de clave de acceso de IAM si estás en AWS; en Google Cloud sería tu clave HMAC para la cuenta de servicio) |
| secretKey | El secreto de tu almacenamiento de objetos |
| endpoint | La URL (que empieza con https) de tu servicio de almacenamiento de objetos (es decir, consulta la lista de endpoints de S3 si estás en AWS; en Google Cloud Storage sería https://storage.googleapis.com) |
| region | La región (si corresponde) de tus buckets (es decir, si usas AWS S3, sería algo como us-east-1) |
| assetsBucket | El nombre del bucket de recursos (es decir, openreplay-assets) |
| recordingsBucket | El nombre del bucket de grabaciones (es decir, openreplay-recordings) |
| sourcemapsBucket | El nombre del bucket de source maps (es decir, openreplay-sourcemaps) |
| spotsBucket | El nombre del bucket de spots (es decir, openreplay-spots) |
- Guarda y sal usando
:wqpara que los cambios surtan efecto
Las sesiones recién grabadas deberían ahora almacenarse y recuperarse (al reproducirse) desde tu nuevo destino/servicio de almacenamiento de objetos.
¿Tienes preguntas?
Section titled ¿Tienes preguntas?En caso de cualquier problema, conéctate a nuestro Slack o consulta nuestro Foro y obtén ayuda de nuestra comunidad.