Heim > Datenbank > MySQL-Tutorial > Hauptteil

Migration zu Amazon RDS

DDD
Freigeben: 2024-09-18 20:06:37
Original
484 Leute haben es durchsucht

Migrating to Amazon RDS

Ein Labor zur Migration zu Amazon RDS umfasst normalerweise die Übertragung einer vorhandenen lokalen oder in der Cloud gehosteten Datenbank zum Relational Database Service (RDS) von Amazon. Ziel ist es, die betriebliche Belastung durch die Verwaltung von Datenbanken zu reduzieren, indem der verwaltete Service von AWS für automatisierte Backups, Patches, Überwachung und Skalierung genutzt wird.

Ziel:

  • Erstellen Sie eine Amazon RDS MariaDB-Instanz mithilfe der AWS CLI.
  • Migrieren Sie Daten aus einer MariaDB-Datenbank auf einer EC2-Instanz zu einer Amazon RDS MariaDB-Instanz.
  • Überwachen Sie die Amazon RDS-Instanz mithilfe von Amazon CloudWatch-Metriken.

Zusammenfassung:

  • Erstellen einer Amazon RDS-Instanz mithilfe der AWS CLI
  • Anwendungsdaten zur Amazon RDS-Instanz migrieren
  • Konfigurieren der Website für die Verwendung der Amazon RDS-Instanz
  • Überwachung der Amazon RDS-Datenbank

Die Anwendungsdatenbank wird zusammen mit dem Anwendungscode in einer Amazon Elastic Compute Cloud (Amazon EC2) Linux-, Apache-, MySQL- und PHP-Instanz (LAMP) ausgeführt. Die Instanz ist vom Typ T3 Small Instance und wird in einem öffentlichen Subnetz ausgeführt, sodass Internet-Clients auf die Website zugreifen können. Eine CLI-Host-Instanz befindet sich im selben Subnetz, um die Verwaltung der Instanz mithilfe der AWS Command Line Interface (AWS CLI) zu erleichtern.

Erstellen einer Amazon RDS-Instanz mithilfe der AWS CLI:

  • Konfigurieren Sie die AWS CLI.
  • Erstellen Sie die folgenden erforderlichen Komponenten, die zum Erstellen der Amazon RDS-Instanz erforderlich sind:
  • Eine Sicherheitsgruppen-Firewall für die Amazon RDS-Instanz
  • Zwei private Subnetze und eine Datenbank-Subnetzgruppe
  • Erstellen Sie die Amazon RDS MariaDB-Instanz.
  • Geben Sie in der Suchleiste der AWS-Managementkonsole EC2 ein und wählen Sie es aus, um die EC2-Managementkonsole zu öffnen.
  • Wählen Sie im Navigationsbereich „Instanzen“ aus.
  • Wählen Sie aus der Liste der Instanzen die CLI-Host-Instanz aus.
  • Wählen Sie „Verbinden“.
  • Wählen Sie auf der Registerkarte „EC2 Instance Connect“ die Option „Connect“ aus.
  • Um das AWS CLI-Profil mit Anmeldeinformationen einzurichten, führen Sie im EC2 Instance Connect-Terminal den folgenden Befehl aus: „aws configure“
  • Geben Sie den Zugangsschlüssel und den geheimen Zugangsschlüssel des Benutzers ein.
  • Sicherheitsgruppe erstellen: CafeDatabaseSG einrichten, um die RDS-Instanz zu schützen.
  • Eingehende Regel hinzufügen: Nur MySQL-Anfragen (TCP-Protokoll, Port 3306) von Instanzen in CafeSecurityGroup zulassen.
  • Private Subnetze erstellen: Richten Sie zwei private Subnetze ein (CafeDB Private Subnet 1 und CafeDB Private Subnet 2).
  • Datenbank-Subnetzgruppe erstellen: Definieren Sie eine CafeDB-Subnetzgruppe für RDS und verknüpfen Sie sie mit den privaten Subnetzen.
  • CafeDatabaseSG-Sicherheitsgruppe erstellen: Befehl ausführen: aws ec2 create-security-group --group-name CafeDatabaseSG --description „Sicherheitsgruppe für Cafe-Datenbank“ --vpc-id

Ausgabe: Notieren Sie sich die GroupId für die zukünftige Verwendung.

  • Eingehende Regel für CafeDatabaseSG erstellen:
    Befehl ausführen:
    aws ec2 Authorize-Security-Group-Ingress
    --group-id
    --protocol tcp --port 3306
    --source-group

  • Eingehende Regel überprüfen:
    Befehl ausführen:
    aws ec2 beschreiben-sicherheitsgruppen
    --query „SecurityGroups[*].[GroupName,GroupId,IpPermissions]“
    --filters "Name=Gruppenname,Values='CafeDatabaseSG'"

  • Erstellen Sie das private CafeDB-Subnetz 1
    Befehl ausführen:
    aws ec2 create-subnet
    --vpc-id
    --cidr-block 10.200.2.0/23
    --availability-zone

