Automatische Sicherung auf S3 findet nicht statt - Sicherung läuft, aber Upload erfolgt nicht, es sei denn, sie wird manuell über die Admin-Oberfläche durchgeführt

Hallo,

ich habe Discourse in einem EKS-Cluster bereitgestellt und verwende IAM Roles for Service Accounts, um den Zugriff auf zwei S3-Buckets zu ermöglichen – einen für Assets und einen für Backups. Das Flag s3_use_iam_profile ist auf „true“ gesetzt.

Meine Einstellungen sind so konfiguriert, dass das Backup täglich erfolgt und in den S3-Backup-Bucket hochgeladen werden soll. Ich sehe jedoch, dass das Backup in den Protokollen ausgeführt wird, aber wenn es abgeschlossen ist und in S3 hochgeladen werden soll, wird dieser Schritt einfach übersprungen, als ob er nicht eingerichtet wäre.

Ich habe diesen alten Beitrag gefunden – Discourse does not support service account and IAM role for S3 backup –, dass die Verwendung von IRSA oder einem IAM-Profil nicht funktioniert. Wenn ich das Backup jetzt manuell über die Admin-Oberfläche ausführe, wird es abgeschlossen und in S3 hochgeladen. Muss ich also noch etwas anderes einstellen, damit dies automatisch geschieht?

Vielen Dank,

Steve

Ich weiß es nicht. Hier ist, was ich als Nächstes überprüfen würde.

Könnte Ihr EKS beendet werden, bevor das Backup komprimiert und nach S3 übertragen wird? Vielleicht ist kein Speicherplatz mehr vorhanden oder so etwas?

Hallo Jay,

Alles sieht gut aus. Die Pod-Protokolle zeigen, dass das automatische Backup erfolgreich abgeschlossen wurde und in Ordnung ist. Es scheint, dass die Prüfung, ob Remote aktiviert ist, fälschlicherweise false zurückgibt.

Wir verwenden v3.0.1, das aus diesem Commit erstellt wurde - Commits · discourse/discourse · GitHub

Wenn man sich den Code ansieht, ist dies die Zeile, die zurückgegeben wird - discourse/lib/backup_restore/backuper.rb at 4571b10ee5a3c46249271b2870d6eaf37994460f · discourse/discourse · GitHub

Habe 2 interessante Dinge gefunden:

1 - Wenn ich das Backup manuell in der Admin-Oberfläche ausführe, wird es erfolgreich abgeschlossen und die komprimierte Gzip-Datei wird auf S3 hochgeladen.
2- Es scheint, dass sich die obige Codezeile seit v3.0.1 geändert hat - die Zeile hat sich von return unless @store.remote? zu return unless store.remote? geändert - mein Ruby ist nicht gut, aber Google sagt mir, dass eine @variable eine Instanzvariable von self ist, also gibt es eine andere Einstellung, die ich vornehmen muss, damit dies mit v3.0.1 funktioniert, oder sollte ich auf v3.0.2 upgraden?

Vielen Dank nochmals.

Auch hier weiß ich es nicht, aber im Allgemeinen ist ein Upgrade eine gute Idee, wenn Sie seltsames Verhalten feststellen.

Es sieht so aus, als ob Folgendes aufgerufen werden sollte:

Ich weiß nicht, warum es fehlschlagen könnte.

Ok, danke Jay.

Ich werde versuchen, ein Upgrade durchzuführen und zu sehen, ob das hilft. Ich werde Sie auf dem Laufenden halten.

Steve

1 „Gefällt mir“