2016-04-20 7 views

Antwort

12

Mit RDS können Sie die Menge an Speicher, die einer Datenbankinstanz zugewiesen ist, nicht reduzieren, sondern nur erhöhen.

Um Ihre Datenbank auf weniger Speicher zu verschieben, müssten Sie eine neue RDS-Instanz mit dem gewünschten Speicherplatz erstellen und dann mit pg_dump/pg_restore die Daten von der alten zur neuen Datenbank verschieben.

Beachten Sie auch, dass eine RDS-Instanz mit 1.000 GB SSD-Speicher eine Basis-IOPS von 3.000 hat. Eine RDS-Instanz mit 100 GB SSD-Speicher hat eine Basis-IOPS von 300, mit gelegentlichen Bursts von bis zu 3.000.

4

Bei der Verwendung von RDS müssen Sie, anstatt die übliche Hardwareplanung zu verwenden, nur kurz genug Speicherplatz für kurze oder mittlere Zeiträume bereitstellen (abhängig davon) und bei Bedarf erweitern.

Wie @Mark B erwähnt, müssen Sie die IOPS auch überwachen. Sie können "bereitgestellte IOPS" verwenden, wenn Sie eine Hochleistungs-DB benötigen.

Sie sollten Sie Kosten vs Leistungsanpassung vor dem Sprung in den Speicherplatz Speicherplatz machen. Zum Beispiel Wenn Sie 1000GB auf 120GB reduzieren, sparen Sie 0,125x880GB = 110/Monat. Aber die maximale IOPS beträgt 120x 3 = 360IOPS

Es kostet Sie 0,10 $, zusätzliche IOPS bereitzustellen, um die Leistung zu erhöhen. Sagen Sie, wenn Sie tatsächlich 800 IOPS für eine höhere Online-Benutzerreaktion benötigen,
(800-360) x 0,10 = $ 44. So kann die tatsächliche Einsparung letztendlich "weniger" sein. Sie sparen kein Geld, wenn Ihr RDS konstant 1100 IOPS benötigt. Und auch andere Rabattfaktoren können ins Spiel kommen.

9

Basierend auf AWS Hilfe here, ist dies der vollständige Prozess, der für mich gearbeitet:

1) die Datenbank auf eine Datei Dump: Das auf einem Computer ausführen, die den Netzwerkzugriff auf die Datenbank hat: pg_dump -Fc -v -h your-rds-endpoint.us-west-2.rds.amazonaws.com -U your-username your-databasename > your-databasename.dump

2) Erstellen Sie in der AWS-Konsole eine neue RDS-Instanz mit einem kleineren Speicher. (Wahrscheinlich möchten Sie den Benutzernamen, das Kennwort und den Datenbanknamen festlegen.)

3) Datenbank auf der neuen RDS-Instanz wiederherstellen: Führen Sie diesen Befehl aus (offensichtlich auf demselben Computer wie der vorherige Befehl)):.. pg_restore -v -h the-new-rds-endpoint.us-west-2.rds.amazonaws.com -U your-username -d your-databasename your-databasename.dump

(Hinweis, der in Schritt 3, dass ich den Endpunkt der neuen RDS-Instanz bin mit beachten Sie auch am Ende der Endpunktadressen gibt es keine :5432)

2

Amazon nicht Um die Größe der Festplatte der RDS-Instanz zu reduzieren, können Sie zwei Optionen haben, um die Speichergröße zu reduzieren.

1: -wenn Sie sich Ausfallzeiten leisten können, kann mysqldump Backup der alten Instanz in neue Instanz mit geringerer Speichergröße wiederhergestellt werden.

2: - Sie können den Datenbankmigrationsdienst verwenden, um Daten ohne Ausfallzeit von einer Instanz zu einer anderen Instanz zu verschieben.

+0

Vielen Dank, dass Sie den Datenbankmigrationsdienst vorgeschlagen haben. Es funktionierte fast für mich - bis ich entdeckte, dass es (derzeit) keine korrekte Migration von JSON- oder JSONB-Spalten unterstützt :-( –

Verwandte Themen