Türchen #21: AWS Database Migration Service
Von Dirk Piethan am 21. Dezember 2019
AWS Database Migration Service
Heute möchten wir ein Thema besprechen, welches letztlich eine der wertvollsten Ressourcen eines Unternehmens betrifft, und zwar Eure Datenbanken. Diese stehen oft still da und verrichten fleißig ihren Dienst. Es wundert daher nicht, dass viele rätseln, wie diese zu einem Cloud Provider umziehen soll.
Genau hier hat Amazon ein schönes Tool zurhand, den Database Migration Servives (DMS). Diese Unterstützung hilft dir bei der Migration der Datenbanken. Genau genommen besteht der Dienst aus mehrenen Services, die wir nun vorstellen wollen.
Schema Convertion Tool
Die wichtigste Fragestellung vor einer Datenbankmigration ist immer, ob und wie die beiden Datenbanksysteme zu einander kompatibel sind, und wie eine Anpassung möglich ist. Das Schema Convertion Tool hat sich dies zur Aufgabe gemacht, es analysiert die Quelldatenbank und vergleicht diese mit der Zieldatenbank. Dabei werden Änderungsvorschläge erstellt und eventuelle Hindernisse aufgelistet. Wir sind uns sicherlich einig, dass dies einer der wichtigsten Schritte ist bei der Datenbank Migration, weil hier Stolpersteine gelöst werden können und der Erfolg einer Migration gesteigert wird.
Aufbau der benötigten Dienste
Wenn eine Migration der Systeme möglich ist, und die Datenbankschematas angepasst sind, kann der Aufbau der Datenbank und des Database Migration Services beginnen. Als Voraussetzung ist hierbei eine stabile VPN Site-2-Site Verbindung, da sonst eine
Kommunikation zwischen den Systemen nicht möglich ist. (Der AWS DMS kann auch über öffentliche IPs arbeiten, aber davon ist abzuraten.)
Die zentrale Komponente ist in diesem Fall die Replikation Instanz, diese benötigt einen Source Endpoint und einen Target Endpoint, um die Verbindungen zu den Datenbanken aufzubauen. Dabei sind die Anforderungen an den jeweiligen Datebankbenutzer der Dokumentation zu entnehmen.
Eine weitere Komponente ist der Replication Task, dieser beschreibt den eigentlichen Migrationsprozess, also wie die Replikation mit dem Datenbankschema umgehen soll, ob die Tabellen geändert oder neu angelegt werden dürfen, aber auch ob die Tabellen zuvor geleert werden. Zusätzlich können Tabellen und Spalten von der Replikation ausgeschlossen werden. Im Anschluss kann nach jedem Import noch das Ergebnis validiert werden.
Einschränkungen
AWS RDS Datenbanken sind kompatibel zu den On Premises Produkten, jedoch gibt es dort Einschränkungen was Plugins oder Systemtabellen betrifft. Dies ruht darin, dass AWS die Stabilität der Dienste gewährleisten muss, sodass Änderungen durch einen AWS Account nicht möglich ist.