Voici comment configurer un bucket Amazon S3 comme destination de tes sauvegardes : de la clé d’accès avec les autorisations nécessaires au test de connexion jusqu’à la destination enregistrée.
Ce qu’il te faut
- un bucket Amazon S3 qui existe déjà : l’extension n’en crée pas,
- une clé d’accès et la clé secrète correspondante,
- les autorisations pour cette clé, voir la section suivante.
Pour tout autre service qui parle l’interface de S3, il existe un type de destination à part : Stocker les sauvegardes dans un stockage compatible S3.
Aucun service de cloneworx entre les deux
Tu saisis ta clé d’accès et la clé secrète correspondante. L’extension signe elle-même chaque requête. La clé secrète ne quitte jamais le serveur web. La connexion à Amazon S3 est toujours chiffrée.
Les autorisations de la clé d’accès
Utilise une clé créée uniquement pour cette sauvegarde et qui ne peut atteindre que ce bucket. Pour l’utilisateur de la clé d’accès, la stratégie chez Amazon peut ressembler à ceci. Remplace mein-backup-bucket par le nom de ton 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/*"
}
]
}
S’il manque l’une des autorisations, le test de connexion la nomme. Sans les deux autorisations qui listent les envois inachevés et leurs parties (s3:ListBucketMultipartUploads et s3:ListMultipartUploadParts), les sauvegardes fonctionnent malgré tout ; le test de connexion avertit alors.
Étape 1 : choisir le type de destination
Ouvre la page Destinations et clique sur Ajouter une destination. Choisis Amazon S3.
- Les types de destination disponibles. Amazon S3 porte le signe « aws ».
- Fermer ferme la sélection.
L’extension parle avec Amazon S3 par l’extension PHP cURL et lit les réponses avec l’extension PHP DOM. S’il en manque une au serveur web, Amazon S3 est grisé et porte l’étiquette Non disponible sur ce serveur. La raison figure sous la sélection.
Étape 2 : remplir le formulaire
- Nom est libre. L’extension propose « Amazon S3 1 » ; tout nom qui n’est pas encore utilisé convient.
- Bucket est le nom du bucket dans lequel les sauvegardes doivent être stockées.
- Clé d’accès est visible dans le formulaire, comme un nom d’utilisateur.
- Clé secrète est enregistrée chiffrée et ne revient jamais au navigateur.
- Dossier dans le bucket peut rester vide : le dossier de ce site se trouve alors directement dans le bucket.
- Tester la connexion vérifie les valeurs saisies sans enregistrer.
Les champs marqués d’une étoile rouge sont obligatoires.
Le bucket ne doit pas être public
Assure-toi que le bucket n’est pas public : sans les clés, personne ne doit pouvoir l’atteindre. L’extension n’envoie jamais de requêtes d’essai depuis l’extérieur. Elle ne peut donc pas te dire si le bucket est public.
Étape 3 : tester la connexion
Clique sur Tester la connexion. Le test écrit un petit fichier dans le bucket, le relit, le liste et le supprime. Il envoie en plus un fichier de test d’un peu plus de 5 MiB en deux parties et mesure ainsi le débit d’envoi. Il supprime aussi ce fichier.
- Le résultat du test : la connexion fonctionne, un fichier de test a été écrit, relu et supprimé.
- Un avertissement du test. Sur l’image, le bucket conserve des versions.
- La région du bucket, la méthode d’envoi et le débit d’envoi mesuré.
Si le test a réussi, ces lignes figurent dans le formulaire :
| Ligne du résultat | Signification |
|---|---|
| La connexion fonctionne : un fichier de test a été écrit, relu et supprimé. | Écrire, relire, lister et supprimer fonctionnent. |
| Région du bucket : … | La région qu’Amazon S3 indique pour le bucket. L’extension la retient sur la destination. |
| Méthode d’envoi : en parties (envoi multipartie) ; un envoi se poursuit avec la partie suivante. | S3 ne peut pas poursuivre un fichier. L’extension envoie donc chaque fichier en parties. |
| Débit d’envoi mesuré : … par seconde. | Selon le débit, l’extension choisit la taille des parties. |
Sous la première ligne figurent des avertissements en jaune si le test a remarqué quelque chose. La section « Avertissements après un test réussi » les explique.
Étape 4 : enregistrer
Clique sur Enregistrer. L’extension enregistre la destination, teste la connexion une nouvelle fois et annonce le résultat : « … » enregistrée et connectée. Les plans et les sauvegardes n’utilisent une destination qu’après un test de connexion réussi.
- Toutes les destinations sont connectées.
- Le message nomme la destination : enregistrée et connectée.
- La nouvelle destination figure dans la liste. Le point vert signifie : connectée. Devant une destination de type Amazon S3 se trouve le signe « aws ».
Si l’extension trouve dans le bucket des sauvegardes qui ne figurent pas dans ta liste, la tuile Sauvegardes trouvées sur « … » apparaît. Pour en savoir plus : Retrouver des sauvegardes après une perte totale.
Étape 5 : choisir la destination dans le plan de sauvegarde
- Ta première destination : L’extension crée le plan « Sauvegarde quotidienne » : chaque jour à une heure aléatoire, tout, cette destination, Sauvegardes max. 7. Le plan est en pause jusqu’à ce que tu l’actives.
- Une destination supplémentaire : Choisis-la sur la page Sauvegarde, dans la tuile Plans de sauvegarde, dans un plan. La version gratuite permet deux plans et une destination par plan.
Pour en savoir plus : Planifier des sauvegardes automatiques.
Les champs de la vue Étendu
-
Région peut rester vide : le test de connexion demande alors à Amazon S3 la région du bucket. Un exemple de région est
eu-central-1. - Délai de connexion (secondes) accepte de 3 à 60, la valeur par défaut est 10.
- Débit d’envoi (octets par seconde) peut rester vide : c’est alors ce que le test de connexion a mesuré qui s’applique.
Dans un champ vide dont le test détermine la valeur figure automatique. Chaque test de connexion détermine à nouveau la région et le débit. Un débit d’envoi que tu saisis toi-même a la priorité. Si Amazon S3 indique une autre région que celle que tu as saisie, l’extension travaille avec la région du service, et le test de connexion avertit.
Avertissements après un test réussi
| Avertissement | Ce que tu peux faire |
|---|---|
| Le service indique une autre région que celle que tu as saisie. L’extension utilise la région du service ; corrige le champ Région. | Saisis dans la vue Étendu la région que le résultat indique, ou vide le champ Région. |
| Ce bucket conserve des versions : une sauvegarde supprimée y reste comme ancienne version et continue d’occuper de l’espace. Définis chez le service une règle de cycle de vie qui supprime les anciennes versions. | Définis la règle chez Amazon S3. Dans un tel bucket, la suppression par l’extension ne fait que masquer une sauvegarde. |
| Le service ne liste pas les envois inachevés ; l’extension ne peut donc pas les nettoyer. Définis chez le service une règle de cycle de vie qui supprime les envois inachevés. | Donne à la clé l’autorisation s3:ListBucketMultipartUploads, ou définis la règle. |
| Le service ne laisse pas l’extension lister les parties d’un envoi. Les envois fonctionnent, mais l’extension ne peut pas les vérifier avant de continuer. | Donne à la clé l’autorisation s3:ListMultipartUploadParts. |
| L’horloge de ce serveur web s’écarte d’environ … minutes de celle du service. L’extension travaille avec l’heure du service ; fais corriger l’horloge du serveur web. | Demande à ton hébergeur de corriger l’horloge du serveur web. Les sauvegardes continuent de fonctionner d’ici là. |
Si le test échoue
Si le test échoue, le résultat figure sous les champs du formulaire. Sur l’image, il manque à la clé d’accès l’autorisation d’écrire des objets.
- La cause en clair. Le lien à la fin, Afficher le journal, ouvre le journal général. Les détails du test s’y trouvent.
- L’autorisation qui manque à la clé d’accès.
- Message de la destination est le message d’erreur du service dans sa version originale.
La ligne 2 ne figure que sous certaines causes et précise la raison, par exemple l’autorisation manquante. Si cURL a aussi signalé quelque chose, la ligne Message de cURL figure sous Message de la destination. Les messages d’erreur de ces deux lignes ne sont pas traduits. Le bucket, la clé d’accès et le nom de serveur du service y sont masqués ; la clé secrète n’est jamais envoyée.
| Message | Ce que tu peux faire |
|---|---|
| La destination est injoignable. Vérifie le nom du serveur et le port ; l’hébergeur de ce site bloque peut-être le port. | L’extension forme le nom de serveur du service à partir de la région. Vérifie dans la vue Étendu le champ Région, ou vide-le. Si la région est correcte, demande à ton hébergeur si le serveur web peut établir des connexions vers l’extérieur. |
| Le service a refusé les clés. | En dessous figure la clé qui ne convient pas : Le service ne connaît pas cette clé d’accès. Ou : La signature de la requête a été refusée : la clé secrète n’appartient pas à cette clé d’accès. Saisis la clé à nouveau. |
| Il manque à la clé d’accès une autorisation dont l’extension a besoin. | En dessous figure l’autorisation : Autorisation manquante : …. Ajoute-la à la stratégie de la clé. |
| Le bucket n’existe pas chez ce service. L’extension ne crée pas de bucket. | Vérifie le nom dans le champ Bucket, ou crée le bucket chez Amazon S3. |
| Le bucket se trouve dans une autre région que celle qui a été utilisée. | En dessous figure la région du bucket. Saisis-la dans le champ Région, ou vide le champ. |
| Le service refuse la requête parce que l’horloge de ce serveur web s’écarte plus que le service ne l’autorise. | Demande à ton hébergeur de corriger l’horloge du serveur web. |
| Un envoi n’est pas arrivé avant la fin du temps d’une étape : la connexion à la destination est trop lente pour cela. | En dessous figure la raison : Ce service n’accepte un envoi qu’en parties d’au moins 5 Mio, et une telle partie doit arriver en une étape. La durée maximale d’une étape est définie par le réglage Durée maximale par étape : Adapter l’extension à ton serveur. |
| Cette valeur n’est pas valide. au champ Bucket | Le nom d’un bucket Amazon S3 compte de 3 à 63 caractères : minuscules, chiffres, points et tirets. Il commence et se termine par une lettre ou un chiffre. Le formulaire n’accepte ni deux points consécutifs ni la forme d’une adresse IP. |
Envois inachevés et versions
- Envois inachevés. Un envoi qui n’a jamais été terminé continue d’occuper de l’espace chez le service. Chez Amazon S3, il n’expire jamais de lui-même. L’extension interrompt ses propres envois inachevés, et le nettoyage des restes interrompt ceux qu’il trouve. Définis malgré tout chez Amazon S3 une règle de cycle de vie qui supprime les envois inachevés après quelques jours.
- Versions. Si le bucket conserve des versions, la suppression ne fait que masquer une sauvegarde : les anciennes versions restent et continuent d’occuper de l’espace. Définis une règle de cycle de vie qui supprime les anciennes versions.
Bon à savoir
- Les sauvegardes se trouvent dans le bucket sous
<dossier>/cloneworx-backup-<code>/<sauvegarde>/. - Une partie d’un envoi fait au moins 5 MiB, seule la dernière peut être plus petite. Un fichier n’apparaît dans le bucket qu’une fois son envoi terminé.
- L’extension ne place aucun fichier de protection dans un bucket : un bucket n’est pas servi par un serveur web qui les lirait.
- L’extension ne suit jamais une redirection.
- Les sauvegardes qui ne se trouvent que dans un bucket ne se téléchargent pas via l’extension, mais avec un programme pour S3 ou dans l’interface web du service. La restauration, la vérification et la recherche lisent directement depuis le service.
- L’extension utilise aussi pour Amazon S3 un proxy défini dans
wp-config.php. - Sous le choix des types de destination figure la mention : Les noms et logos de tiers appartiennent à leurs propriétaires respectifs. Cela n’implique aucune affiliation ni aucun partenariat.
Voir aussi
- Quelle destination te convient ?
- Stocker les sauvegardes dans un stockage compatible S3
- La page « Destinations »
- Renouveler les identifiants d’une destination
- Vérifier les sauvegardes d’une destination et nettoyer les restes
Sur la ligne de commande
WP-CLI pas encore installé ? Voici comment installer WP-CLI.
La ligne de commande n’accepte pas la clé secrète ; tu configures donc une destination de type Amazon S3 sur la page Destinations. Tout le reste fonctionne aussi avec WP-CLI :
# Afficher les destinations avec identifiant et état wp cloneworx-backup target list # Tester la connexion wp cloneworx-backup target test amazon-s3-1 # Créer un plan de sauvegarde qui sauvegarde vers cette destination wp cloneworx-backup plan add --targets=amazon-s3-1 --rhythm=daily --time=03:15 --name="Nachts" # Vérifier les sauvegardes de cette destination wp cloneworx-backup target check amazon-s3-1 # Afficher les restes et les envois inachevés (--dry-run) et nettoyer wp cloneworx-backup target cleanup amazon-s3-1 --dry-run wp cloneworx-backup target cleanup amazon-s3-1