Frage

Ich habe zwei Zwecke dafür:

  1. Eine Offsite -Sicherung im Falle eines regionalen Problems mit Amazon -Webdiensten zu haben.
  2. Kopieren von Produktionsdaten von einem Produktionsrechnungskonto auf ein Beta -Billing -Konto.

Derzeit scheint es nicht, dass Amazon einen dieser beiden Anwendungsfälle unterstützt.

Ich habe Mysqldump und xtrabackup gesehen (siehe bilden Post) erwähnt.

Ich habe auch einen komplizierteren Prozess gesehen (dokumentiert hier)

  1. Ein neuer RDS -Server auf dem Quell -Billing -Konto (prod) wird kürzlich von einer kürzlich durchgeführten Backup ausgedacht.
  2. Eine neue EC2 -Instanz ist aufgerechnet, die in Schritt 1 Zugriff auf den RDS -Server hat.
  3. MySQldump wird verwendet, um eine Sicherung dieser Datenbank zu erstellen.
  4. Backup wird an einen Offsite -Ort (S3?) Kopiert.
  5. In einem separaten Konto und/oder einer separaten Region wird ein frischer RDS -Server angezeigt.
  6. Der Datenbank -Dump wird importiert.

Tipps und Vorschläge werden geschätzt.

War es hilfreich?

Lösung

Die empfohlene Art, RDS zu sichern Automatische Backups und DB -Schnappschüsse. DB -Schnappschüsse sind im Grunde genommen die gleichen wie EBS -Snapshots, die in S3 hinter den Kulissen gespeichert sind, aber nur innerhalb derselben Region verfügbar sind.

Wenn Sie eine Cross-Region-Fehlertoleranz (guter Plan!) Benötigen, gibt es keine Möglichkeit, Ihre Daten wiederherzustellen eine andere Region Ohne es "auf die harte Tour" von einem MySQLDump zu tun. Ihre Alternativen sind es, MySQLDump (langsam und schrecklich für einen Datensatz für angemessene Größe) zu unterstützen oder Ihren eigenen EC2-basierten Slave in einer anderen Region einzurichten und diese mit jeder verfügbaren Methode (XtraBackup, EBS-Snapshots usw.) zu unterstützen. Dann können Sie jedoch Ihre eigenen MySQL -Instanzen verwalten, also können Sie RDS genauso gut aufgeben.

Für mein Geld bietet RDS absolut keine Vorteile in ganz und in keiner Weise und viele Nachteile in Bezug auf Leistung, Flexibilität und Zuverlässigkeit. Ich würde mich fragen, welchen Wert RDS Ihnen bietet.

Andere Tipps

Ich hatte das gleiche Problem. Meine Lösung war es, a zu schreiben Einfaches Bash -Skript. Es ist jedoch auf eine einzelne Region beschränkt.

Hier ist das fragliche Skript:

#!/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 unterstützt jetzt Cross-Region und Cross-Account Kopieren von Schnappschüssen Auf diese Weise können Sie Ihre Ziele einfach mit RDS vervollständigen.

Sie müssen noch eine Dump -Skript -Methode verwenden, um an diesem Punkt Sicherungen auf S3 zu bringen. Die Fähigkeit, S3-IA oder Gletscher zu verwenden, wäre in Bezug auf die Kosteneinsparungen gut, da die RDS-Sicherungskosten bei S3 Standard oder höher (variieren nach DB).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top