Bon, j’ai franchi le pas et entamé la migration de mes fichiers uploadés. Juste pour partager, depuis mon parcours de débutant, quelques suggestions et questions qui pourraient aider d’autres ou servir de retour d’expérience. Là où la configuration d’un bucket S3 est bien documentée, l’espace CDN semble beaucoup moins l’être. Exemples :
- Il m’a fallu un peu de temps (je ne suis pas développeur) pour comprendre qu’il existait deux modes d’utilisation d’un CDN. L’un est destiné aux uploads et l’autre, séparé, aux « assets », comme je suppose pour le CSS et les éléments visuels du design du site ?
- La configuration des CDN pour l’un ou l’autre type gagnerait à bénéficier d’une documentation ou de conseils. Poussée (push) ou tirée (pull) ? Accès restreint au bucket ? Le guide de stockage d’objets semble supposer que tout le monde sait le configurer.
- Pour ma part, le chevauchement entre les paramètres d’administration de l’interface utilisateur et les variables d’environnement était aussi un peu confus. Les deux sont possibles, mais les secondes sont recommandées. En me concentrant uniquement sur les uploads pour l’instant, j’ai constaté que je n’avais besoin que d’un sous-ensemble des variables d’environnement du guide de stockage d’objets ? (je voulais éviter d’activer le CDN pour les assets car je ne savais pas comment le configurer (push/pull).
- Il n’est pas non plus évident pour moi comment activer le domaine personnalisé pour le CDN. Le CNAME, je comprends, mais comment activer le SSL ? Dois-je obtenir un certificat Let’s Encrypt pour qu’il fonctionne avec le CDN AWS d’une manière ou d’une autre ?
- Le script migrate_to_s3 a échoué et s’est terminé avec une suggestion de le relancer avec un suivi (trace). Je l’ai exécuté plusieurs fois, tout en régénérant manuellement certains posts. Finalement, il s’est terminé avec un joyeux « Done ! » et il semble que tous les uploads soient maintenant chargés via le CDN.
- Ce que je n’attendais pas, c’est que tous les uploads restent également sur la machine Discourse. Est-ce le comportement attendu ? Je m’attendrais à ce que la migration implique que le job rake supprime aussi les copies locales ? Ou cela se produira-t-il plus tard via un processus de nettoyage des fichiers obsolètes ?
Heureux d’avoir franchi le pas (pas si peureux que ça après tout). Le site fonctionne toujours bien, mais il reste quelques points en suspens :
- accès restreint au bucket (oui/non)
- suppression des uploads toujours présents sur le serveur afin de pouvoir travailler avec des sauvegardes plus légères
- certificat SSL pour le domaine personnalisé du CDN
- comment configurer un CDN en mode push (ou était-ce pull ?) pour les assets ? Cela améliore-t-il simplement la vitesse du site ?