Klonen eines Volumes für einen Amazon-Aurora-DB-Cluster - Amazon Aurora

Klonen eines Volumes für einen Amazon-Aurora-DB-Cluster

Mithilfe der Aurora-Klonfunktion können Sie einen neuen Cluster erstellen, der dasselbe Aurora-Cluster-Volume und dieselben Daten wie das Original enthält. Der Prozess ist so konzipiert, dass er schnell und kostengünstig ist. Der neue Cluster mit dem zugehörigen Datenvolume wird als clone (Klon) bezeichnet. Das Erstellen eines Klons ist schneller und platzsparender als das physische Kopieren der Daten mit anderen Techniken, wie z. B. das Wiederherstellen eines Snapshots.

Aurora unterstützt viele verschiedene Arten des Klonens:

  • Sie können einen von Aurora bereitgestellten Klon aus einem bereitgestellten Aurora-DB-Cluster erstellen.

  • Sie können einen Aurora Serverless v1-Klon aus einem Aurora Serverless v1-DB-Cluster erstellen.

  • Sie können Aurora Serverless v1-Klone auch aus von Aurora bereitgestellten DB-Clustern erstellen, und Sie können bereitgestellte Klone aus Aurora Serverless v1-DB-Clustern erstellen.

  • Cluster mit Aurora Serverless v2-Instances folgen den gleichen Regeln wie bereitgestellte Cluster.

Wenn Sie einen Klon mit einer anderen Bereitstellungskonfiguration als der Quelle erstellen, wird der Klon mit der neuesten Nebenversion der Aurora-DB-Engine der Quelle erstellt.

Ein geklonter Aurora Serverless-DB-Cluster hat das gleiche Verhalten und die gleichen Einschränkungen wie jeder Aurora Serverless v1-DB-Cluster. Weitere Informationen finden Sie unter Verwenden von Amazon Aurora Serverless v1.

Wenn Sie Klone aus Ihren Aurora-DB-Clustern erstellen, werden die Klone in Ihrem AWS-Konto erstellt – dem gleichen Konto, dem der Aurora-DB-Quellcluster gehört. Sie können jedoch auch bereitgestellte Aurora-DB-Cluster und -Klone für andere AWS-Konten freigeben. Weitere Informationen finden Sie unter Kontoübergreifendes Klonen mitAWS RAM und Amazon Aurora.

Das kontoübergreifende Klonen unterstützt derzeit das Klonen von Aurora Serverless v1-DB-Clustern nicht. Weitere Informationen finden Sie unter Einschränkungen für kontoübergreifendes Klonen.

Übersicht über das Aurora-Klonen

Aurora verwendet ein Copy-on-Write-Protokoll, um einen Klon zu erstellen. Dieser Mechanismus verwendet minimalen zusätzlichen Speicherplatz, um einen ersten Klon zu erstellen. Wenn der Klon zum ersten Mal erstellt wird, behält Aurora eine einzelne Kopie der Daten, die vom Aurora-DB-Quellcluster und dem neuen (geklonten) Aurora-DB-Cluster verwendet werden. Zusätzlicher Speicher wird nur zugewiesen, wenn Änderungen an Daten (auf dem Aurora-Speicher-Volume) durch den Aurora-DB-Quellcluster oder den Aurora-DB-Clusterklon vorgenommen werden. Weitere Informationen zum Copy-on-Write-Protokoll finden Sie unter Funktionsweise des Klonens von Aurora.

Das Klonen von Aurora ist besonders nützlich, um Testumgebungen mit Ihren Produktionsdaten schnell einzurichten, ohne Datenbeschädigung zu riskieren. Sie können Klone für viele Arten von Anwendungen verwenden, z. B. für Folgende:

  • Experimentieren Sie mit möglichen Änderungen (z. B. Schemaänderungen und Parametergruppenänderungen), um alle Auswirkungen zu bewerten.

  • Führen Sie Workload-intensive Vorgänge aus, z. B. das Exportieren von Daten oder das Ausführen analytischer Abfragen auf dem Klon.

  • Erstellen Sie eine Kopie Ihres Produktions-DB-Clusters zu Entwicklungs-, Test- oder anderen Zwecken.

Sie können mehr als einen Klon aus demselben Aurora-DB-Cluster erstellen. Sie können auch mehrere Klone aus einem anderen Klon erstellen.

Nachdem Sie einen Aurora-Klon erstellt haben, können Sie die Aurora-DB-Instances anders als den Aurora-DB-Quellcluster konfigurieren. Beispielsweise benötigen Sie möglicherweise keinen Klon für Entwicklungszwecke, um dieselben Hochverfügbarkeitsanforderungen zu erfüllen wie der Aurora-DB-Cluster für die Quellproduktion. In diesem Fall können Sie den Klon mit einer einzelnen Aurora-DB-Instance konfigurieren, anstatt mit mehreren DB-Instances, die vom Aurora-DB-Cluster verwendet werden.

Wenn Sie den Klon für Test-, Entwicklungs- oder andere Zwecke nicht mehr verwenden, können Sie ihn löschen.

Einschränkungen für das Aurora-Klonen

Das Klonen von Aurora hat derzeit die folgenden Einschränkungen:

  • Sie können so viele Klone erstellen, wie Sie möchten, bis zur maximalen Anzahl von DB-Clustern, die in der AWS-Region zulässig sind.

  • Sie können bis zu 15 Klone gleichzeitig zur Verfügung haben, die mit dem Copy-On-Write-Protokoll erstellt wurden. Nachdem Sie jedoch 15 Klone erstellt haben, ist der nächste Klon, den Sie erstellen, eine vollständige Kopie. Der nachfolgende Klonvorgang funktioniert wie eine zeitpunktbezogene Wiederherstellung.

  • Sie können keinen Klon in einer anderen AWS-Region als der des Aurora-DB-Quell-Clusters erstellen.

  • Sie können keinen Aurora Serverless v1-Klon aus einem unverschlüsselten bereitgestellten Aurora-DB-Cluster erstellen.

  • Sie können keinen Aurora Serverless v1-Klon aus einem MySQL 5.6-kompatiblen bereitgestellten Cluster oder einen bereitgestellten Klon eines MySQL 5.6-kompatiblen Aurora Serverless v1-Clusters erstellen.

  • Sie können keinen Klon von einem Aurora-DB-Cluster ohne die parallele Abfragefunktion für einen Cluster erstellen, der parallele Abfragen verwendet. Um Daten in einen Cluster zu bringen, der parallele Abfragen verwendet, erstellen Sie einen Snapshot des ursprünglichen Clusters und stellen Sie ihn in dem Cluster wieder her, der die parallele Abfragefunktion verwendet.

  • Sie können keinen Klon aus einem Aurora DB-Cluster erstellen, der keine DB-Instances hat. Sie können nur Aurora-DB-Cluster klonen, die über mindestens eine DB-Instance verfügen.

  • Sie können einen Klon in einer anderen Virtual Private Cloud (VPC) als der des Aurora-DB-Clusters erstellen. In diesem Fall müssen die Subnetze der VPCs denselben Availability Zones zugeordnet sein.

Funktionsweise des Klonens von Aurora

Das Klonen von Aurora funktioniert auf der Speicherschicht eines Aurora-DB-Clusters. Es verwendet ein Copy-on-Write-Protokoll, das sowohl schnell als auch platzsparend in Bezug auf die zugrunde liegenden langlebigen Medien ist, die das Aurora-Speichervolumen unterstützen. Weitere Informationen zu Aurora-Cluster-Volumes finden Sie unterÜbersicht über Aurora-Speicher.

Copy-On-Write-Protokoll verstehen

