Fermer

mars 5, 2025

Automatisation de la sauvegarde et restaurez avec le service de sauvegarde AWS à l’aide de Python / Blogs / Perficient

Automatisation de la sauvegarde et restaurez avec le service de sauvegarde AWS à l’aide de Python / Blogs / Perficient


La protection des données est vitale pour toute organisation, et AWS Backup Service propose une solution centralisée et automatisée pour sauvegarder vos ressources AWS. Ce blog examinera comment automatiser les opérations de sauvegarde et de restauration à l’aide de la sauvegarde AWS et de Python, garantissant que vos données restent sécurisées et récupérables.

Pourquoi nous utilisons le service de sauvegarde AWS

Les processus de sauvegarde manuels peuvent être sujets aux erreurs et longs. AWS Backup rationalise et centralise nos tâches de sauvegarde, offrant une protection cohérente entre les services AWS comme EC2, RDS, DynamoDB, EFS, etc. En tirant parti de Python pour gérer la sauvegarde AWS, nous pouvons réaliser une automatisation supplémentaire, nous intégrer à d’autres systèmes et personnaliser des solutions pour répondre à nos besoins commerciaux.

Comment ça marche

AWS Backup nous permet de configurer des politiques de sauvegarde et des horaires via les plans de sauvegarde. Ces plans déterminent le calendrier et la fréquence des sauvegardes et leur durée de rétention. En utilisant des scripts Python, nous pouvons créer, gérer et surveiller ces opérations de sauvegarde à l’aide du SDK AWS pour Python, Boto3.

Condition préalable

Avant de commencer, nous devons avoir:

  1. Un compte AWS.
  2. Connaissance de base de la programmation Python.
  3. AWS CLI installé et configuré.
  4. Bibliothèque Boto3 installée dans votre environnement Python.

Automatisation de sauvegarde / restauration avec une sauvegarde AWS

Étape 1: Configurez la sauvegarde AWS

Pour commencer, nous nous connectons à la console de gestion AWS et naviguons vers le service de sauvegarde AWS. Une fois sur place, nous créons un nouveau coffre-fort de sauvegarde pour servir d’emplacement de stockage désigné pour nos sauvegardes. Après avoir mis en place le coffre-fort, l’étape suivante consiste à définir un plan de sauvegarde. Ce plan devrait clairement spécifier les ressources AWS que nous avons l’intention de sauvegarder, ainsi que décrire le calendrier de sauvegarde et la période de rétention pour chaque sauvegarde. En suivant ces étapes, nous organisons et automatisons efficacement notre stratégie de protection des données dans AWS.

Étape 2: Écrivez des scripts Python pour l’automatisation de la sauvegarde

Pour automatiser nos sauvegardes d’instance EC2 à l’aide de la sauvegarde AWS avec Python, nous commençons par installer la bibliothèque Boto3 avec PIP installer Boto3 et configurer nos informations d’identification AWS dans ~ / .AWS / Identials. À l’aide de Boto3, nous nous connectons au service de sauvegarde AWS et définissons un plan de sauvegarde avec le calendrier et la politique de rétention souhaités. Nous attribuons ensuite l’instance EC2 à ce plan en spécifiant son ARN. Enfin, nous exécutons le script Python pour créer le plan de sauvegarde et associons l’instance, automatisant efficacement le processus de sauvegarde.

Trouvez le code complet ici.

import boto3
from botocore.exceptions import ClientError
def start_backup_job(instance_arn):
    client = boto3.client('backup', region_name="eu-west-1") # Ensure the correct region

Après avoir exécuté le code, nous obtiendrons la sortie comme ci-dessous.

1

Nous pouvons voir l’ID de travail déclenché via le code dans la console de travail de sauvegarde AWS.

2

Étape 3: Automatiser les opérations de restauration:

Pour automatiser nos opérations de restauration pour une instance EC2 à l’aide de la sauvegarde AWS avec Python, nous commençons par utiliser la bibliothèque Boto3 pour se connecter au service de sauvegarde AWS. Une fois connecté, nous récupérons les points de récupération de sauvegarde pour notre instance EC2 et sélectionnons le point de récupération approprié en fonction de nos exigences de restauration. Nous entamons ensuite un travail de restauration en spécifiant le point de récupération de l’instance restaurée et la cible souhaitée. En scriptant ce processus, nous pouvons restaurer automatiquement les instances EC2 à un état précédent, rationaliser nos efforts de reprise après sinistre et minimiser les temps d’arrêt.

Trouvez le code complet ici.

import boto3
from botocore.exceptions import ClientError
def restore_backup(recovery_point_arn):
    client = boto3.client('backup', region_name="eu-west-1")

Après avoir exécuté le code, nous obtiendrons la sortie comme ci-dessous.

3

Nous pouvons voir l’ID de travail déclenché via le code dans AWS Restore Console de travail.

4

Une fois le travail de restauration terminé, nous pouvons naviguer vers la région EC2 et voir une nouvelle instance EC2 lancée à l’aide du travail ci-dessous.

5

Étape 4: Surveiller et planifier

De plus, nous pouvons implémenter Amazon CloudWatch pour surveiller nos opérations de sauvegarde et de restauration en suivant les mesures clés. To automate these processes, we schedule our scripts to run automatically, using either cron jobs on our servers or AWS Lambda for serverless execution. Cette approche nous permet de rationaliser et de gérer efficacement nos activités de sauvegarde.

Conclusion

Nous améliorons notre stratégie de protection des données en automatisant les opérations de sauvegarde et de restauration à l’aide d’AWS Backup et Python. En tirant parti des capacités centralisées d’AWS Backup et du pouvoir d’automatisation de Python, nous assurons des sauvegardes cohérentes et fiables, ce qui nous permet de nous concentrer sur des initiatives plus stratégiques. Nous expérimentons diverses politiques de sauvegarde et étendons l’automatisation pour répondre aux besoins uniques de notre organisation.






Source link