Ich betreibe mehrere Discourse-Instanzen, die alle selbst gehostet sind. Alle haben Backups in Amazon S3, und ich habe für jedes Forum einen benutzerdefinierten IAM-Benutzer und eine benutzerdefinierte Richtlinie eingerichtet, die nur Zugriff auf einen S3-Bucket gewährt.
Einige der Foren löschen keine alten Backups, während andere dies tun. Es scheint nicht mit den Website-Einstellungen zusammenzuhängen, die alle ziemlich gleich sind. Ich neige dazu, die Anzahl der aufbewahrten Backups auf 10-20 zu begrenzen, und die Sicherung erfolgt nächtlich.
Die Instanzen, die sich nicht richtig verhalten, haben Folgendes gemeinsam:
- Die AWS-Anmeldeinformationen funktionieren einwandfrei für die Erstellung neuer Backups und die Auflistung vorhandener, lösen aber beim Versuch zu löschen „Zugriff verweigert“-Fehler aus.
- Alle Instanzen sind auf der neuesten Version tests-passed (heute aktualisiert) 3.3.0.beta5-dev.
- Sie löschen alte Backups nicht automatisch, auch nicht solche, die weit über das Alter hinaus sind, in dem sie hätten gelöscht werden sollen.
- Sie scheinen auf keine Kombination von Website-Einstellungen zu reagieren, z. B.
maximum backups,remove older backups,s3 disable cleanupoder ähnliches. - Das Löschen der alten Backups in der Discourse-Admin-Oberfläche funktioniert nicht – in den Protokollen gibt es einen Aws::S3::Errors::AccessDenied.
- Das manuelle Löschen in AWS funktioniert (offensichtlich), ist aber eine Problemumgehung.
Ich möchte nur verstehen, wie ich dies weiter debuggen kann.
Die JSON-Richtlinien für die IAM-Benutzer sind alle identisch, abgesehen vom Namen des Buckets. Die Richtlinien funktionieren eindeutig für die Erstellung und den Upload neuer Backups.