Ein Aurora-DB-Cluster speichert Daten in Seiten im zugrunde liegenden Aurora-Speicher-Volume.

Im folgenden Diagramm finden Sie beispielsweise einen Aurora-DB-Cluster (A) mit vier Datenseiten 1, 2, 3 und 4. Stellen Sie sich vor, dass ein Klon, Klon B, aus dem Aurora-DB-Cluster erstellt wird. Wenn der Klon erstellt wird, werden keine Daten kopiert. Stattdessen verweist der Klon auf denselben Seitensatz wie der Aurora-DB-Quellcluster.


                    Amazon-Aurora-Cluster-Volume mit 4 Seiten für Quellcluster A und Klon B

Wenn der Klon erstellt wird, ist normalerweise kein zusätzlicher Speicher erforderlich. Das Copy-on-Write-Protokoll verwendet dasselbe Segment auf dem physischen Speichermedium wie das Quellsegment. Zusätzlicher Speicher ist nur erforderlich, wenn die Kapazität des Quellsegments für das gesamte Klonsegment nicht ausreicht. Wenn dies der Fall ist, wird das Quellsegment auf ein anderes physisches Gerät kopiert.

In den folgenden Diagrammen finden Sie ein Beispiel für das Copy-on-Write-Protokoll in Aktion mit demselben Cluster A und dessen Klon, B, wie oben gezeigt. Nehmen wir an, Sie nehmen eine Änderung an Ihrem Aurora-DB-Cluster (A) vor, was zu einer Änderung der Daten auf Seite 1 führt. Anstatt auf die ursprüngliche Seite 1 zu schreiben, erstellt Aurora eine neue Seite 1 [A]. Das Aurora-DB-Cluster-Volume für Cluster (A) verweist nun auf Seite 1 [A], 2, 3 und 4, während der Klon (B) weiterhin auf die ursprünglichen Seiten verweist.


              Amazon-Aurora-Quell-DB-Cluster-Volume und sein Klon, beide mit Änderungen.

Auf dem Klon wird eine Änderung an Seite 4 auf dem Speichervolume vorgenommen. Anstatt auf die ursprüngliche Seite 4 zu schreiben, erstellt Aurora eine neue Seite, 4 [B]. Der Klon verweist nun auf die Seiten 1, 2, 3 und auf Seite 4[B], während der Cluster (A) weiterhin auf 1[A], 2, 3 und 4 verweist.


        Amazon-Aurora-Quell-DB-Cluster-Volume und sein Klon, beide mit Änderungen.

Da im Laufe der Zeit mehr Änderungen sowohl im Aurora-DB-Cluster-Quellvolume als auch im Klon auftreten, wird mehr Speicherplatz benötigt, um die Änderungen zu erfassen und zu speichern.

Löschen eines Quell-Cluster-Volumes

Wenn Sie ein Quell-Cluster-Volume löschen, dem ein oder mehrere Klone zugeordnet sind, sind die Klone nicht betroffen. Die Klone verweisen weiter auf die Seiten, die zuvor im Besitz des Quell-Cluster-Volumes waren.

Erstellen eines Amazon-Aurora-DB-Klons

Sie können einen Klon im selben AWS-Konto wie den Aurora-DB-Quellcluster erstellen. Dazu können Sie das AWS Management Console oder das AWS CLI und die folgenden Verfahren verwenden.

Um einem anderen AWS-Konto zu erlauben, einen Klon zu erstellen oder einen Klon mit einem anderen AWS-Konto zu teilen, verwenden Sie die Verfahren in Kontoübergreifendes Klonen mitAWS RAM und Amazon Aurora.

Durch die Verwendung des Aurora-Klonens können Sie die folgenden Arten von Klonvorgängen ausführen:

  • Erstellen Sie einen bereitgestellten Aurora-DB-Clusterklon aus einem bereitgestellten Aurora-DB-Cluster.

  • Erstellen Sie einen Aurora Serverless v1-Clusterklon aus einem Aurora Serverless v1-DB-Cluster.

  • Erstellen Sie einen Aurora Serverless v1-DB-Cluster-Klon aus einem bereitgestellten Aurora-DB-Cluster.

  • Erstellen Sie einen von Aurora bereitgestellten DB-Cluster-Klon aus einem Aurora Serverless v1-DB-Cluster.

Aurora Serverless v1-DB-Cluster sind immer verschlüsselt. Wenn Sie einen Aurora Serverless v1-DB-Cluster in einen bereitgestellten Aurora-DB-Cluster klonen, wird der bereitgestellte Aurora-DB-Cluster verschlüsselt. Sie können den Verschlüsselungsschlüssel auswählen, aber Sie können die Verschlüsselung nicht deaktivieren. Klonen von einem bereitgestellten Aurora-DB-Cluster in einen Aurora Serverless v1 cluster, you need verschlüsselten bereitgestellten Aurora-DB-Cluster.

Das folgende Verfahren beschreibt das Klonen eines Aurora-DB-Clusters mittels der AWS Management Console.

Erstellen eines Klons unter Verwendung der AWS Management Console-Ergebnisse in einem Aurora-DB-Cluster mit einer Aurora-DB-Instance.

Diese Anweisungen gelten für DB-Cluster, die sich im Besitz desselben AWS-Kontos befinden, das den Klon erstellt. Wenn der DB-Cluster einem anderenAWS-Konto gehört, lesen Sie stattdessen Kontoübergreifendes Klonen mitAWS RAM und Amazon Aurora.

So erstellen Sie mit AWS einen Klon eines DB-Clusters, der Ihrem AWS Management Console-Konto gehört:
  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 Databases (Datenbanken) aus.

  3. Wählen Sie Ihren Aurora-DB-Cluster aus der Liste aus, und wählen Sie für Aktionen die Option Klon erstellen aus.

    
                  Das Erstellen eines Klons beginnt mit der Auswahl Ihres Aurora-DB-Clusters.

    Die Seite Klon erstellen wird geöffnet, auf der Sie Instance-Spezifikationen, Konnektivität und andere Optionen für den Aurora-DB-Cluster-Klon konfigurieren können.

  4. Gehen Sie im Abschnitt Instance-Spezifikationen wie folgt vor:

    1. Geben Sie als DB-Cluster-ID den Namen ein, den Sie Ihrem geklonten Aurora-DB-Cluster geben möchten.

      
                  Das Erstellen eines Klons beginnt mit der Auswahl Ihres Aurora-DB-Clusters.
    2. Wählen Sie für den Kapazitätstyp Ihres Anwendungsfalls je nach Bedarf Bereitgestellt oder Serverless aus.

      Sie können Serverless nur auswählen, wenn der Aurora-DB-Quellcluster ein Aurora Serverless v1-DB-Cluster oder ein bereitgestellter Aurora-DB-Cluster ist, der verschlüsselt ist.

      • Wenn Sie Bereitgestellt wählen, sehen Sie eine Konfigurationskarte für die DB-Instance-Größe.

        
                          Um einen bereitgestellten Klon aus einem Aurora-DB-Cluster zu erstellen, geben Sie die DB-Instance-Größe an.

        Sie können die bereitgestellte Einstellung akzeptieren oder eine andere DB-Instance-Klasse für Ihren Klon verwenden.

      • Wenn Sie Serverless wählen, wird eine Konfigurationskarte für die Kapazitätseinstellungen angezeigt.

        
                      Um einen Serverless-Klon aus einem Aurora-DB-Cluster zu erstellen, geben Sie die Kapazität an.

        Sie können die bereitgestellten Einstellungen akzeptieren oder für Ihren Anwendungsfall ändern.

    3. Wählen Sie unter Zusätzliche Konfiguration die Einstellungen aus, wie Sie es normalerweise für Ihre Aurora-DB-Cluster tun.

      Zu den weiteren Einstellungen gehören Ihre Wahl des Datenbanknamens und ob Sie viele optionale Funktionen verwenden möchten. Zu diesen Funktionen gehören Backup, Enhanced Monitoring, Exportieren von Protokollen in Amazon CloudWatch, Löschschutz usw.

      Einige der angezeigten Auswahlmöglichkeiten hängen vom Typ des Klons ab, den Sie erstellen. Aurora Serverless unterstützt beispielsweise Amazon RDS Performance Insights nicht, sodass diese Option in diesem Fall nicht angezeigt wird.

      Die Verschlüsselung ist eine Standardoption, die unter Zusätzliche Konfiguration verfügbar ist.Aurora Serverless DB-Cluster sind immer verschlüsselt. Sie können einen Aurora Serverless-Klon nur aus einem Aurora-Serverless-DB-Cluster oder einem verschlüsselt bereitgestellten Aurora-DB-Cluster erstellen. Sie können jedoch für den Aurora Serverless-Klon einen anderen Schlüssel als den für den verschlüsselten bereitgestellten Cluster verwenden.

      
                      Nur verschlüsselt bereitgestellte Aurora-DB-Cluster können zum Erstellen von Aurora Serverless-Klonen verwendet werden.

      Wenn Sie einen Aurora Serverless-Klon aus einem Aurora Serverless-DB-Cluster erstellen, können Sie einen anderen Schlüssel für den Klon auswählen.

      
                      Sie können für den Klon einen anderen Verschlüsselungsschlüssel als den für den Aurora Serverless-Quell-DB-Cluster verwenden.
    4. Beenden Sie die Eingabe aller Einstellungen für Ihren Aurora-DB-Cluster-Klon. Weitere Informationen zu Aurora DB-Cluster- und -Instance-Einstellungen finden Sie unter Erstellen eines Amazon Aurora-DB Clusters.

  5. Wählen Sie Klon erstellen, um den Aurora-Klon Ihres ausgewählten Aurora-DB-Clusters zu starten.

