Au début, cela peut sembler un peu paradoxal; après tout, S3 est généralement utilisé comme sauvegarde pour d'autres services. Cependant, il ne protège pas contre les suppressions ou les écrasements accidentels, et pour les données critiques, vous pouvez payer un supplément pour que le bucket soit répliqué dans toutes les régions.
Empêcher la suppression accidentelle avec la gestion des versions d'objets
Précisons d'abord une chose: les données dans S3 sont incroyablement sûres. Il est utilisé pour les sauvegardes, il n’a donc pas beaucoup de sens de sauvegarder votre sauvegarde à moins que vous ne soyez vraiment paranoïaque à propos de la perte de vos données.
Et si les données S3 sont définitivement à l'abri des pannes de disques individuelles dues au RAID et à d'autres sauvegardes, elles sont également à l'abri des scénarios de catastrophe tels que les pannes généralisées ou les pannes d'entrepôt. Contrairement aux volumes de données sauvegardés sur EBS, qui sont stockés au même endroit et peuvent échouer complètement, S3 «sauvegarde déjà vos données». Les données dans S3 sont stockées dans au moins trois zones de disponibilité, ce qui signifie que même dans le cas où l'une d'elles brûle, vous avez toujours deux sauvegardes supplémentaires.
Ce dont S3 ne vous protège pas, c'est toi même. Il est beaucoup, beaucoup plus probable que vous, ou une autre personne ayant accès, supprimiez accidentellement quelque chose ou écrasiez un objet important par des données inutiles. C'est le scénario qui devrait vous inquiéter.
Pour se protéger contre cela, S3 dispose d'une fonctionnalité appelée gestion des versions d'objets. Il stocke chaque version différente de chaque objet, donc si vous l'écrasez accidentellement, vous pouvez restaurer une version précédente. Vous pouvez également récupérer les versions précédentes à tout moment en passant cela en paramètre à la requête GET.
Lorsque la gestion des versions est activée, plutôt que de supprimer des objets directement, S3 marque l'objet avec un "marqueur de suppression" qui le fait agir comme s'il avait disparu, mais dans le cas où vous n'aviez pas l'intention de le supprimer, il est réversible.
Avec une politique de cycle de vie en place (plus d'informations ci-dessous), la gestion des versions de bucket ne devrait pas coûter beaucoup plus cher car les anciennes versions ne seront pas stockées longtemps. Il est désactivé par défaut, mais Amazon et nous vous recommandons de l'activer si vous pouvez épargner l'augmentation du stockage.
Pour l'activer, ouvrez les paramètres du bucket, cliquez sur "Propriétés", puis sur "Modifier" dans Contrôle de version du bucket.
De là, vous pouvez simplement l'activer.
Enregistrer votre portefeuille avec les règles du cycle de vie
Bien sûr, le stockage de plusieurs copies d’objets utilise beaucoup plus d’espace, surtout si vous écrasez fréquemment des données. Vous n'avez probablement pas besoin de stocker ces anciennes versions pour le reste de l'éternité, vous pouvez donc rendre service à votre portefeuille en définissant une règle de cycle de vie qui supprimera les anciennes versions après un certain temps.
Sous Gestion> Configuration du cycle de vie, ajoutez une nouvelle règle. Les deux options disponibles sont de déplacer d'anciens objets vers un niveau d'accès peu fréquent ou de les supprimer définitivement après
Si vous craignez d'avoir raté le clic et que cette règle va supprimer les données de travail, vous verrez en bas que les actions de la règle ne s'appliquent que 30 jours après qu'un objet est devenu non courant. Aucune règle ne supprime définitivement les données de travail, ne fait qu’expirer, ce qui est récupérable.
Répliquer le bucket dans toutes les régions
Si vous souhaitez vraiment sauvegarder l'intégralité du compartiment S3, vous pouvez le faire avec un autre compartiment et une règle de réplication. Cette règle répliquera automatiquement toutes les actions du bucket cible.
Vous pouvez le configurer à partir de l'onglet «Réplication» sous «Gestion».
Définissez la configuration source (soit l'ensemble du compartiment ou un préfixe / balise) et définissez le compartiment cible:
Vous devrez créer un rôle IAM pour la réplication; S3 gérera la configuration, donnez-lui simplement un nom.
Cliquez sur "Suivant", puis sur "Enregistrer". La règle doit être active immédiatement; vous pouvez tester le téléversement d'un objet, et vous devriez le voir répliqué dans le bucket de destination, puis vous verrez la balise d'état de réplication changer en TERMINÉ
.