Tutorial: Wiederherstellen eines DB-Clusters von Amazon Aurora aus einem DB-Cluster-Snapshot - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Wiederherstellen eines DB-Clusters von Amazon Aurora aus einem DB-Cluster-Snapshot

Bei der Arbeit mit Amazon Aurora ist häufig eine DB-Instance vorhanden, mit der Sie gelegentlich arbeiten, aber die Sie nicht ständig brauchen. Sie können beispielsweise einen DB-Cluster verwenden, um die Daten für einen Bericht zu speichern, den Sie nur vierteljährlich erstellen. Eine Möglichkeit, in einem solchen Szenario Geld zu sparen, besteht darin, nach Abschluss des Berichts einen DB-Cluster-Snapshot des DB-Clusters zu verwenden. Anschließend löschen Sie den DB-Cluster und stellen ihn wieder her, wenn Sie neue Daten hochladen und den Bericht im nächsten Quartal erstellen müssen.

Wenn Sie einen DB-Cluster wiederherstellen, können Sie den Namen des DB-Cluster-Snapshots für die Wiederherstellung angeben. Anschließend vergeben Sie einen Namen für den neuen DB-Cluster, der durch den Wiederherstellungsvorgang erstellt wird. Weitere Informationen zum Wiederherstellen von DB-Cluster aus Snapshots finden Sie unter Wiederherstellen aus einem DB-Cluster-Snapshot.

In diesem Tutorial führen wir ein Upgrade des wiederhergestellten DB-Clusters von Aurora MySQL Version 2 (mit MySQL 5.7 kompatibel) auf Aurora MySQL Version 3 (mit MySQL 8.0 kompatibel) durch.

Wiederherstellen eines DB-Clusters aus einem DB-Cluster-Snapshot über die Amazon-RDS-Konsole

Wenn Sie einen DB-Cluster aus einem Snapshot über die AWS Management Console wiederherstellen, wird auch die primäre (Writer-)DB-Instance erstellt.

Anmerkung

Während die primäre DB-Instance erstellt wird, erscheint sie als Reader-Instance, wird aber nach der Erstellung zur Writer-Instance.