Wenn der Klon erstellt wird, wird er mit Ihren anderen Aurora-DB-Clustern im Abschnitt Datenbanken der Konsole aufgelistet und zeigt seinen aktuellen Status an. Ihr Klon ist einsatzbereit, wenn sein Status Verfügbar ist.

Die Verwendung von AWS CLI zum Klonen Ihres Aurora-DB-Clusters umfasst einige Schritte.

Der von Ihnen verwendete restore-db-cluster-to-point-in-time-Befehl AWS CLI führt zu einem leeren Aurora-DB-Cluster mit 0 Aurora-DB-Instances. Das heißt, der Befehl stellt nur den Aurora-DB-Cluster wieder her, nicht die DB-Instances für diesen Cluster. Sie tun dies separat, nachdem der Klon verfügbar ist. Die zwei Schritte im Prozess sind wie folgt:

  1. Erstellen Sie den Klon mit dem CLI-Befehl restore-db-cluster-to-point-in-time. Die Parameter, die Sie mit diesem Befehl verwenden, steuern den Kapazitätstyp und andere Details des leeren Aurora-DB-Clusters (Klon), der erstellt wird.

  2. Erstellen Sie die Aurora-DB-Instance für den Klon, indem Sie den CLI-Befehl create-db-instance verwenden, um die Aurora-DB-Instance im wiederhergestellten Aurora-DB-Cluster neu zu erstellen.

Die folgenden Befehle gehen davon aus, dass AWS CLI mit Ihrer AWS-Region als Standard eingerichtet ist. Dieser Ansatz erspart Ihnen die Übergabe des --region-Namens in jedem der Befehle. Weitere Informationen finden Sie unter Konfigurieren der AWS CLI. Sie können die --region auch in jedem der folgenden CLI-Befehle angeben.

Erstellen des Klons

Die spezifischen Parameter, die Sie an den restore-db-cluster-to-point-in-time-CLI-Befehl übergeben, variieren. Was Sie übergeben, hängt vom Engine-Modus-Typ des Quell-DB-Clusters – Serverless oder bereitgestellt – und vom Typ des Klons ab, den Sie erstellen möchten.

Gehen Sie wie folgt vor, um einen Aurora Serverless-Klon aus einem Aurora Serverless-DB-Cluster oder einen bereitgestellten Aurora-Klon aus einem bereitgestellten Aurora-DB-Cluster zu erstellen.

So erstellen Sie einen Klon mit demselben Engine-Modus wie der Aurora-DB-Quellcluster
  • Verwenden Sie den restore-db-cluster-to-point-in-time-CLI-Befehl und geben Sie Werte für die folgenden Parameter an:

    • --db-cluster-identifier – Wählen Sie einen aussagekräftigen Namen für Ihren Klon. Sie benennen den Klon, wenn Sie den CLI-Befehl restore-db-cluster-to-point-in-time verwenden. Anschließend übergeben Sie den Namen des Klons im CLI-Befehl create-db-instance.

    • --restore-type – Verwenden Sie copy-on-write, um einen Klon des Quell-DB-Clusters zu erstellen. Ohne diesen Parameter stellt restore-db-cluster-to-point-in-time den Aurora-DB-Cluster wieder her, anstatt einen Klon zu erstellen.

    • --source-db-cluster-identifier – Verwenden Sie den Namen des Aurora-DB-Quell-Clusters, den Sie klonen möchten.

    • --use-latest-restorable-time – Dieser Wert verweist auf die neuesten wiederherstellbaren Volume-Daten für den Klon.

Im folgenden Beispiel wird ein Klon namens my-clone aus einem Cluster namens my-source-cluster erstellt.

Für Linux, macOS oder Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

Für Windows:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time

Der Befehl gibt das JSON-Objekt zurück, das Details des Klons enthält. Stellen Sie sicher, dass Ihr geklonter DB-Cluster verfügbar ist, bevor Sie versuchen, die DB-Instance für Ihren Klon zu erstellen. Weitere Informationen finden Sie unter Überprüfen des Status und Abrufen von Klon-Details.

So erstellen Sie einen Klon mit einem anderen Engine-Modus als dem Aurora-DB-Quellcluster
  • Verwenden Sie den restore-db-cluster-to-point-in-time-CLI-Befehl und geben Sie Werte für die folgenden Parameter an:

    • --db-cluster-identifier – Wählen Sie einen aussagekräftigen Namen für Ihren Klon. Sie benennen den Klon, wenn Sie den CLI-Befehl restore-db-cluster-to-point-in-time verwenden. Anschließend übergeben Sie den Namen des Klons im CLI-Befehl create-db-instance.

    • --engine-mode – Verwenden Sie diesen Parameter nur, um Klone zu erstellen, die von einem anderen Typ als der Aurora-DB-Quellcluster sind. Wählen Sie den mit --engine-mode zu übergebenden Wert wie folgt aus:

      • Verwenden Sie provisioned, um einen bereitgestellten Aurora-DB-Clusterklon aus einem Aurora Serverless-DB-Cluster zu erstellen.

      • Verwenden Sie serverless, um einen Aurora Serverless-DB-Cluster-Klon aus einem bereitgestellten Aurora-DB-Cluster zu erstellen. Wenn Sie den serverless-Engine-Modus angeben, können Sie auch --scaling-configuration wählen.

    • --restore-type – Verwenden Sie copy-on-write, um einen Klon des Quell-DB-Clusters zu erstellen. Ohne diesen Parameter stellt restore-db-cluster-to-point-in-time den Aurora-DB-Cluster wieder her, anstatt einen Klon zu erstellen.

    • --scaling-configuration— (Optional) Nur mit --engine-mode serverless verwenden, um die minimale und maximale Kapazität für den Klon zu konfigurieren. Wenn Sie diesen Parameter nicht verwenden, erstellt Aurora den Klon mit einer Mindestkapazität von 1. Es verwendet eine maximale Kapazität, die der Kapazität des bereitgestellten Aurora-DB-Clusters entspricht.

    • --source-db-cluster-identifier – Verwenden Sie den Namen des Aurora-DB-Quell-Clusters, den Sie klonen möchten.

    • --use-latest-restorable-time – Dieser Wert verweist auf die neuesten wiederherstellbaren Volume-Daten für den Klon.

