So richtest Du einen Bucket bei Amazon S3 als Ziel für Deine Backups ein: vom Zugriffsschlüssel mit den nötigen Rechten über den Verbindungstest bis zum gespeicherten Ziel.
Das brauchst Du
- einen Bucket bei Amazon S3, den es schon gibt: Das Plugin legt keinen an,
- einen Zugriffsschlüssel und den geheimen Schlüssel dazu,
- die Rechte für diesen Schlüssel, siehe den nächsten Abschnitt.
Für jeden anderen Dienst, der die Schnittstelle von S3 spricht, gibt es eine eigene Ziel-Art: Backups in einem S3-kompatiblen Speicher sichern.
Kein Dienst von cloneworx dazwischen
Du trägst Deinen Zugriffsschlüssel und den geheimen Schlüssel dazu ein. Das Plugin signiert jede Anfrage selbst. Der geheime Schlüssel verlässt den Webserver nie. Die Verbindung zu Amazon S3 ist immer verschlüsselt.
Die Rechte des Zugriffsschlüssels
Nimm einen Schlüssel, der nur für dieses Backup erstellt wurde und nur diesen Bucket erreichen darf. Für den Benutzer des Zugriffsschlüssels kann die Richtlinie bei Amazon so aussehen. Ersetze mein-backup-bucket durch den Namen Deines Buckets:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::mein-backup-bucket"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::mein-backup-bucket/*"
}
]
}
Fehlt eines der Rechte, nennt der Verbindungstest es. Ohne die beiden Rechte, die angefangene Uploads und ihre Teile auflisten (s3:ListBucketMultipartUploads und s3:ListMultipartUploadParts), gehen Backups trotzdem; der Verbindungstest warnt dann.
Schritt 1: Ziel-Art wählen
Öffne die Seite Ziele und klicke auf Ziel hinzufügen. Wähle Amazon S3.
- Die Ziel-Arten, die es gibt. Amazon S3 trägt das Zeichen „aws“.
- geplant steht an Ziel-Arten, die noch nicht wählbar sind.
- Schließen schließt die Auswahl.
Das Plugin spricht mit Amazon S3 über die PHP-Erweiterung cURL und liest die Antworten mit der PHP-Erweiterung DOM. Fehlt dem Webserver etwas davon, ist Amazon S3 ausgegraut und trägt den Vermerk Auf diesem Server nicht verfügbar. Der Grund steht unter der Auswahl.
Schritt 2: Formular ausfüllen
- Name ist frei wählbar. Das Plugin schlägt „Amazon S3 1“ vor; jeder Name geht, der noch nicht vergeben ist.
- Bucket ist der Name des Buckets, in dem die Backups liegen sollen.
- Zugriffsschlüssel steht sichtbar im Formular, wie ein Benutzername.
- Geheimer Schlüssel wird verschlüsselt gespeichert und geht nie zurück an den Browser.
- Ordner im Bucket darf leer bleiben: Dann liegt der Ordner dieser Website direkt im Bucket.
- Verbindung testen prüft die eingegebenen Werte, ohne zu speichern.
Felder mit rotem Stern sind Pflicht.
Der Bucket darf nicht öffentlich sein
Stelle sicher, dass der Bucket nicht öffentlich ist: Ohne die Schlüssel darf ihn niemand erreichen. Das Plugin schickt nie Anfragen zur Probe von außen. Es kann Dir deshalb nicht sagen, ob der Bucket öffentlich ist.
Schritt 3: Verbindung testen
Klicke auf Verbindung testen. Der Test schreibt eine kleine Datei in den Bucket, liest sie zurück, listet sie auf und löscht sie wieder. Dazu lädt er eine Testdatei von gut 5 MiB in zwei Teilen hoch und misst dabei die Upload-Rate. Auch diese Datei löscht er wieder.
- Das Ergebnis des Tests: Die Verbindung funktioniert, eine Testdatei wurde geschrieben, zurückgelesen und gelöscht.
- Eine Warnung des Tests. Im Bild bewahrt der Bucket Versionen auf.
- Die Region des Buckets, das Upload-Verfahren und die gemessene Upload-Rate.
Ist der Test gelungen, stehen im Formular diese Zeilen:
| Zeile im Ergebnis | Bedeutung |
|---|---|
| Verbindung funktioniert: Eine Testdatei wurde geschrieben, zurückgelesen und gelöscht. | Schreiben, Zurücklesen, Auflisten und Löschen gehen. |
| Region des Buckets: … | Die Region, die Amazon S3 für den Bucket nennt. Das Plugin merkt sie sich am Ziel. |
| Upload-Verfahren: in Teilen (Multipart-Upload); ein Upload geht mit dem nächsten Teil weiter. | S3 kann eine Datei nicht fortsetzen. Das Plugin lädt jede Datei deshalb in Teilen hoch. |
| Gemessene Upload-Rate: … je Sekunde. | Nach der Rate wählt das Plugin die Größe der Teile. |
Unter der ersten Zeile stehen Warnungen in gelb, wenn der Test etwas bemerkt hat. Der Abschnitt „Warnungen nach einem gelungenen Test“ erklärt sie.
Schritt 4: Speichern
Klicke auf Speichern. Das Plugin speichert das Ziel, testet die Verbindung noch einmal und meldet das Ergebnis: „…“ gespeichert und verbunden. Pläne und Backups nutzen ein Ziel erst nach einem gelungenen Verbindungstest.
- Alle Ziele sind verbunden.
- Die Meldung nennt das Ziel: gespeichert und verbunden.
- Das neue Ziel steht in der Liste. Der grüne Punkt heißt: verbunden. Vor einem Ziel der Art Amazon S3 steht das Zeichen „aws“.
Findet das Plugin im Bucket Backups, die nicht in Deiner Liste stehen, erscheint die Kachel Backups gefunden an „…“. Mehr dazu: Backups nach einem Totalverlust wiederfinden.
Schritt 5: Das Ziel im Backup-Plan wählen
- Dein erstes Ziel: Das Plugin legt den Plan „Tägliches Backup“ an: täglich zu einer zufälligen Uhrzeit, alles, dieses Ziel, Max. Sicherungen 7. Der Plan ist pausiert, bis Du ihn einschaltest.
- Ein weiteres Ziel: Wähle es auf der Seite Backup in der Kachel Backup-Pläne in einem Plan. Die freie Version erlaubt zwei Pläne und ein Ziel je Plan.
Mehr dazu: Backups automatisch planen.
Die Felder der Ansicht Erweitert
-
Region darf leer bleiben: Dann fragt der Verbindungstest Amazon S3 nach der Region des Buckets. Ein Beispiel für eine Region ist
eu-central-1. - Zeitgrenze für den Verbindungsaufbau (Sekunden) nimmt 3 bis 60, Vorgabe ist 10.
- Upload-Rate (Bytes je Sekunde) darf leer bleiben: Dann gilt, was der Verbindungstest gemessen hat.
In einem leeren Feld, dessen Wert der Test feststellt, steht automatisch. Jeder Verbindungstest stellt Region und Rate neu fest. Eine Upload-Rate, die Du selbst einträgst, geht vor. Nennt Amazon S3 eine andere Region als die, die Du eingetragen hast, arbeitet das Plugin mit der Region des Dienstes, und der Verbindungstest warnt.
Warnungen nach einem gelungenen Test
| Warnung | Was Du tun kannst |
|---|---|
| Der Dienst nennt eine andere Region als die, die Du eingetragen hast. Das Plugin benutzt die Region des Dienstes; berichtige das Feld Region. | Trage in der Ansicht Erweitert die Region ein, die das Ergebnis nennt, oder leere das Feld Region. |
| Dieser Bucket bewahrt Versionen auf: Ein gelöschtes Backup bleibt dort als alte Version liegen und belegt weiter Platz. Richte beim Dienst eine Lifecycle-Regel ein, die alte Versionen entfernt. | Richte die Regel bei Amazon S3 ein. Das Löschen durch das Plugin versteckt ein Backup in einem solchen Bucket nur. |
| Der Dienst listet angefangene Uploads nicht auf, deshalb kann das Plugin sie dort nicht aufräumen. Richte beim Dienst eine Lifecycle-Regel ein, die angefangene Uploads entfernt. | Gib dem Schlüssel das Recht s3:ListBucketMultipartUploads, oder richte die Regel ein. |
| Der Dienst lässt das Plugin die Teile eines Uploads nicht auflisten. Uploads gehen, aber das Plugin kann sie nicht prüfen, bevor es weitermacht. | Gib dem Schlüssel das Recht s3:ListMultipartUploadParts. |
| Die Uhr dieses Webservers weicht um etwa … Minuten von der Uhr des Dienstes ab. Das Plugin arbeitet mit der Zeit des Dienstes; lass die Uhr des Webservers berichtigen. | Bitte Deinen Hoster, die Uhr des Webservers zu berichtigen. Backups laufen bis dahin weiter. |
Wenn der Test scheitert
Scheitert der Test, steht das Ergebnis unter den Feldern des Formulars. Im Bild fehlt dem Zugriffsschlüssel das Recht, Objekte zu schreiben.
- Die Ursache im Klartext. Der Link am Ende, Protokoll anzeigen, öffnet das allgemeine Protokoll. Dort stehen die Einzelheiten des Tests.
- Das Recht, das dem Zugriffsschlüssel fehlt.
- Meldung des Servers ist der Wortlaut des Dienstes im Original.
Die Zeile 2 steht nur unter manchen Ursachen und nennt den Grund genauer, zum Beispiel das fehlende Recht. Hat auch cURL etwas gemeldet, steht unter Meldung des Servers die Zeile Meldung von cURL. Der Wortlaut in diesen beiden Zeilen ist nicht übersetzt. Der Bucket, der Zugriffsschlüssel und der Name des Servers sind darin unkenntlich gemacht; der geheime Schlüssel wird nie gesendet.
| Meldung | Was Du tun kannst |
|---|---|
| Der Server ist nicht erreichbar. Prüfe den Servernamen und den Port; der Hoster dieser Website sperrt den Port vielleicht. | Den Namen des Servers bildet das Plugin aus der Region. Prüfe in der Ansicht Erweitert das Feld Region, oder leere es. Stimmt die Region, frage Deinen Hoster, ob der Webserver Verbindungen nach außen aufbauen darf. |
| Der Dienst hat die Schlüssel abgelehnt. | Darunter steht, welcher Schlüssel nicht stimmt: Der Dienst kennt diesen Zugriffsschlüssel nicht. Oder: Die Signatur der Anfrage wurde abgelehnt: Der geheime Schlüssel gehört nicht zu diesem Zugriffsschlüssel. Gib den Schlüssel neu ein. |
| Dem Zugriffsschlüssel fehlt ein Recht, das das Plugin braucht. | Darunter steht das Recht: Fehlendes Recht: …. Ergänze es in der Richtlinie des Schlüssels. |
| Den Bucket gibt es bei diesem Dienst nicht. Das Plugin legt keine Buckets an. | Prüfe den Namen im Feld Bucket, oder lege den Bucket bei Amazon S3 an. |
| Der Bucket liegt in einer anderen Region als der, die benutzt wurde. | Darunter steht die Region des Buckets. Trage sie im Feld Region ein, oder leere das Feld. |
| Der Dienst lehnt die Anfrage ab, weil die Uhr dieses Webservers weiter abweicht, als der Dienst erlaubt. | Bitte Deinen Hoster, die Uhr des Webservers zu berichtigen. |
| Ein Upload kam nicht an, bevor die Zeit eines Schritts abgelaufen war: Die Verbindung zum Ziel ist dafür zu langsam. | Darunter steht der Grund: Dieser Dienst nimmt einen Upload nur in Teilen von mindestens 5 MiB an, und ein solches Teil muss in einem Schritt ankommen. Wie lange ein Schritt höchstens dauert, sagt die Einstellung Höchstdauer je Schritt: Das Plugin an Deinen Server anpassen. |
| Dieser Wert ist nicht gültig. am Feld Bucket | Der Name eines Buckets bei Amazon S3 hat 3 bis 63 Zeichen: Kleinbuchstaben, Ziffern, Punkte und Bindestriche. Er beginnt und endet mit einem Buchstaben oder einer Ziffer. Zwei Punkte hintereinander und die Form einer IP-Adresse nimmt das Formular nicht an. |
Angefangene Uploads und Versionen
- Angefangene Uploads. Ein Upload, der nie abgeschlossen wurde, belegt beim Dienst weiter Platz. Bei Amazon S3 verfällt er nie von selbst. Das Plugin bricht seine eigenen angefangenen Uploads ab, und das Aufräumen der Reste bricht die ab, die es findet. Richte trotzdem bei Amazon S3 eine Lifecycle-Regel ein, die angefangene Uploads nach einigen Tagen entfernt.
- Versionen. Bewahrt der Bucket Versionen auf, versteckt das Löschen ein Backup nur: Die alten Versionen bleiben und belegen weiter Platz. Richte eine Lifecycle-Regel ein, die alte Versionen entfernt.
Gut zu wissen
- Die Backups liegen im Bucket unter
<Ordner>/cloneworx-backup-<Code>/<Backup>/. - Ein Teil eines Uploads ist mindestens 5 MiB groß, nur das letzte darf kleiner sein. Eine Datei erscheint im Bucket erst, wenn ihr Upload abgeschlossen ist.
- In einen Bucket legt das Plugin keine Schutzdateien: Ein Bucket wird nicht von einem Webserver ausgeliefert, der sie läse.
- Einer Weiterleitung folgt das Plugin nie.
- Backups, die nur in einem Bucket liegen, lädst Du nicht über das Plugin herunter, sondern mit einem Programm für S3 oder in der Weboberfläche des Dienstes. Restore, Prüfung und Wiederfinden lesen direkt vom Dienst.
- Einen Proxy aus der
wp-config.phpbenutzt das Plugin auch für Amazon S3. - Unter der Auswahl der Ziel-Arten steht der Hinweis: Namen & Logos von Drittanbietern befinden sich im Besitz ihrer jeweiligen Eigentümer. Dies impliziert keine Zugehörigkeit oder Partnerschaft.
Siehe auch
- Welches Ziel passt zu Dir?
- Backups in einem S3-kompatiblen Speicher sichern
- Die Seite „Ziele“
- Zugangsdaten eines Ziels erneuern
- Backups an einem Ziel prüfen und Reste aufräumen
Auf der Kommandozeile
WP-CLI noch nicht eingerichtet? So installierst Du WP-CLI.
Den geheimen Schlüssel nimmt die Kommandozeile nicht an; ein Ziel der Art Amazon S3 richtest Du deshalb auf der Seite Ziele ein. Alles Weitere geht auch mit WP-CLI:
# Ziele mit Kennung und Zustand zeigen wp cloneworx-backup target list # Die Verbindung testen wp cloneworx-backup target test amazon-s3-1 # Einen Plan anlegen, der an dieses Ziel sichert wp cloneworx-backup plan add --targets=amazon-s3-1 --rhythm=daily --time=03:15 --name="Nachts" # Die Backups an diesem Ziel prüfen wp cloneworx-backup target check amazon-s3-1 # Reste und angefangene Uploads zeigen (--dry-run) und aufräumen wp cloneworx-backup target cleanup amazon-s3-1 --dry-run wp cloneworx-backup target cleanup amazon-s3-1