Ausgabe: Notieren Sie sich die SubnetId für die zukünftige Verwendung.

  • Erstellen Sie das private CafeDB-Subnetz 2
    Befehl ausführen:
    aws ec2 create-subnet
    --vpc-id
    --cidr-block 10.200.10.0/23
    --availability-zone
    Ausgabe: Notieren Sie sich die SubnetId für die zukünftige Verwendung.

  • DB-Subnetzgruppe erstellen
    Befehl ausführen:
    aws rds create-db-subnet-group
    --db-subnet-group-name „CafeDB-Subnetzgruppe“
    --db-subnet-group-description „DB-Subnetzgruppe für Cafe“
    --subnet-ids
    --tags "Key=Name,Value= CafeDatabaseSubnetGroup"

  • Erstellen Sie die CafeDBInstance

Führen Sie den folgenden Befehl aus, um die MariaDB-Instanz mit der angegebenen Konfiguration zu erstellen:
Befehl ausführen:
aws rds create-db-instance
--db-instance-identifier CafeDBInstance
--engine mariadb
--engine-version 10.5.13
--db-instance-class db.t3.micro
--allocated-storage 20
--availability-zone
--db-subnet-group-name „CafeDB-Subnetzgruppe“
--vpc-security-group-ids
--no-publicly-accessible
--master-username root --master-user-password 'Re:Start!9'

Schlüsseleinstellungen:

  • DB-Instanz-ID: CafeDBInstance
  • Engine: MariaDB (Version 10.5.13)
  • Instanzklasse: db.t3.micro
  • Zugeordneter Speicher: 20 GB
  • Sicherheitsgruppe: CafeDatabaseSG
  • Benutzername: root
  • Passwort: Re:Start!9
    Die Erstellung der Datenbankinstanz kann bis zu 10 Minuten dauern.

  • Überwachen Sie den Status der DB-Instanz

Nachdem Sie den Erstellungsbefehl ausgeführt haben, überwachen Sie den Status der Datenbank, indem Sie den folgenden Befehl ausführen:
Befehl ausführen:

aws rds beschreiben-db-instanzen
--db-instance-identifier CafeDBInstance
--query „DBInstances[*].[Endpoint.Address,AvailabilityZone,PreferredBackupWindow,BackupRetentionPeriod,DBInstanceStatus]“

Was Sie beachten sollten: Der Befehl gibt Informationen wie die Endpunktadresse, die Verfügbarkeitszone, das Sicherungsfenster, den Aufbewahrungszeitraum und den Status der Instanz zurück.
Zunächst wird als Status „Wird erstellt“ angezeigt, dann wird der Status geändert, gesichert und schließlich „verfügbar“ angezeigt.

  • Führen Sie den Statusbefehl weiterhin alle paar Minuten aus, bis der Status der Datenbank „verfügbar“ anzeigt. Befehl ausführen: aws rds beschreiben-db-instanzen --db-instance-identifier CafeDBInstance --query „DBInstances[*].[DBInstanceStatus]“

Anwendungsdaten zur Amazon RDS-Instanz migrieren:

  • Stellen Sie eine Verbindung zur EC2-Instanz (CafeInstance) her
  • Führen Sie im Terminal den folgenden Befehl aus, um eine Sicherung der lokalen Datenbank „cafe_db“ zu erstellen:
    Befehl ausführen:
    mysqldump --user=root --password='Re:Start!9'
    --databases cafe_db --add-drop-database > cafedb-backup.sql

  • Überprüfen Sie die Sicherungsdatei
    Sie können den Inhalt des Backups mit dem Befehl less überprüfen:
    Befehl ausführen:
    weniger cafedb-backup.sql

Verwenden Sie die Pfeiltasten oder Bild auf/ab zum Navigieren und q zum Beenden.

  • Stellen Sie das Backup in der Amazon RDS-Datenbank wieder her
    Führen Sie den folgenden Befehl aus, um die Sicherung auf der RDS-Instanz wiederherzustellen. Ersetzen Sie ihn durch Ihren tatsächlichen RDS-Instanzendpunkt:
    Befehl ausführen
    mysql --user=root --password='Re:Start!9'
    --host=
    < cafedb-backup.sql

  • Überprüfen Sie die Datenmigration
    Öffnen Sie eine interaktive MySQL-Sitzung zur RDS-Instanz:
    Befehl ausführen:
    mysql --user=root --password='Re:Start!9'
    --host=
    cafe_db

Überprüfen Sie in der MySQL-Sitzung die Daten in der Produkttabelle, indem Sie die folgende SQL-Abfrage ausführen:
sql
Befehl ausführen:
* aus Produkt auswählen;

Stellen Sie sicher, dass die zurückgegebenen Daten mit der Originaldatenbank übereinstimmen.

  • Beenden Sie die MySQL-Sitzung Nachdem Sie die Daten überprüft haben, beenden Sie die MySQL-Sitzung, indem Sie Folgendes eingeben: Befehl ausführen beenden