Im folgenden Beispiel wird ein Aurora Serverless-Klon (my-clone) aus einem bereitgestellten Aurora-DB-Cluster namens my-source-cluster erstellt. Der bereitgestellte Aurora-DB-Cluster ist verschlüsselt.

Für Linux, macOS oder Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --engine-mode serverless \ --scaling-configuration MinCapacity=8, MaxCapacity=64 \ --restore-type copy-on-write \ --use-latest-restorable-time

Für Windows:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --engine-mode serverless ^ --scaling-configuration MinCapacity=8, MaxCapacity=64 ^ --restore-type copy-on-write ^ --use-latest-restorable-time

Diese Befehle geben das JSON-Objekt zurück, das Details des Klons enthält, den Sie zum Erstellen der DB-Instance benötigen. Dies ist erst möglich, wenn der Status des Klons (der leere Aurora-DB-Cluster) den Status Verfügbar hat.

Anmerkung

Der AWS-CLI-Befehl restore-db-cluster-to-point-in-time stellt nur das DB-Cluster wieder her, nicht die DB-Instances für dieses DB-Cluster. Sie müssen den Befehl create-db-instance aufrufen, um DB-Instances für den wiederhergestellten DB-Cluster zu erstellen, wobei Sie die ID des wiederhergestellten DB-Clusters in --db-cluster-identifier angeben. Sie können DB-Instances erst dann erstellen, wenn der Befehl restore-db-cluster-to-point-in-time abgeschlossen ist und der DB-Cluster verfügbar ist.

Angenommen, Sie haben einen Cluster mit dem Namen tpch100g, den Sie klonen möchten. Im folgenden Linux-Beispiel wird ein geklonter Cluster namens tpch100g-clone und eine primäre Instance mit dem Namen tpch100g-clone-instance für den neuen Clusters erstellt. Einige Parameter wie --master-username reinvent und --master-user-password müssen nicht angegeben werden. Aurora ermittelt diese automatisch aus dem ursprünglichen Cluster. Sie müssen die zu verwendende DB-Engine angeben. Daher testet das Beispiel den neuen Cluster, um den richtigen Wert für den Parameter --engine zu ermitteln.

$ aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier tpch100g \ --db-cluster-identifier tpch100g-clone \ --restore-type copy-on-write \ --use-latest-restorable-time $ aws rds describe-db-clusters \ --db-cluster-identifier tpch100g-clone \ --query '*[].[Engine]' \ --output text aurora $ aws rds create-db-instance \ --db-instance-identifier tpch100g-clone-instance \ --db-cluster-identifier tpch100g-clone \ --db-instance-class db.r5.4xlarge \ --engine aurora

Überprüfen des Status und Abrufen von Klon-Details

Mit dem folgenden Befehl können Sie den Status Ihres neu erstellten leeren DB-Clusters überprüfen.

$ aws rds describe-db-clusters --db-cluster-identifier my-clone --query '*[].[Status]' --output text

Oder Sie können den Status und die anderen Werte abrufen, die Sie zum Erstellen der DB-Instance für Ihren Klon benötigen, indem Sie die folgende AWS CLI-Abfrage verwenden.

Für Linux, macOS oder Unix:

aws rds describe-db-clusters --db-cluster-identifier my-clone \ --query '*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}'

Für Windows:

aws rds describe-db-clusters --db-cluster-identifier my-clone ^ --query "*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}"

Diese Abfrage gibt eine Ausgabe ähnlich der folgenden zurück.

[ { "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.09.1", "EngineMode": "provisioned" } ]

Erstellen einer Aurora-DB-Instance für Ihren Klon

Verwenden Sie den CLI-Befehl create-db-instance, um die DB-Instance für Ihren Klon zu erstellen.

Der Parameter --db-instance-class wird nur für bereitgestellte Aurora-DB-Cluster verwendet.

Für Linux, macOS oder Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.r5.4xlarge \ --engine aurora-mysql

Für Windows:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.r5.4xlarge ^ --engine aurora-mysql

Für einen aus einem Aurora Serverless-DB-Cluster erstellten Aurora Serverless-Klon geben Sie nur wenige Parameter an. Die DB-Instance erbt die --engine-mode-, --master-username- und --master-user-password-Eigenschaften vom Quell-DB-Cluster. Sie können --scaling-configuration ändern.

Für Linux, macOS oder Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --engine aurora-postgresql

Für Windows:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --engine aurora-postgresql

Zu verwendende Parameter für das Klonen

Die folgende Tabelle fasst die verschiedenen Parameter zusammen, die mit restore-db-cluster-to-point-in-time zum Klonen von Aurora-DB-Clustern verwendet werden.

Parameter Beschreibung

--source-db-cluster-identifier

Verwenden Sie den Namen des Aurora-DB-Quell-Clusters, den Sie klonen möchten.

--db-cluster-identifier

Wählen Sie einen aussagekräftigen Namen für Ihren Klon. Sie benennen Ihren Klon mit dem restore-db-cluster-to-point-in-time-Befehl. Dann übergeben Sie diesen Namen an den create-db-instance-Befehl.

--engine-mode

Verwenden Sie diesen Parameter , um Klone zu erstellen, die von einem anderen Typ als der Aurora-DB-Quellcluster sind. Wählen Sie den mit --engine-mode zu übergebenden Wert wie folgt aus:

  • Verwenden Sie provisioned, um einen bereitgestellten Aurora-DB-Clusterklon aus einem Aurora Serverless-DB-Cluster zu erstellen.

  • Verwenden Sie serverless, um einen Aurora Serverless-DB-Cluster-Klon aus einem bereitgestellten Aurora-DB-Cluster zu erstellen. Wenn Sie den serverless-Engine-Modus angeben, können Sie auch --scaling-configuration wählen.

--restore-type

Geben Sie copy-on-write als --restore-type an, um einen Klon des Quell-DB-Clusters zu erstellen, anstatt den Quell-Aurora-DB-Cluster wiederherzustellen.

--scaling-configuration

Verwenden Sie diesen Parameter mit --engine-mode serverless, um die minimale und maximale Kapazität für den Klon zu konfigurieren. Wenn Sie diesen Parameter nicht verwenden, erstellt Aurora den Aurora Serverless-Klon mit einer Mindestkapazität von 1 und einer Höchstkapazität von 16.

--use-latest-restorable-time

ieser Wert verweist auf die neuesten wiederherstellbaren Volume-Daten für den Klon.

Kontoübergreifendes Klonen mitAWS RAM und Amazon Aurora

Durch die Verwendung von AWS Resource Access Manager (AWS RAM) mit Amazon Aurora können Sie Aurora-DB-Cluster und -Klone, die zu Ihrem AWS-Konto gehören, mit einem anderen AWS-Konto oder einer anderen Organisation teilen. Ein solches kontoübergreifendes Klonen ist viel schneller als das Erstellen und Wiederherstellen eines Datenbank-Snapshots. Sie können einen Klon eines Ihrer Aurora-DB-Cluster erstellen und den Klon freigeben. Oder Sie können Ihren Aurora-DB-Cluster mit einem anderen AWS-Konto teilen und den Kontoinhaber den Klon erstellen lassen. Welchen Ansatz Sie wählen, hängt von Ihrem Anwendungsfall ab.

