Zo stel je een bucket bij Amazon S3 in als doel voor je back-ups: van de toegangssleutel met de nodige rechten via de verbindingstest tot het opgeslagen doel.
Dit heb je nodig
- een bucket bij Amazon S3 die al bestaat: de plugin maakt er geen aan,
- een toegangssleutel en de bijbehorende geheime sleutel,
- de rechten voor deze sleutel, zie de volgende paragraaf.
Voor elke andere dienst die de interface van S3 spreekt, is er een eigen doeltype: Back-ups opslaan in S3-compatibele opslag.
Geen dienst van cloneworx ertussen
Je vult je toegangssleutel en de bijbehorende geheime sleutel in. De plugin ondertekent elk verzoek zelf. De geheime sleutel verlaat de webserver nooit. De verbinding met Amazon S3 is altijd versleuteld.
De rechten van de toegangssleutel
Gebruik een sleutel die alleen voor deze back-up is aangemaakt en alleen deze bucket mag bereiken. Voor de gebruiker van de toegangssleutel kan het beleid bij Amazon er zo uitzien. Vervang mein-backup-bucket door de naam van jouw bucket:
{
"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/*"
}
]
}
Ontbreekt een van de rechten, dan noemt de verbindingstest het. Zonder de twee rechten die onvoltooide uploads en hun delen weergeven (s3:ListBucketMultipartUploads en s3:ListMultipartUploadParts), werken back-ups toch; de verbindingstest waarschuwt dan.
Stap 1: doeltype kiezen
Open de pagina Doelen en klik op Doel toevoegen. Kies Amazon S3.
- De doeltypen die er zijn. Amazon S3 draagt het teken “aws”.
- Sluiten sluit de keuze.
De plugin spreekt met Amazon S3 via de PHP-extensie cURL en leest de antwoorden met de PHP-extensie DOM. Ontbreekt daarvan iets op de webserver, dan is Amazon S3 grijs en draagt het label Niet beschikbaar op deze server. De reden staat onder de keuze.
Stap 2: formulier invullen
- Naam is vrij te kiezen. De plugin stelt “Amazon S3 1” voor; elke naam werkt die nog niet in gebruik is.
- Bucket is de naam van de bucket waarin de back-ups moeten komen.
- Toegangssleutel staat zichtbaar in het formulier, zoals een gebruikersnaam.
- Geheime sleutel wordt versleuteld opgeslagen en gaat nooit terug naar de browser.
- Map in de bucket mag leeg blijven: dan staat de map van deze website direct in de bucket.
- Verbinding testen controleert de ingevoerde waarden zonder op te slaan.
Velden met een rode ster zijn verplicht.
De bucket mag niet openbaar zijn
Zorg ervoor dat de bucket niet openbaar is: zonder de sleutels mag niemand hem bereiken. De plugin stuurt nooit proefverzoeken van buitenaf. Hij kan je daarom niet vertellen of de bucket openbaar is.
Stap 3: verbinding testen
Klik op Verbinding testen. De test schrijft een klein bestand in de bucket, leest het terug, geeft het weer en verwijdert het weer. Daarnaast uploadt hij een testbestand van ruim 5 MiB in twee delen en meet daarbij de uploadsnelheid. Ook dit bestand verwijdert hij weer.
- Het resultaat van de test: de verbinding werkt, een testbestand is geschreven, teruggelezen en verwijderd.
- Een waarschuwing van de test. In de afbeelding bewaart de bucket versies.
- De regio van de bucket, de uploadmethode en de gemeten uploadsnelheid.
Is de test geslaagd, dan staan deze regels in het formulier:
| Regel in het resultaat | Betekenis |
|---|---|
| De verbinding werkt: een testbestand is geschreven, teruggelezen en verwijderd. | Schrijven, teruglezen, weergeven en verwijderen werken. |
| Regio van de bucket: … | De regio die Amazon S3 voor de bucket noemt. De plugin onthoudt die bij het doel. |
| Uploadmethode: in delen (multipart-upload); een upload gaat verder met het volgende deel. | S3 kan een bestand niet voortzetten. De plugin uploadt elk bestand daarom in delen. |
| Gemeten uploadsnelheid: … per seconde. | Op basis van de snelheid kiest de plugin de grootte van de delen. |
Onder de eerste regel staan waarschuwingen in geel, als de test iets heeft opgemerkt. De paragraaf “Waarschuwingen na een geslaagde test” legt ze uit.
Stap 4: opslaan
Klik op Opslaan. De plugin slaat het doel op, test de verbinding nog een keer en meldt het resultaat: “…” opgeslagen en verbonden. Plannen en back-ups gebruiken een doel pas na een geslaagde verbindingstest.
- Alle doelen zijn verbonden.
- De melding noemt het doel: opgeslagen en verbonden.
- Het nieuwe doel staat in de lijst. De groene stip betekent: verbonden. Vóór een doel van het type Amazon S3 staat het teken “aws”.
Vindt de plugin in de bucket back-ups die niet in jouw lijst staan, dan verschijnt de tegel Back-ups gevonden op „…”. Meer daarover: Back-ups terugvinden na totaal verlies.
Stap 5: het doel in het back-upplan kiezen
- Je eerste doel: de plugin maakt het plan “Dagelijkse back-up” aan: dagelijks op een willekeurig tijdstip, alles, dit doel, Max. back-ups 7. Het plan is gepauzeerd tot je het inschakelt.
- Een verder doel: kies het op de pagina Back-up in de tegel Back-upplannen in een plan. De gratis versie staat twee plannen en één doel per plan toe.
Meer daarover: Back-ups automatisch inplannen.
De velden van de weergave Uitgebreid
-
Regio mag leeg blijven: dan vraagt de verbindingstest Amazon S3 naar de regio van de bucket. Een voorbeeld van een regio is
eu-central-1. - Tijdslimiet voor de verbinding (seconden) neemt 3 tot 60, de standaard is 10.
- Uploadsnelheid (bytes per seconde) mag leeg blijven: dan geldt wat de verbindingstest heeft gemeten.
In een leeg veld waarvan de test de waarde vaststelt, staat automatisch. Elke verbindingstest stelt regio en snelheid opnieuw vast. Een uploadsnelheid die je zelf invult, gaat voor. Noemt Amazon S3 een andere regio dan de regio die je hebt ingevuld, dan werkt de plugin met de regio van de dienst, en de verbindingstest waarschuwt.
Waarschuwingen na een geslaagde test
| Waarschuwing | Wat je kunt doen |
|---|---|
| De dienst noemt een andere regio dan de regio die je hebt ingevuld. De plugin gebruikt de regio van de dienst; verbeter het veld Regio. | Vul in de weergave Uitgebreid de regio in die het resultaat noemt, of maak het veld Regio leeg. |
| Deze bucket bewaart versies: een verwijderde back-up blijft daar als oude versie staan en neemt ruimte in. Stel bij de dienst een lifecycle-regel in die oude versies verwijdert. | Stel de regel in bij Amazon S3. Het verwijderen door de plugin verbergt een back-up in zo’n bucket alleen maar. |
| De dienst geeft onvoltooide uploads niet weer, daarom kan de plugin ze daar niet opruimen. Stel bij de dienst een lifecycle-regel in die onvoltooide uploads verwijdert. | Geef de sleutel het recht s3:ListBucketMultipartUploads, of stel de regel in. |
| De dienst laat de plugin de delen van een upload niet weergeven. Uploads werken, maar de plugin kan ze niet controleren voordat hij verdergaat. | Geef de sleutel het recht s3:ListMultipartUploadParts. |
| De klok van deze webserver wijkt ongeveer … minuten af van de klok van de dienst. De plugin werkt met de tijd van de dienst; laat de klok van de webserver corrigeren. | Vraag je hoster om de klok van de webserver te corrigeren. Back-ups lopen tot dan gewoon door. |
Als de test mislukt
Mislukt de test, dan staat het resultaat onder de velden van het formulier. In de afbeelding mist de toegangssleutel het recht om objecten te schrijven.
- De oorzaak in gewone taal. De link aan het einde, Logboek tonen, opent het algemene logboek. Daar staan de details van de test.
- Het recht dat de toegangssleutel mist.
- Melding van het doel is de oorspronkelijke foutmelding van de dienst.
De regel 2 staat alleen onder sommige oorzaken en noemt de reden preciezer, bijvoorbeeld het ontbrekende recht. Heeft ook cURL iets gemeld, dan staat onder Melding van het doel de regel Melding van cURL. De foutmeldingen in deze twee regels zijn niet vertaald. De bucket, de toegangssleutel en de servernaam van de dienst zijn erin onleesbaar gemaakt; de geheime sleutel wordt nooit verzonden.
| Melding | Wat je kunt doen |
|---|---|
| Het doel is niet bereikbaar. Controleer de servernaam en de poort; de hoster van deze website blokkeert de poort misschien. | De servernaam van de dienst vormt de plugin uit de regio. Controleer in de weergave Uitgebreid het veld Regio, of maak het leeg. Klopt de regio, vraag dan je hoster of de webserver verbindingen naar buiten mag opbouwen. |
| De dienst heeft de sleutels geweigerd. | Daaronder staat welke sleutel niet klopt: De dienst kent deze toegangssleutel niet. Of: De handtekening van het verzoek is geweigerd: de geheime sleutel hoort niet bij deze toegangssleutel. Voer de sleutel opnieuw in. |
| De toegangssleutel mist een recht dat de plugin nodig heeft. | Daaronder staat het recht: Ontbrekend recht: …. Vul het aan in het beleid van de sleutel. |
| De bucket bestaat niet bij deze dienst. De plugin maakt geen buckets aan. | Controleer de naam in het veld Bucket, of maak de bucket aan bij Amazon S3. |
| De bucket ligt in een andere regio dan de regio die is gebruikt. | Daaronder staat de regio van de bucket. Vul die in het veld Regio in, of maak het veld leeg. |
| De dienst weigert het verzoek omdat de klok van deze webserver meer afwijkt dan de dienst toestaat. | Vraag je hoster om de klok van de webserver te corrigeren. |
| Een upload kwam niet aan voordat de tijd van een stap om was: de verbinding met het doel is daarvoor te langzaam. | Daaronder staat de reden: Deze dienst neemt een upload alleen aan in delen van minstens 5 MiB, en zo’n deel moet binnen één stap aankomen. Hoe lang een stap hoogstens duurt, bepaalt de instelling Maximale duur per stap: De plugin aanpassen aan je server. |
| Deze waarde is niet geldig. bij het veld Bucket | De naam van een bucket bij Amazon S3 heeft 3 tot 63 tekens: kleine letters, cijfers, punten en koppeltekens. Hij begint en eindigt met een letter of een cijfer. Twee punten achter elkaar en de vorm van een IP-adres accepteert het formulier niet. |
Onvoltooide uploads en versies
- Onvoltooide uploads. Een upload die nooit is afgerond, neemt bij de dienst ruimte in. Bij Amazon S3 vervalt hij nooit vanzelf. De plugin breekt zijn eigen onvoltooide uploads af, en het opruimen van resten breekt de uploads af die het vindt. Stel toch bij Amazon S3 een lifecycle-regel in die onvoltooide uploads na enkele dagen verwijdert.
- Versies. Bewaart de bucket versies, dan verbergt het verwijderen een back-up alleen maar: de oude versies blijven staan en nemen ruimte in. Stel een lifecycle-regel in die oude versies verwijdert.
Goed om te weten
- De back-ups staan in de bucket onder
<map>/cloneworx-backup-<code>/<back-up>/. - Een deel van een upload is minstens 5 MiB groot, alleen het laatste mag kleiner zijn. Een bestand verschijnt pas in de bucket als de upload ervan is afgerond.
- In een bucket plaatst de plugin geen beschermingsbestanden: een bucket wordt niet uitgeleverd door een webserver die ze zou lezen.
- Een doorverwijzing volgt de plugin nooit.
- Back-ups die alleen in een bucket staan, download je niet via de plugin, maar met een programma voor S3 of in de webinterface van de dienst. Herstel, controle en terugvinden lezen rechtstreeks van de dienst.
- Een proxy uit de
wp-config.phpgebruikt de plugin ook voor Amazon S3. - Onder de keuze van de doeltypen staat de opmerking: Namen en logo’s van derden zijn eigendom van hun respectieve eigenaren. Dit impliceert geen verbondenheid of partnerschap.
Zie ook
- Welk doel past bij jou?
- Back-ups opslaan in S3-compatibele opslag
- De pagina “Doelen”
- De toegangsgegevens van een doel vernieuwen
- Back-ups op een doel controleren en resten opruimen
Op de opdrachtregel
WP-CLI nog niet ingesteld? Zo installeer je WP-CLI.
De geheime sleutel accepteert de opdrachtregel niet; een doel van het type Amazon S3 stel je daarom in op de pagina Doelen. Al het overige kan ook met WP-CLI:
# Doelen met kenmerk en status tonen wp cloneworx-backup target list # De verbinding testen wp cloneworx-backup target test amazon-s3-1 # Een plan aanmaken dat naar dit doel back-upt wp cloneworx-backup plan add --targets=amazon-s3-1 --rhythm=daily --time=03:15 --name="Nachts" # De back-ups op dit doel controleren wp cloneworx-backup target check amazon-s3-1 # Resten en onvoltooide uploads tonen (--dry-run) en opruimen wp cloneworx-backup target cleanup amazon-s3-1 --dry-run wp cloneworx-backup target cleanup amazon-s3-1