Quelle est la méthode recommandée pour la sauvegarde d'une base de données RDS MySQL / Amazon S3?

dba.stackexchange https://dba.stackexchange.com/questions/11396

Question

J'ai deux raisons pour cela:

  1. Pour avoir une sauvegarde hors site en cas d'une région vaste problème avec Amazon Web Services.
  2. Pour copier des données de production à partir d'un compte de facturation de la production à un compte de facturation bêta.

À l'heure actuelle, il ne semble pas compatible Amazon ou l'autre de ces deux cas d'utilisation de la boîte.

J'ai vu mysqldump et xtrabackup (voir post ) mentionné.

J'ai vu aussi un processus plus compliqué (documenté )

  1. Un nouveau serveur RDS dans le compte de facturation de la source (prod) est filé au large d'une sauvegarde récente.
  2. Une nouvelle instance EC2 est ahurissant, qui a accès au serveur RDS à l'étape 1.
  3. mysqldump est utilisé pour faire une sauvegarde de cette base de données.
  4. La sauvegarde est copié vers un emplacement hors site (S3?).
  5. Dans un compte distinct et / ou d'une région, un serveur frais RDS est mis en rotation vers le haut.
  6. vidage de la base de données est importé.

Conseils et suggestions sont appréciés.

Était-ce utile?

La solution

La méthode recommandée pour sauvegarder est RDS avec sauvegardes automatiques et DB instantanés . DB instantanés sont fondamentalement les mêmes que les instantanés EBS, qui sont stockés dans S3 dans les coulisses, mais ne sont disponibles que dans la même région.

Si vous avez besoin de tolérance croisée région défaut (bon plan!), Il n'y a aucun moyen de restaurer vos données dans une autre région sans le faire « à la dure » d'un mysqldump. Vos alternatives doivent sauvegarder à l'aide mysqldump (lente et terrible pour tout ensemble de données de taille raisonnable), ou créer votre propre esclave basé EC2 dans une autre région et qui le prouvent en utilisant toute méthode disponible (xtrabackup, instantanés EBS, etc.). Cependant, vous êtes de retour à la gestion de vos propres instances de MySQL, vous pourriez aussi bien abandonner RDS entièrement.

Pour mon argent, RDS fournit absolument aucun avantage en aucune façon vraiment et beaucoup d'inconvénients dans la performance, la flexibilité et la fiabilité. Je vous demande quelle valeur offre RDS vous.

Autres conseils

J'ai eu le même problème. Ma solution a été d'écrire un script bash simple, . Elle est limitée à une seule région cependant.

Voici le script en question:

#!/bin/bash
NOWDATE=`date +%Y-%m-%d`
BACKUPNAME="$NOWDATE.sql.gz"

echo "Creating backup of database finances to $BACKUPNAME"
mysqldump –user=user –password=password database_name | gzip -9 > $BACKUPNAME

echo "Succesfully created database backup"

echo "Uploading backup to Amazon S3 bucket…"
s3cmd put $BACKUPNAME s3://path/to/file/$BACKUPNAME

echo "Successfully uploaded backup to S3"

echo "Deleting backup file…"
rm $BACKUPNAME

echo "Done"

AWS RDS prend désormais en charge inter-région et multicomptes copie des instantanés qui vous permettra de réaliser vos objectifs tout simplement en utilisant RDS.

Vous avez encore d'utiliser une méthode de script de vidage pour obtenir des sauvegardes à S3 à ce stade. La possibilité d'utiliser S3-IA ou Glacier serait bien en termes d'économies de coûts que les coûts de sauvegarde RDS sont à la norme S3 ou plus (varient db).

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top