Beispielsweise müssen Sie möglicherweise regelmäßig einen Klon Ihrer Finanzdatenbank für das interne Revisionsteam Ihres Unternehmens freigeben. In diesem Fall hat Ihr Prüfungsteam ein eigenes AWS-Konto für die von ihm verwendeten Anwendungen. Sie können dem AWS-Konto des Prüfungs-Teams die Berechtigung erteilen, auf Ihren Aurora-DB-Cluster zuzugreifen und ihn nach Bedarf zu klonen.

Auf der anderen Seite, wenn ein externer Anbieter Ihre Finanzdaten prüft, ziehen Sie es möglicherweise vor, den Klon selbst zu erstellen. Sie geben dann dem externen Anbieter nur Zugriff auf den Klon.

Sie können auch das kontoübergreifende Klonen verwenden, um viele der gleichen Anwendungsfälle für das Klonen innerhalb desselben AWS-Kontos zu unterstützen, z. B. Entwicklung und Tests. Ihre Organisation kann beispielsweise unterschiedliche AWS-Konten für Produktion, Entwicklung, Tests usw. verwenden. Weitere Informationen finden Sie unter Übersicht über das Aurora-Klonen.

Daher möchten Sie möglicherweise einen Klon mit einem anderen AWS-Konto teilen oder einem anderen AWS-Konto erlauben, Klone Ihrer Aurora-DB-Cluster zu erstellen. Beginnen Sie in jedem Fall mit AWS RAM, um ein Freigabeobjekt zu erstellen. Vollständige Informationen zur gemeinsamen Nutzung von AWS-Ressourcen zwischen AWS-Konten finden Sie im AWS RAM-Benutzerhandbuch.

Für das Erstellen eines kontoübergreifenden Klons sind Aktionen von dem AWS-Konto erforderlich, das Besitzer des ursprünglichen Clusters ist, und von dem AWS-Konto, das den Klon erstellt. Zuerst ändert der ursprüngliche Clusterbesitzer den Cluster, um es einem oder mehreren anderen Konten zu ermöglichen, ihn zu klonen. Wenn sich eines der Konten in einer anderen AWS-Organisation befindet, generiert AWS eine Freigabeeinladung. Das andere Konto muss die Einladung annehmen, bevor Sie fortfahren können. Dann kann jedes autorisierte Konto den Cluster klonen. Während dieses Prozesses wird der Cluster durch seinen eindeutigen Amazon-Ressourcennamen (ARN) identifiziert.

Wie beim Klonen innerhalb desselben AWS-Kontos wird zusätzlicher Speicherplatz nur verwendet, wenn Änderungen an den Daten durch die Quelle oder den Klon vorgenommen werden. Zu diesem Zeitpunkt werden dann Gebühren für die Speicherung erhoben. Wenn der Quellen-Cluster gelöscht wird, werden Speicherkosten gleichmäßig auf die verbleibenden geklonten Cluster verteilt.

Einschränkungen für kontoübergreifendes Klonen

Kontoübergreifendes Aurora-Klonen hat folgende Einschränkungen:

  • Sie können einen Aurora Serverless-Cluster nicht über AWS-Konten hinweg klonen.

  • Sie können Einladungen zu freigegebenen Ressourcen mit AWS Management Console nicht anzeigen oder annehmen. Verwenden Sie AWS CLI, die Amazon-RDS-API oder die AWS RAM-Konsole, um Einladungen zu freigegebenen Ressourcen anzuzeigen und anzunehmen.

  • Sie können keine neuen Klone aus einem Klon erstellen, der mit Ihrem AWS-Konto geteilt wurde.

  • Sie können keine Ressourcen (Klone oder Aurora-DB-Cluster) freigeben, die für Ihr AWS-Konto freigegeben wurden.

  • Sie können maximal 15 kontoübergreifende Klone aus einem einzelnen Aurora-DB-Cluster erstellen.

  • Jeder der 15 kontoübergreifenden Klone muss einem anderen AWS-Konto gehören. Das heißt, Sie können innerhalb eines AWS-Kontos nur einen kontoübergreifenden Klon eines Clusters erstellen.

  • Nachdem Sie einen Cluster geklont haben, werden der ursprüngliche Cluster und sein Klon als identisch angesehen, um Grenzwerte für kontoübergreifende Klone durchzusetzen. Sie können keine kontoübergreifenden Klone sowohl des ursprünglichen Clusters als auch des geklonten Clusters innerhalb desselben AWS-Kontos erstellen. Die Gesamtzahl der kontoübergreifenden Klone für den ursprünglichen Cluster und einen seiner Klone darf 15 nicht überschreiten.

  • Sie können einen Aurora-DB-Cluster nicht für andere AWS-Konten freigeben, es sei denn, der Cluster befindet sich in einem ACTIVE-Status.

  • Sie können einen Aurora-DB-Cluster, der mit anderen AWS-Konten geteilt wurde, nicht umbenennen.

  • Sie können keinen kontoübergreifenden Klon eines Clusters erstellen, der mit dem RDS-Standardschlüssel verschlüsselt ist.

  • Sie können in einem AWS Konto keine unverschlüsselten Klone von verschlüsselten Aurora DB-Clustern erstellen, die von einem anderen AWS Konto freigegeben wurden. Der Clustereigentümer muss die Erlaubnis zum Zugriff auf den Quellcluster AWS KMS key. Sie können jedoch auch einen anderen Schlüssel verwenden, wenn Sie den Klon erstellen.

Zulassen des Klonens Ihres Clusters durch andere AWS-Konten

Um anderen AWS-Konten zu erlauben, einen Cluster, den Sie besitzen, zu klonen, verwenden Sie AWS RAM, um die Freigabeberechtigung festzulegen. Dadurch wird außerdem eine Einladung an jedes der anderen Konten gesendet, die sich in einer unterschiedlichen AWS-Organisation befinden.

Informationen zu den Verfahren zur Freigabe von Ressourcen, die Sie besitzen, in der AWS RAM-Konsole finden Sie im Artikel zum Freigeben von Ressourcen, die Sie besitzen im AWS RAM-Benutzerhandbuch.

Gewähren der Berechtigung für andere AWS-Konten zum Klonen Ihres Clusters

Wenn der Cluster, den Sie gemeinsam nutzen, verschlüsselt ist, teilen Sie auch die AWS KMS key für den Cluster. Sie können zulassen, dass AWS Identity and Access Management (IAM)-Benutzer oder -Rollen in einem AWS Konto einen KMS-Schlüssel in einem anderen Konto verwenden.

Dazu fügen Sie zunächst das externe Konto (Root-Benutzer) über AWS KMSzur Schlüsselrichtlinie des KMS-Schlüssels hinzu. Sie fügen der Schlüsselrichtlinie nicht die einzelnen IAM-Benutzer oder -Rollen hinzu, sondern nur das externe Konto, das sie enthält. Sie können nur einen von Ihnen erstellten KMS-Schlüssel freigeben, nicht den Standardschlüssel des RDS-Dienstes. Informationen zur Zugriffskontrolle für KMS-Schlüssel finden Sie unter Authentifizierung und Zugriffskontrolle für AWS KMS.

