Stockage externe
Les enregistrements de sessions d’OpenReplay sont par défaut stockés sur votre instance, mais la destination peut être modifiée vers n’importe quel service de stockage d’objets compatible S3, ce qui permet une meilleure é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 tant 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 les css et les polices) seront copiéesopenreplay-sourcemaps: pour stocker les source maps (voir comment les téléverser)openreplay-spots: pour stocker les enregistrements de spots
Une fois le bucket créé :
- Activez CORS pour chacun des buckets ci-dessus. Si vous êtes sur AWS, cela se trouverait sous ‘Permissions > Cross-origin resource sharing (CORS)’ en utilisant la configuration suivante :
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- Activez l’accès public au bucket
openreplay-assetsuniquement. Ce dernier ne contient que des feuilles de style, des icônes et des polices nécessaires à la bonne relecture des sessions. Si vous êtes sur AWS, naviguez d’abord vers ‘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 4 buckets afin que le backend d’OpenReplay puisse y accéder par programmation 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’est-à-dire 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’est-à-dire, si vous utilisez AWS S3, ce serait quelque chose comme us-east-1) |
| assetsBucket | Le nom du bucket des ressources (c’est-à-dire openreplay-assets) |
| recordingsBucket | Le nom du bucket des enregistrements (c’est-à-dire openreplay-recordings) |
| sourcemapsBucket | Le nom du bucket des source maps (c’est-à-dire openreplay-sourcemaps) |
| spotsBucket | Le nom du bucket des spots (c’est-à-dire openreplay-spots) |
- Enregistrez et quittez en utilisant
:wqpour que les changements prennent effet
Les sessions nouvellement enregistrées devraient maintenant ê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 ?En cas de problème, veuillez vous connecter à notre Slack ou consulter notre Forum et obtenir de l’aide auprès de notre communauté.