So stellen Sie einen DB-Cluster aus einem DB-Cluster-Snapshot wieder her
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich die Option Snapshots.

  3. Wählen Sie den DB-Cluster-Snapshot für die Wiederherstellung aus.

  4. Wählen Sie in Actions (Aktionen) die Option Restore Snapshot (Snapshot wiederherstellen) aus.

    Option „Restore Snapshot“ (Snapshot wiederherstellen) im Menü „Actions (Aktionen)“ der RDS-Konsole

    Anschließend wird die Seite Restore snapshot (Snapshot wiederherstellen) angezeigt.

  5. Führen Sie unter DB instance settings (DB-Instance-Einstellungen) folgende Schritte aus:

    1. Verwenden Sie die Standardeinstellung für DB engine (DB-Engine).

    2. Wählen Sie für Available versions (Verfügbare Versionen) eine mit MySQL 8.0 kompatible Version aus, z. B. Aurora MySQL 3.02.0 (compatible with MySQL 8.0.23) (Aurora MySQL 3.02.0 (mit MySQL 8.0.23 kompatibel).

    Seite „Restore Snapshot“ (Snapshot wiederherstellen)
  6. Geben Sie unter Settings (Einstellungen) für DB cluster identifier (DB-Cluster-Kennung) den eindeutigen Namen ein, den Sie für den wiederhergestellten DB-Cluster verwenden möchten, zum Beispiel my-80-cluster.

  7. Verwenden Sie unter Connectivity (Konnektivität) die Standardeinstellungen für folgende Optionen:

    • Virtual Private Cloud (VPC)

    • DB subnet group (DB-Subnetzgruppe)

    • Öffentlicher Zugriff

    • VPC security group (firewall) (VPC-Sicherheitsgruppe (Firewall))

  8. Wählen Sie die DB instance class (DB-Instance-Klasse) aus.

    Wählen Sie für dieses Tutorial Burstable classes (includes t classes) (Burst-fähige Klassen (einschließlich t-Klassen)) und dann db.t3.medium aus.

    Anmerkung

    Wir empfehlen, die T-DB-Instance-Klassen nur für Entwicklungs- und Testserver oder andere Nicht-Produktionsserver zu verwenden. Weitere Einzelheiten zu den T-Instance-Klassen finden Sie unter DB-Instance-Klassenarten.

    Instance-Konfiguration
  9. Verwenden Sie für Database authentication (Datenbankauthentifizierung) die Standardeinstellung.

  10. Für Encryption (Verschlüsselung) verwenden Sie die Standardeinstellungen.

    Wenn der Quell-DB-Cluster für den Snapshot verschlüsselt wurde, wird der wiederhergestellte DB-Cluster ebenfalls verschlüsselt. Die Verschlüsselung kann nicht aufgehoben werden.

  11. Erweitern Sie Additional configuration (Zusätzliche Konfiguration) unten auf der Seite.

    Zusätzliche Konfiguration
  12. Nehmen Sie die folgenden Einstellungen vor:

    1. Verwenden Sie für dieses Tutorial den Standardwert für DB cluster parameter group (DB-Cluster-Parametergruppe).

    2. Verwenden Sie für dieses Tutorial den Standardwert für DB parameter group (DB-Parametergruppe).

    3. Aktivieren Sie für Log exports (Protokollexporte) alle Kontrollkästchen.

    4. Aktivieren Sie für Deletion protection (Löschschutz) das Kontrollkästchen Enable deletion protection (Löschschutz aktivieren).

  13. Klicken Sie auf Restore DB Instance (DB-Instance wiederherstellen).

Auf der Seite Databases (Datenbanken) wird der wiederhergestellte DB-Cluster mit dem Status Creating angezeigt.

Wiederhergestellter DB-Cluster auf der Seite „Database“ (Datenbanken)

Während die primäre DB-Instance erstellt wird, erscheint sie als Reader-Instance, wird aber nach der Erstellung zur Writer-Instance.

Wiederherstellen eines DB-Clusters aus einem DB-Cluster-Snapshot mithilfe der AWS CLI

Das Wiederherstellen eines DB-Clusters aus einem Snapshot mithilfe der AWS CLI erfolgt in zwei Schritten:

Wiederherstellen eines DB-Clusters

Verwenden Sie den Befehl restore-db-cluster-from-snapshot. Die folgenden Optionen sind erforderlich:

  • --db-cluster-identifier – Der Name des wiederhergestellten DB-Clusters.

  • --snapshot-identifier – Der Name des DB-Snapshots, der für die Wiederherstellung verwendet wird.

  • --engine – Die Datenbank-Engine des wiederhergestellten DB-Clusters. Sie muss mit der Datenbank-Engine des Quell-DB-Clusters kompatibel sein.

    Es stehen folgende Optionen zur Verfügung:

    • aurora-mysql – mit Aurora MySQL 5.7 und 8.0 kompatibel

    • aurora-postgresql – mit Aurora PostgreSQL kompatibel

    In diesem Beispiel verwenden wir aurora-mysql.

  • --engine-version – die Version des zu erstellenden DB-Clusters In diesem Beispiel verwenden wir eine mit MySQL 8.0 kompatible Version.

Im folgenden Beispiel wird ein mit Aurora MySQL 8.0 kompatibler DB-Cluster mit dem Namen my-new-80-cluster aus einem DB-Cluster-Snapshot namens my-57-cluster-snapshot wiederhergestellt.

So stellen Sie den DB-Cluster wieder her
  • Verwenden Sie einen der folgenden Befehle.

    Für Linux, macOSoder Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier my-new-80-cluster \ --snapshot-identifier my-57-cluster-snapshot \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0

    Windows:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier my-new-80-cluster ^ --snapshot-identifier my-57-cluster-snapshot ^ --engine aurora-mysql ^ --engine-version 8.0.mysql_aurora.3.02.0

Die Ausgabe sieht in etwa folgendermaßen aus.

{ "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "eu-central-1b", "eu-central-1c", "eu-central-1a" ], "BackupRetentionPeriod": 14, "DatabaseName": "", "DBClusterIdentifier": "my-new-80-cluster", "DBClusterParameterGroup": "default.aurora-mysql8.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "my-new-80-cluster.cluster-############.eu-central-1.rds.amazonaws.com", "ReaderEndpoint": "my-new-80-cluster.cluster-ro-############.eu-central-1.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "Port": 3306, "MasterUsername": "admin", "PreferredBackupWindow": "01:55-02:25", "PreferredMaintenanceWindow": "thu:21:14-thu:21:44", "ReadReplicaIdentifiers": [], "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "HostedZoneId": "Z1RLNU0EXAMPLE", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/#######-5ccc-49cc-8aaa-############", "DbClusterResourceId": "cluster-ZZ12345678ITSJUSTANEXAMPLE", "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:my-new-80-cluster", "AssociatedRoles": [], "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2022-07-05T20:45:42.171000+00:00", "EngineMode": "provisioned", "DeletionProtection": false, "HttpEndpointEnabled": false, "CopyTagsToSnapshot": false, "CrossAccountClone": false, "DomainMemberships": [], "TagList": [] } }

Erstellen der primären (Writer-)DB-Instance

Verwenden Sie den Befehl create-db-instance, um die primäre (Writer-)DB-Instance zu erstellen. Die folgenden Optionen sind erforderlich:

  • --db-cluster-identifier – Der Name des wiederhergestellten DB-Clusters.

  • --db-instance-identifier – Der Name der primären DB-Instance.

  • --db-instance-class – Die Instance-Klasse der primären DB-Instance. In diesem Beispiel verwenden wir db.t3.medium.

    Anmerkung

    Wir empfehlen, die T-DB-Instance-Klassen nur für Entwicklungs- und Testserver oder andere Nicht-Produktionsserver zu verwenden. Weitere Einzelheiten zu den T-Instance-Klassen finden Sie unter DB-Instance-Klassenarten.

  • --engine – Die Datenbank-Engine der primären DB-Instance. Es muss dieselbe Datenbank-Engine sein, die der wiederhergestellte DB-Cluster verwendet.

    Es stehen folgende Optionen zur Verfügung:

    • aurora-mysql – mit Aurora MySQL 5.7 und 8.0 kompatibel

    • aurora-postgresql – mit Aurora PostgreSQL kompatibel

    In diesem Beispiel verwenden wir aurora-mysql.

Im folgenden Beispiel wird eine primäre (Writer-)DB-Instance mit dem Namen my-new-80-cluster-instance im wiederhergestellten DB-Cluster, der mit Aurora MySQL 8.0 kompatibel ist, namens my-new-80-cluster erstellt.

So erstellen Sie die primäre DB-Instance
  • Verwenden Sie einen der folgenden Befehle.

    Für Linux, macOSoder Unix:

    aws rds create-db-instance \ --db-cluster-identifier my-new-80-cluster \ --db-instance-identifier my-new-80-cluster-instance \ --db-instance-class db.t3.medium \ --engine aurora-mysql

    Windows:

    aws rds create-db-instance ^ --db-cluster-identifier my-new-80-cluster ^ --db-instance-identifier my-new-80-cluster-instance ^ --db-instance-class db.t3.medium ^ --engine aurora-mysql

Die Ausgabe sieht in etwa folgendermaßen aus.

{ "DBInstance": { "DBInstanceIdentifier": "my-new-80-cluster-instance", "DBInstanceClass": "db.t3.medium", "Engine": "aurora-mysql", "DBInstanceStatus": "creating", "MasterUsername": "admin", "AllocatedStorage": 1, "PreferredBackupWindow": "01:55-02:25", "BackupRetentionPeriod": 14, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.aurora-mysql8.0", "ParameterApplyStatus": "in-sync" } ], "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-2305ca49", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1a" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1b" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1c" }, "SubnetOutpost": {}, "SubnetStatus": "Active" } ] }, "PreferredMaintenanceWindow": "sat:02:41-sat:03:11", "PendingModifiedValues": {}, "MultiAZ": false, "EngineVersion": "8.0.mysql_aurora.3.02.0", "AutoMinorVersionUpgrade": true, "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", "OptionGroupMemberships": [ { "OptionGroupName": "default:aurora-mysql-8-0", "Status": "in-sync" } ], "PubliclyAccessible": false, "StorageType": "aurora", "DbInstancePort": 0, "DBClusterIdentifier": "my-new-80-cluster", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:534026745191:key/#######-5ccc-49cc-8aaa-############", "DbiResourceId": "db-5C6UT5PU0YETANOTHEREXAMPLE", "CACertificateIdentifier": "rds-ca-2019", "DomainMemberships": [], "CopyTagsToSnapshot": false, "MonitoringInterval": 0, "PromotionTier": 1, "DBInstanceArn": "arn:aws:rds:eu-central-1:123456789012:db:my-new-80-cluster-instance", "IAMDatabaseAuthenticationEnabled": false, "PerformanceInsightsEnabled": false, "DeletionProtection": false, "AssociatedRoles": [], "TagList": [] } }