So gewähren Sie die Berechtigung zum Klonen Ihres Clusters
  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 Databases (Datenbanken) aus.

  3. Wählen Sie den DB-Cluster aus, den Sie freigeben möchten, um seine Details-Seite anzuzeigen, und wählen Sie dann die Registerkarte Connectivity & security (Konnektivität und Sicherheit) aus.

  4. Geben Sie im Abschnitt DB-Cluster für andere AWS-Konten freigeben die numerische ID für das AWS-Konto ein, dem Sie erlauben möchten, diesen Cluster zu klonen. Bei Konto-IDs in derselben Organisation können Sie die ersten Zeichen in das Feld eintippen und dann aus dem Menü auswählen.

    Wichtig

    In manchen Fällen möchten Sie vielleicht, dass ein Konto, das sich nicht in derselben AWS-Organisation befindet wie Ihr Konto, einen Cluster klont. In diesen Fällen meldet die Konsole aus Sicherheitsgründen nicht, wer diese Konto-ID besitzt oder ob das Konto existiert.

    Seien Sie vorsichtig, wenn Sie Kontonummern eingeben, die sich nicht in derselben AWS-Organisation befinden wie Ihr AWS-Konto. Überprüfen Sie sofort, ob Sie die Freigabe für das beabsichtigte Konto erteilt haben.

  5. Überprüfen Sie auf der Bestätigungsseite, dass die von Ihnen angegebene Konto-ID richtig ist. Geben Sie im Bestätigungsfeld share ein, um dies zu bestätigen.

    Auf der Seite Details wird unter Accounts that this DB cluster is shared with (Konten, für die dieser DB-Cluster freigegeben ist) ein Eintrag mit der angegebenen AWS-Konto-ID angezeigt. Die Spalte Status zeigt ursprünglich den Status Pending (Ausstehend) an.

  6. Wenden Sie sich an den Besitzer des anderen AWS-Kontos oder melden Sie sich bei diesem Konto an, wenn Sie beide besitzen. Weisen Sie den Besitzer des anderen Kontos an, die Freigabeeinladung anzunehmen und den DB-Cluster zu klonen, wie nachfolgend beschrieben.

So gewähren Sie die Berechtigung zum Klonen Ihres Clusters
  1. Tragen Sie die Daten für die erforderlichen Parameter zusammen. Sie benötigen den ARN für Ihren Cluster und die numerische ID für das andere AWS-Konto.

  2. Führen Sie den AWS RAM-CLI-Befehl create-resource-share aus.

    Für Linux, macOS oder Unix:

    aws ram create-resource-share --name descriptive_name \ --region region \ --resource-arns cluster_arn \ --principals other_account_ids

    Für Windows:

    aws ram create-resource-share --name descriptive_name ^ --region region ^ --resource-arns cluster_arn ^ --principals other_account_ids

    Geben Sie, um mehrere Konto-IDs für den --principals-Parameter einzuschließen, IDs mit Leerzeichen voneinander getrennt ein. Um anzugeben, ob die genehmigten Konto-IDs außerhalb Ihrer AWS-Organisation sein können, schließen Sie auch den --allow-external-principals- bzw. den --no-allow-external-principals-Parameter für create-resource-share ein.

So gewähren Sie die Berechtigung zum Klonen Ihres Clusters
  1. Tragen Sie die Daten für die erforderlichen Parameter zusammen. Sie benötigen den ARN für Ihren Cluster und die numerische ID für das andere AWS-Konto.

  2. Rufen Sie die AWS RAM-API-Operation CreateResourceShare auf und geben Sie die folgenden Werte an:

    • Geben Sie die Konto-IDs mindestens eines AWS-Kontos als principals-Parameter an.

    • Geben Sie die ARN mindestens eines Aurora-DB-Clusters als resourceArns-Parameter an.

    • Geben Sie an, ob sich die genehmigten Konto-IDs außerhalb Ihrer AWS-Organisation befinden dürfen, indem Sie einen booleschen Wert für den allowExternalPrincipals-Parameter einfügen.

Neuerstellen eines Clusters, der den RDS-Standardschlüssel verwendet

Wenn der verschlüsselte Cluster, den Sie freigeben möchten, den RDS-Standardschlüssel verwendet, stellen Sie sicher, dass der Cluster neu erstellt wird. Erstellen Sie dazu einen manuellen Snapshot Ihres DB-Clusters, verwenden Sie eine AWS KMS key, und stellen Sie den Cluster dann in einem neuen Cluster wieder her. Geben Sie dann den neuen Cluster frei. Führen Sie die folgenden Schritte aus, um diesen Vorgang durchzuführen.

So erstellen Sie einen verschlüsselten Cluster neu, der den RDS-Standardschlüssel verwendet
  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 aus.

  3. Wählen Sie Ihren Snapshot aus.

  4. Wählen Sie unter Actions (Aktionen) die Option Copy Snapshot (Snapshot kopieren) und anschließend Enable encryption (Verschlüsselung aktivieren) aus.

  5. Wählen Sie für AWS KMS key den neuen Verschlüsselungscode, den Sie verwenden möchten.

  6. Stellen Sie den kopierten Snapshot wieder her. Eine Schritt-für-Schritt-Anleitung hierzu finden Sie unter Wiederherstellen aus einem DB-Cluster-Snapshot. Die neue DB-Instance verwendet Ihren neuen Verschlüsselungsschlüssel.

  7. (Optional) Löschen Sie den alten DB-Cluster, wenn Sie ihn nicht mehr benötigen. Eine Schritt-für-Schritt-Anleitung hierzu finden Sie unter Löschen eines DB-Cluster-Snapshots. Bevor Sie dies tun, überprüfen Sie, ob Ihr neuer Cluster über alle notwendigen Daten verfügt und ob Ihre Anwendung erfolgreich darauf zugreifen kann.

Überprüfen, ob ein Cluster, den Sie besitzen, für andere AWS-Konten freigegeben ist

Sie können überprüfen, ob andere Benutzer die Berechtigung für die Freigabe eines Clusters haben. Dies kann hilfreich sein, um zu wissen, ob der Cluster sich dem Limit für die maximale Anzahl an kontoübergreifenden Klonen nähert.

Informationen zu den Verfahren zur Freigabe von Ressourcen mithilfe der AWS RAM-Konsole finden Sie im Artikel zum Freigeben von Ressourcen, die Sie besitzen im AWS RAM-Benutzerhandbuch.

So finden Sie heraus, ob ein Cluster, der Ihnen gehört, mit anderen AWS-Konten geteilt wird
  • Rufen Sie den AWS RAM-CLI-Befehl list-principals auf und verwenden Sie dabei Ihre Konto-ID als Ressourcenbesitzer und den ARN Ihres Clusters als Ressourcen-ARN. Sie können mit dem folgenden Befehl alle Freigaben anzeigen. Die Ergebnisse zeigen an, welche AWS-Konten den Cluster klonen dürfen.

    aws ram list-principals \ --resource-arns your_cluster_arn \ --principals your_aws_id
So finden Sie heraus, ob ein Cluster, der Ihnen gehört, mit anderen AWS-Konten geteilt wird
  • Rufen Sie die AWS RAM-API-Operation ListPrincipals auf. Verwenden Sie Ihre Konto-ID als Ressourcenbesitzer und den ARN Ihres Clusters als Ressourcen-ARN.

Klonen eines Clusters, der einem anderen AWS-Konto gehört

Um einen Cluster zu klonen, der einem anderen AWS-Konto gehört, verwenden Sie AWS RAM, um die Berechtigung zum Erstellen des Klons zu erhalten. Wenn Sie die erforderliche Berechtigung haben, verwenden Sie das Standardverfahren zum Klonen eines Aurora-Clusters.

Sie können auch überprüfen, ob ein Cluster, den Sie besitzen, ein Klon eines Clusters ist, der einem anderen AWS-Konto gehört.

Anweisungen für das Arbeiten mit Ressourcen, die anderen gehören, in der AWS RAM-Konsole finden Sie im Artikel über das Zugreifen auf für Sie freigegebene Ressourcen im AWS RAM-Benutzerhandbuch.