Hinweis: Lassen Sie das SSH-Fenster für zukünftige Aufgaben geöffnet.

Konfigurieren der Website für die Verwendung der Amazon RDS-Instanz

  • Öffnen Sie AWS Systems Manager
    Suchen Sie in der AWS-Managementkonsole in der Suchleiste nach Systems Manager.
    Navigieren Sie zum Systemmanager.

  • Zugriff auf den Parameterspeicher
    Wählen Sie im linken Navigationsbereich Parameter Store.

  • Bearbeiten Sie den /cafe/dbUrl-Parameter
    Wählen Sie aus der Liste „Meine Parameter“ die Option /cafe/dbUrl.
    aus Wählen Sie Bearbeiten, um den Parameterwert zu ändern.

  • Aktualisieren Sie die Datenbank-URL
    Ersetzen Sie auf der Seite „Parameterdetails“ den vorhandenen Wert durch die Endpunktadresse der RDS-Instanzdatenbank.
    Das Format sollte wie folgt aussehen:
    Befehl ausführen:

cafedbinstance.xxxxxxx.us-west-2.rds.amazonaws.com

Klicken Sie auf Änderungen speichern, um den Parameter zu aktualisieren.

  • Testen Sie die Website

Öffnen Sie ein neues Browserfenster und fügen Sie die CafeInstanceURL ein, die Sie zuvor gespeichert haben (z. B. http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com).
Die Homepage der Café-Website sollte geladen werden.

  • Überprüfen Sie die Datenbankverbindung Gehen Sie auf der Website zur Registerkarte „Bestellverlauf“. Überprüfen Sie die Anzahl der angezeigten Bestellungen. Sie sollte mit der Nummer aus der lokalen Datenbank vor der Migration übereinstimmen.

Überwachung der Amazon RDS-Datenbank

  • Öffnen Sie die Amazon RDS-Konsole
    Suchen Sie in der AWS-Managementkonsole nach RDS.
    Gehen Sie zur RDS-Verwaltungskonsole.

  • Wählen Sie die Datenbank aus
    Wählen Sie im linken Navigationsbereich „Datenbanken“ aus.
    Wählen Sie aus der Liste „cafedbinstance“ aus.
    Sie sehen nun detaillierte Informationen zur Datenbank.

  • Überwachungsmetriken anzeigen
    Klicken Sie auf die Registerkarte Überwachung.
    Auf dieser Registerkarte werden wichtige Kennzahlen angezeigt, darunter:

  1. CPUUtilization
  2. Datenbankverbindungen
  3. FreeStorageSpace
  4. FreeableMemory
  5. IOPS schreiben
  6. ReadIOPS
  • Datenbankverbindungsmetrik überwachen
    Suchen Sie nach dem DatabaseConnections-Diagramm. Gehen Sie bei Bedarf zu Seite 2 oder 3 der Metrikdiagramme.
    Dieses Diagramm verfolgt die Anzahl der aktiven Datenbankverbindungen.

  • Stellen Sie eine Verbindung zur RDS-Datenbank her
    Führen Sie im CafeInstance-Terminalfenster den folgenden Befehl aus, um eine MySQL-Sitzung zu öffnen:
    Befehl ausführen
    mysql --user=root --password='Re:Start!9'
    --host=
    cafe_db

Ersetzen Sie ihn durch Ihren RDS-Instanzendpunkt.

  • Führen Sie eine SQL-Abfrage aus Führen Sie innerhalb der MySQL-Sitzung die folgende SQL-Abfrage aus, um Daten aus der Produkttabelle abzurufen: sql Befehl ausführen: * aus Produkt auswählen;

Die Abfrage sollte die Daten aus der Produkttabelle zurückgeben.

  • Überprüfen Sie das DatabaseConnections-Diagramm
    Klicken Sie in der RDS-Konsole auf das Diagramm „DatabaseConnections“.
    Sie sollten jetzt 1 aktive Verbindung aus der interaktiven SQL-Sitzung sehen.
    Wenn das Diagramm nicht aktualisiert wird, warten Sie 1 Minute und klicken Sie auf Aktualisieren.

  • Schließen Sie die MySQL-Sitzung
    Beenden Sie im CafeInstance-Terminalfenster die MySQL-Sitzung:

Befehl ausführen
beenden

  • Überwachen Sie die Verbindungen nach dem Trennen
    Warten Sie 1 Minute und aktualisieren Sie dann das DatabaseConnections-Diagramm in der RDS-Konsole.
    Die Anzahl der Verbindungen sollte jetzt 0 sein.

  • Erkunden Sie andere Metriken
    Sie können zusätzliche Metriken wie CPUUtilization, FreeStorageSpace, WriteIOPS und ReadIOPS erkunden, indem Sie deren Diagramme auf der Registerkarte „Überwachung“ überprüfen.

Das obige ist der detaillierte Inhalt vonMigration zu Amazon RDS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!