Définissez ce que la répétition doit prouver
Une version d'API de reporting peut nécessiter la validation de la configuration, la compatibilité du schéma, une requête authentifiée et un export terminé. Chaque revue n'a pas besoin de données à l'échelle de la production. Rédigez d'abord les vérifications, puis identifiez les propriétés de l'environnement qui influent matériellement sur leur résultat.
Utilisez une destination hors production autorisée, des identifiants indépendants, un artefact connu et des enregistrements synthétiques ou correctement anonymisés. Si les exigences de traitement des données ne sont pas claires, utilisez des données synthétiques. Choisir la Suisse ou le Panama pour un serveur PrivacyNodes n'établit pas d'accord de traitement ni ne détermine où chaque copie de données ou sauvegarde est stockée.
Choisissez ce qui doit être séparé
| Composant | Choix de staging | Vérification |
|---|---|---|
| Base de données | Base de données et rôle séparés | Le rôle ne peut pas lire la production |
| File d'attente | Courtier séparé ou limite d'accès appliquée | Aucune tâche de production consommée |
| Stockage objet | Identifiants et destination séparés | L'export n'atteint que le stockage de test |
| E-mail/webhooks | Puits de capture ou bac à sable approuvé | Aucun destinataire réel contacté |
| Tâches planifiées | Désactivées sauf si exercées | Aucun calendrier actif dupliqué |
| Hôte | Partagé ou séparé selon décision | Couplage des ressources et des défaillances documenté |
Des bases de données séparées sur un même hôte partagent encore des ressources et une limite de défaillance. Des hôtes séparés réduisent une partie du couplage mais ne peuvent pas corriger un identifiant pointant vers la production. Vérifiez les destinations et les autorisations ainsi que le placement des processus. L'accès administrateur à l'hôte et l'accès à un démon Docker peuvent compromettre une isolation applicative par ailleurs soignée.
Vérifiez l'exposition plutôt que de vous fier à un nom
Publier un port Docker sans adresse d'hôte l'expose généralement sur toutes les adresses de l'hôte. Une liaison loopback explicite réduit l'exposition dans la configuration bridge/NAT documentée, mais ne constitue pas une conception complète de contrôle d'accès. Docker documente une mise en garde same-network antérieure à 28.0.0 et des différences de comportement selon les modes réseau. Vérifiez la version installée et la topologie.
Le trafic des conteneurs peut contourner le chemin UFW attendu par l'opérateur. Ne déduisez pas qu'une base de données est privée à partir du seul état du pare-feu, et ne désactivez pas les règles de filtrage de paquets de Docker comme raccourci. Vérifiez l'accès prévu depuis un client distinct sur les familles d'adresses utilisées, sans expérimenter sur un pare-feu de production.
Référence technique : Publication de ports Docker · Filtrage de paquets et pare-feu Docker.
Rendez les données de test utiles et contenues
Créez des comptes synthétiques avec des relations réalistes et des cas limites : un export vide, un rapport volumineux et un compte révoqué. Préservez les formes qui exercent une migration sans conserver de détails identifiants inutiles. Documentez la source, le processus d'anonymisation et la date de suppression de toute copie de données approuvée.
Ne fournissez pas d'identifiants de production pour la messagerie ou le paiement afin de faire passer une vérification de configuration. Utilisez un bac à sable ou une destination contrôlée. Testez aussi le comportement en cas d'échec : une intégration désactivée doit produire une réponse connue au lieu de réessais contre un service actif. Inspectez un export de test et le récepteur de capture pour confirmer que le chemin prévu s'est bien produit.
Consignez les différences qui limitent le résultat
Maintenez l'alignement des versions majeures d'exécution, du schéma de configuration et de l'ordre des migrations là où ils déterminent le comportement. Consignez les différences de taille de base de données, d'état du cache, de concurrence des workers et de dépendances. Une vérification fonctionnelle réussie ne prouve pas le débit ni la latence en production.
Une préproduction sur un petit hôte partagé peut entrer en concurrence avec la production, invalider la répétition et le budget de ressources en direct. Un hôte modeste séparé peut être plus simple à appréhender pour la validation fonctionnelle d'une version. Les tests de charge ou les migrations volumineuses nécessitent une capacité adaptée à cette tâche ; le plus petit profil n'est pas une capacité de préproduction universelle.
Incluez le démontage dans la définition de terminé
Consignez l'artefact, le résultat de migration, les contrôles de fumée et les différences par rapport à l'environnement cible. Révoquez les accès temporaires, faites expirer les exports et supprimez les données jetables conformément à la politique. Confirmez que les tâches planifiées restent désactivées et qu'aucun worker ne pointe vers une destination active.
Le scénario de préproduction compare un budget Dev ciblé 1 avec une répétition plus large. Associez-le au fiche de version. Le résultat est un ensemble documenté de vérifications utiles et de limites, et non l'affirmation que la préproduction reproduit exactement la production.
Références officielles
La documentation a été révisée pour cet article. Les exemples sont des exercices de planification, pas des commandes testées sur un serveur PrivacyNodes. Vérifiez la documentation de votre version installée.