Anzeigen von Einladungen zum Klonen von Clustern, die anderen AWS-Konten gehören

Um mit Einladungen zum Klonen von Clustern zu arbeiten, die anderen AWS-Konten in anderen AWS-Organisationen gehören, verwenden Sie die AWS CLI, die AWS RAM-Konsole oder die AWS RAM-API. Aktuell können Sie dieses Verfahren nicht mithilfe der Amazon RDS-Konsole durchführen.

Anweisungen für das Arbeiten mit Einladungen in der AWS RAM-Konsole finden Sie im Artikel über das Zugreifen auf für Sie freigegebenen Ressourcen im AWS RAM-Benutzerhandbuch.

So zeigen Sie Einladungen zum Klonen von Clustern, die anderen AWS-Konten gehören, an
  1. Führen Sie den AWS RAM-CLI-Befehl get-resource-share-invitations aus.

    aws ram get-resource-share-invitations --region region_name

    Die Ergebnisse des vorausgehenden Befehls zeigen alle Einladungen, Cluster zu klonen, an, einschließlich aller Einladungen, die Sie bereits angenommen oder abgelehnt haben.

  2. (Optional) Filtern Sie die Liste, um nur die Einladungen anzuzeigen, die eine Aktion Ihrerseits erforderlich machen. Fügen Sie dafür den -Parameter hinz --query 'resourceShareInvitations[?status==`PENDING`]'.

So zeigen Sie Einladungen zum Klonen von Clustern, die anderen AWS-Konten gehören, an
  1. Rufen Sie die AWS RAM-API-Operation GetResourceShareInvitations auf. Diese Operation gibt all diese Einladungen zurück, einschließlich derer, die Sie bereits angenommen oder abgelehnt haben.

  2. (Optional) Suchen Sie nur die Einladungen, die eine Aktion Ihrerseits erforderlich machen, indem Sie das Rückgabefeld resourceShareAssociations für den status-Wert PENDING aktivieren.

Annehmen von Einladungen zum Freigeben von Clustern, die anderen AWS-Konten gehören

Sie können Einladungen zur Freigabe von Clustern, die anderen AWS-Konten in anderen AWS-Organisationen gehören, annehmen. Um mit diesen Einladungen zu arbeiten, verwenden Sie die AWS CLI, die AWS RAM- und RDS-APIs oder die AWS RAM-Konsole. Aktuell können Sie dieses Verfahren nicht mithilfe der RDS-Konsole durchführen.

Anweisungen für das Arbeiten mit Einladungen in der AWS RAM-Konsole finden Sie im Artikel über das Zugreifen auf für Sie freigegebenen Ressourcen im AWS RAM-Benutzerhandbuch.

So nehmen Sie eine Einladung für die Freigabe eines Clusters von einem anderen AWS-Konto an
  1. Suchen Sie den Einladungs-ARN, indem Sie den AWS RAM-CLI-Befehl get-resource-share-invitations ausführen, wie oben gezeigt.

  2. Nehmen Sie die Einladung an, indem Sie den AWS RAM-CLI-Befehl accept-resource-share-invitation aufrufen, wie nachfolgend gezeigt.

    Für Linux, macOS oder Unix:

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn invitation_arn \ --region region

    Für Windows:

    aws ram accept-resource-share-invitation ^ --resource-share-invitation-arn invitation_arn ^ --region region
So nehmen Sie Einladung zur Freigabe eines Clusters, der jemand anderem gehört, an
  1. Suchen Sie den Einladungs-ARN, indem Sie die AWS RAM-API-Operation GetResourceShareInvitations aufrufen, wie oben gezeigt.

  2. Übergeben Sie diesen ARN als resourceShareInvitationArn-Parameter an die RDS-API-Operation AcceptResourceShareInvitation.

Klonen eines Aurora-Clusters, der einem anderen AWS-Konto gehört

Nach dem Annehmen der Einladung von dem AWS-Konto, das den DB-Cluster besitzt, wie oben gezeigt, können Sie den Cluster klonen.

So klonen Sie einen Aurora-Cluster, der einem anderen AWS-Konto gehört
  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 Databases (Datenbanken) aus.

    Ganz oben in der Datenbankliste sollten Sie mindestens ein Element mit dem Role (Rolle)-Wert Shared from account #account_id sehen. Aus Sicherheitsgründen können Sie nur eingeschränkte Informationen über die ursprünglichen Cluster sehen. Die Eigenschaften, die Sie sehen können, sind solche wie etwa die Datenbank-Engine und -Version, die in Ihrem geklonten Cluster identisch sein müssen.

  3. Wählen Sie den Cluster aus, den Sie vorhaben zu klonen.

  4. Wählen Sie für Actions (Aktionen) Create clone (Klon erstellen) aus.

  5. Gehen Sie entsprechend dem Verfahren unter Konsole vor, um die Einrichtung des geklonten Clusters durchzuführen.

  6. Aktivieren Sie je nach Bedarf die Verschlüsselung für den geklonten Cluster. Wenn der Cluster, den Sie klonen, verschlüsselt ist, müssen Sie die Verschlüsselung für den geklonten Cluster aktivieren. Das AWS-Konto, das den Cluster für Sie freigegeben hat, muss auch den KMS-Schlüssel freigeben, der zur Verschlüsselung des Clusters verwendet wurde. Sie können denselben KMS-Schlüssel zur Verschlüsselung des Klons verwenden oder Ihren eigenen KMS-Schlüssel. Sie können keinen kontoübergreifenden Klon für einen Cluster erstellen, der mit dem Standard-KMS-Schlüssel verschlüsselt ist.

    Das Konto, dem der Verschlüsselungsschlüssel gehört, muss dem Zielkonto die Berechtigung zur Verwendung des Schlüssels mithilfe einer Schlüsselrichtlinie erteilen. Dieser Vorgang ist ähnlich dem Verfahren, mit dem verschlüsselte Snapshots freigegeben werden, mithilfe einer Schlüsselrichtlinie, die dem Zielkonto die Berechtigung zur Verwendung des Schlüssels gewährt.

