Stockage externe
Les enregistrements de sessions OpenReplay sont par défaut stockés sur votre instance, mais la destination peut être changée vers n’importe quel service de stockage d’objets compatible S3, ce qui permet une plus grande évolutivité et des coûts de déploiement réduits.
Modifier la destination de stockage des enregistrements
Section titled Modifier la destination de stockage des enregistrementsLes enregistrements peuvent être conservés dans n’importe quelle destination de stockage d’objets dès lors qu’elle est compatible S3, ce qui rend OpenReplay compatible avec tous les principaux services de cloud public. Voici les étapes pour configurer une destination différente pour vos enregistrements :
Créer les buckets nécessaires
Section titled Créer les buckets nécessairesVous devez créer les buckets ci-dessous dans votre service de stockage d’objets. Leurs noms peuvent être différents, mais nous utiliserons les références ci-dessous dans le reste de cette section :
openreplay-recordings: où les enregistrements seront conservésopenreplay-assets: où les ressources (telles que le css et les polices) seront copiéesopenreplay-sourcemaps: pour stocker les source maps (voir comment les téléverser)
Une fois le bucket créé :
- Activez CORS pour chacun des buckets ci-dessus. Si vous êtes sur AWS, cela se trouve sous ‘Permissions > Cross-origin resource sharing (CORS)’ en utilisant la configuration suivante :
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- Activez l’accès public uniquement au bucket
openreplay-assets. Ce dernier contient uniquement les feuilles de style, icônes et polices nécessaires à une bonne relecture des sessions. Si vous êtes sur AWS, accédez d’abord à ‘Permissions > Block public access (bucket settings)’ et désactivez-le, puis allez dans ‘Permissions > Bucket policy’ et utilisez la configuration suivante :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::openreplay-assets/*"
}
]
}
- Enfin, assurez-vous de générer les clés d’accès appropriées uniquement pour ces 3 buckets afin que le backend OpenReplay puisse y accéder de manière programmatique pour téléverser des fichiers. Les permissions S3 requises sont :
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:ListBucket",
"s3:PutObjectTagging",
"s3:GetBucketLocation"
Mettre à jour les services du backend
Section titled Mettre à jour les services du backend- Connectez-vous à votre instance OpenReplay et exécutez
openreplay -epour mettre à jour les variables d’environnement ci-dessous dans la sections3:
| Variable | Description |
|---|---|
| accessKey | La clé d’accès de votre stockage d’objets (votre ID de clé d’accès IAM si vous êtes sur AWS ; sur Google Cloud, ce serait votre clé HMAC pour le compte de service) |
| secretKey | Le secret de votre stockage d’objets |
| endpoint | L’URL (commençant par https) de votre service de stockage d’objets (c.-à-d. consultez la liste des endpoints S3 si vous êtes sur AWS ; sur Google Cloud Storage, ce serait https://storage.googleapis.com) |
| region | La région (le cas échéant) de vos buckets (c.-à-d. si vous utilisez AWS S3, ce serait quelque chose comme us-east-1) |
| assetsBucket | Le nom du bucket des ressources (c.-à-d. openreplay-assets) |
| recordingsBucket | Le nom du bucket des enregistrements (c.-à-d. openreplay-recordings) |
| sourcemapsBucket | Le nom du bucket des source maps (c.-à-d. openreplay-sourcemaps) |
- Enregistrez et quittez en utilisant
:wqpour que les modifications prennent effet
Les sessions nouvellement enregistrées devraient désormais être stockées et récupérées (lors de la relecture) depuis votre nouvelle destination/service de stockage d’objets.
Des questions ?
Section titled Des questions ?Si vous rencontrez des problèmes, connectez-vous à notre Slack ou consultez notre Forum et obtenez de l’aide auprès de notre communauté.