So klonen Sie einen Aurora-Cluster, der einem anderen AWS-Konto gehört
  1. Nehmen Sie die Einladung von dem AWS-Konto, dem der DB-Cluster gehört, an, wie oben gezeigt.

  2. Klonen Sie den Cluster, indem Sie den vollständigen ARN des Quell-Clusters im source-db-cluster-identifier-Parameter des RDS-CLI-Befehls restore-db-cluster-to-point-in-time angeben, wie nachfolgend gezeigt.

    Wenn der als source-db-cluster-identifier übergebene ARN nicht freigegeben wurde, wird derselbe Fehler zurückgegeben, wie wenn der angegebene Cluster nicht vorhanden ist.

    Für Linux, macOS oder Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier=arn:aws:rds:arn_details \ --db-cluster-identifier=new_cluster_id \ --restore-type=copy-on-write \ --use-latest-restorable-time

    Für Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier=arn:aws:rds:arn_details ^ --db-cluster-identifier=new_cluster_id ^ --restore-type=copy-on-write ^ --use-latest-restorable-time
  3. Wenn der Cluster, den Sie klonen, verschlüsselt ist, verschlüsseln Sie Ihren geklonten Cluster, indem Sie einen kms-key-id-Parameter einfügen. Dieser kms-key-id-Wert kann derselbe sein, der zur Verschlüsselung des ursprünglichen DB-Clusters verwendet wurde, oder Ihr eigener KMS-Schlüssel. Ihr Konto muss über die Berechtigung zum Verwenden dieses Verschlüsselungsschlüssels verfügen.

    Für Linux, macOS oder Unix:

    aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier=arn:aws:rds:arn_details \ --db-cluster-identifier=new_cluster_id \ --restore-type=copy-on-write \ --use-latest-restorable-time \ --kms-key-id=arn:aws:kms:arn_details

    Für Windows:

    aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier=arn:aws:rds:arn_details ^ --db-cluster-identifier=new_cluster_id ^ --restore-type=copy-on-write ^ --use-latest-restorable-time ^ --kms-key-id=arn:aws:kms:arn_details

    Das Konto, dem der Verschlüsselungsschlüssel gehört, muss dem Zielkonto die Berechtigung zur Verwendung des Schlüssels mithilfe einer Schlüsselrichtlinie erteilen. Dieser Vorgang ist ähnlich dem Verfahren, mit dem verschlüsselte Snapshots freigegeben werden, mithilfe einer Schlüsselrichtlinie, die dem Zielkonto die Berechtigung zur Verwendung des Schlüssels gewährt. Nachfolgend sehen Sie ein Beispiel für eine Schlüsselrichtlinie.

    { "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }
Anmerkung

Der AWS-CLI-Befehl restore-db-cluster-to-point-in-time stellt nur das DB-Cluster wieder her, nicht die DB-Instances für dieses DB-Cluster. Um DB-Instances für den wiederhergestellten DB-Cluster zu erstellen, rufen Sie den Befehl create-db-instance auf. Geben Sie die ID des wiederhergestellten DB-Clusters in --db-cluster-identifier an.

Sie können DB-Instances erst dann erstellen, wenn der Befehl restore-db-cluster-to-point-in-time abgeschlossen ist und der DB-Cluster verfügbar ist.

So klonen Sie einen Aurora-Cluster, der einem anderen AWS-Konto gehört
  1. Nehmen Sie die Einladung von dem AWS-Konto, dem der DB-Cluster gehört, an, wie oben gezeigt.

  2. Klonen Sie den Cluster, indem Sie den vollständigen ARN des Quell-Clusters im SourceDBClusterIdentifier-Parameter der RDS-API-Operation RestoreDBClusterToPointInTime angeben.

    Wenn der als SourceDBClusterIdentifier übergebene ARN nicht freigegeben wurde, dann wird derselbe Fehler zurückgegeben, wie wenn der angegebene Cluster nicht vorhanden ist.

  3. Wenn der Cluster, den Sie klonen, verschlüsselt ist, fügen Sie einen KmsKeyId-Parameter ein, um Ihren geklonten Cluster zu verschlüsseln. Dieser kms-key-id-Wert kann derselbe sein, der zur Verschlüsselung des ursprünglichen DB-Clusters verwendet wurde, oder Ihr eigener KMS-Schlüssel. Ihr Konto muss über die Berechtigung zum Verwenden dieses Verschlüsselungsschlüssels verfügen.

    Wenn Sie ein Volume klonen, muss das Zielkonto die Berechtigung haben, den Verschlüsselungsschlüssel zu verwenden, der zum Verschlüsseln des Quellclusters verwendet wird. Aurora verschlüsselt den neuen geklonten Cluster mit dem in KmsKeyId angegebenen Verschlüsselungsschlüssel.

    Das Konto, dem der Verschlüsselungsschlüssel gehört, muss dem Zielkonto die Berechtigung zur Verwendung des Schlüssels mithilfe einer Schlüsselrichtlinie erteilen. Dieser Vorgang ist ähnlich dem Verfahren, mit dem verschlüsselte Snapshots freigegeben werden, mithilfe einer Schlüsselrichtlinie, die dem Zielkonto die Berechtigung zur Verwendung des Schlüssels gewährt. Nachfolgend sehen Sie ein Beispiel für eine Schlüsselrichtlinie.

    { "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::account_id:user/KeyUser", "arn:aws:iam::account_id:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }
Anmerkung

Die RDS-API-Operation RestoredBClusterTopoIntinTime stellt nur den DB-Cluster wieder her, nicht die DB-Instances für diesen DB-Cluster. Um DB-Instances für den wiederhergestellten DB-Cluster zu erstellen, rufen Sie die RDS-API-Operation CreateDBInstance auf. Geben Sie die ID des wiederhergestellten DB-Clusters in DBClusterIdentifier an. Sie können DB-Instances erst erstellen, nachdem die Operation RestoreDBClusterToPointInTime abgeschlossen ist und der DB-Cluster verfügbar ist.

Überprüfen, ob ein DB-Cluster ein kontoübergreifender Klon ist

Das DBClusters-Objekt gibt an, ob der jeweilige Cluster ein kontoübergreifender Klon ist. Sie können die Cluster, für die Sie die Berechtigungen zum Klonen haben, anzeigen, indem Sie die include-shared-Option beim Ausführen des RDS-CLI-Befehls describe-db-clusters verwenden. Sie können jedoch die meisten Konfigurationsdetails für solche Cluster nicht anzeigen.

Überprüfen, ob ein DB-Cluster ein kontoübergreifender Klon ist
  • Rufen Sie den RDS-CLI-Befehl auf describe-db-clusters.

    Das folgende Beispiel zeigt, wie tatsächliche oder potenzielle kontoübergreifende Klon-DB-Cluster in der describe-db-clusters-Ausgabe angezeigt werden. Für bestehende Cluster, die IhremAWS-Konto gehören, zeigt das CrossAccountClone-Feld an, ob der Cluster ein Klon eines DB-Clusters ist, der einem anderen AWS-Konto gehört.

    In manchen Fällen kann ein Eintrag eine andere AWS-Kontonummer haben als Ihre im DBClusterArn-Feld. In diesem Fall steht dieser Eintrag für einen Cluster, der einem anderen AWS-Konto gehört und den Sie klonen können. Solche Einträge haben wenige andere Felder als DBClusterArn. Wenn Sie einen geklonten Cluster erstellen, geben Sie dieselben StorageEncrypted-, Engine- und EngineVersion-Werte wie im Original-Cluster an.

    $ aws rds describe-db-clusters --include-shared --region us-east-1 { "DBClusters": [ { "EarliestRestorableTime": "2019-05-01T21:17:54.106Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": false, ... }, { "EarliestRestorableTime": "2019-04-09T16:01:07.398Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": true, ... }, { "StorageEncrypted": false, "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh", "Engine": "aurora", "EngineVersion": "5.6.10a", } ] }
Überprüfen, ob ein DB-Cluster ein kontoübergreifender Klon ist
  • Rufen Sie die RDS-API-Operation DescribeDBClusters auf.

    Für bestehende Cluster im Besitz Ihres AWS-Kontos gibt das CrossAccountClone-Feld an, ob der Cluster ein Klon eines DB-Clusters ist, der einem anderen AWS-Konto gehört. Einträge mit einer anderen AWS-Kontonummer im DBClusterArn-Feld stellen Cluster dar, die Sie klonen können und die anderen AWS-Konten gehören. Diese Einträge haben wenige andere Felder als DBClusterArn. Wenn Sie einen geklonten Cluster erstellen, geben Sie dieselben StorageEncrypted-, Engine- und EngineVersion-Werte wie im Original-Cluster an.

    Das folgende Beispiel zeigt einen Rückgabewert, der sowohl tatsächliche als auch potenzielle geklonte Cluster zeigt.

    { "DBClusters": [ { "EarliestRestorableTime": "2019-05-01T21:17:54.106Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": false, ... }, { "EarliestRestorableTime": "2019-04-09T16:01:07.398Z", "Engine": "aurora", "EngineVersion": "5.6.10a", "CrossAccountClone": true, ... }, { "StorageEncrypted": false, "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh", "Engine": "aurora", "EngineVersion": "5.6.10a" } ] }