Einrichtung einer globalen Datenbank in Amazon Neptune - Amazon Neptune

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.

Einrichtung einer globalen Datenbank in Amazon Neptune

Sie können eine globale Neptune-Datenbank auf eine der folgenden Arten erstellen:

Konfigurationsanforderungen für eine globale Datenbank in Amazon Neptune

Eine globale Neptune-Datenbank umfasst mindestens zwei AWS-Regionen. Die primäre AWS-Region enthält einen Neptune-DB-Cluster mit einer Writer-Instance. Eine bis fünf sekundäre AWS-Regionen enthalten jeweils einen schreibgeschützten Neptune-DB-Cluster, der vollständig aus Lesereplikat-Instances besteht. Mindestens eine sekundäre AWS-Region ist erforderlich.

Die Neptune-DB-Cluster, aus denen eine globale Datenbank besteht, haben die folgenden spezifischen Anforderungen:

  • DB-Instance-Klassenanforderungen – Eine globale Datenbank erfordert Die DB-Instance-Klasse r5 oder r6g, die für speicherintensive Workloads optimiert sind, wie z. B. einen db.r5.large-Instance-Typ.

  • AWS-Region-Anforderungen – Eine globale Datenbank benötigt einen primären Neptune-DB-Cluster in einer AWS-Region und mindestens einen sekundären Neptune-DB-Cluster in einer anderen Region. Sie können bis zu fünf sekundäre schreibgeschützte Neptune-DB-Cluster erstellen und jeder davon muss sich in einer anderen Region befinden. Mit anderen Worten: Es können sich keine zwei Neptune-DB-Cluster in derselben AWS-Region befinden.

  • Anforderungen an die Engine-Version – Die Neptune-Engine-Version, die von allen DB-Clustern in der globalen Datenbank verwendet wird, sollte identisch sein und muss größer oder gleich 1.2.0.0 sein. Wenn Sie bei der Erstellung einer neuen globalen Datenbank, eines Clusters oder einer Instance die Engine-Version nicht angeben, wird die neueste Engine-Version verwendet.

Wichtig

Obwohl die DB-Cluster-Parametergruppen unabhängig für jeden DB-Cluster in einer globalen Datenbank konfiguriert werden können, empfiehlt es sich, die Einstellungen in allen Clustern konsistent zu halten, um unerwartete Verhaltensänderungen zu vermeiden, wenn ein sekundärer Cluster zum primären Cluster heraufgestuft werden muss. Verwenden Sie beispielsweise die gleichen Einstellungen für Objektindizes, Streams usw. in allen DB-Clustern.

Verwenden der AWS CLI, um eine globale Datenbank in Amazon Neptune zu erstellen

Anmerkung

Die Beispiele in diesem Abschnitt folgen der UNIX-Konvention mit einem umgekehrten Schrägstrich (\) als Zeilenerweiterungszeichen. Ersetzen Sie unter Windows den umgekehrten Schrägstrich durch ein Caret-Zeichen (^).

So erstellen Sie eine globale Datenbank mit der AWS CLI
  1. Erstellen Sie zunächst mit dem create-global-cluster AWS CLI-Befehl (der die CreateGlobalCluster-API umschließt) eine leere globale Datenbank. Geben Sie den Namen der AWS-Region,an, die Sie als primäre Region verwenden möchten, legen Sie Neptune als Datenbank-Engine fest und geben Sie optional die Engine-Version an, die Sie verwenden möchten (dies muss Version 1.2.0.0 oder höher sein):

    aws neptune create-global-cluster --region (primary region, such as us-east-1) \ --global-cluster-identifier (ID for the global database) \ --engine neptune \ --engine-version (engine version; this is optional)
  2. Es kann einige Minuten dauern, bis die globale Datenbank verfügbar ist. Bevor Sie mit dem nächsten Schritt fortfahren, überprüfen Sie mit dem describe-global-clusters-CLI-Befehl (der die DescribeGlobalClusters-API umschließt), ob die globale Datenbank verfügbar ist:

    aws neptune describe-global-clusters \ --region (primary region) \ --global-cluster-identifier (global database ID)
  3. Sobald die globale Neptune-Datenbank verfügbar ist, können Sie einen neuen Neptune-DB-Cluster als primären Cluster erstellen:

    aws neptune create-db-cluster \ --region (primary region) \ --db-cluster-identifier (ID for the primary DB cluster) \ --engine neptune \ --engine-version (engine version; must be >= 1.2.0.0) \ --global-cluster-identifier (global database ID)
  4. Bestätigen Sie mit dem AWS CLI-Befehl describe-db-clusters, dass der neue DB-Cluster bereit ist, seine primäre DB-Instance hinzuzufügen:

    aws neptune describe-db-clusters \ --region (primary region) \ --db-cluster-identifier (primary DB cluster ID)

    Wenn die Antwort den Status "Status": "available" anzeigt, fahren Sie mit dem nächsten Schritt fort.

  5. Erstellen Sie mit dem AWS CLI-Befehl create-db-instance die primäre DB-Instance für den primären Cluster. Sie müssen einen der speicheroptimierten Instance-Typen r5 oder r6g verwenden, z. B. db.r5.large

    aws neptune create-db-instance \ --region (primary region) \ --db-cluster-identifier (primary cluster ID) \ --db-instance-class (instance class) \ --db-instance-identifier (ID for the DB instance) \ --engine neptune \ --engine-version (optional: engine version)
Anmerkung

Wenn Sie planen, dem neuen primären DB-Cluster mithilfe des Neptune-Bulk-Loaders Daten hinzuzufügen, tun Sie dies, bevor Sie sekundäre Regionen hinzufügen. Dies ist schneller und kostengünstiger als das Durchführen eines Massenladevorgangs, nachdem die globale Datenbank vollständig eingerichtet ist.

Fügen Sie nun der neuen globalen Datenbank eine oder mehrere sekundäre Regionen hinzu, wie unter Hinzufügen einer sekundären Region mit der AWS CLI beschrieben.

Umwandlung eines vorhandenen DB-Clusters in eine globale Datenbank

Um einen vorhandenen DB-Cluster in eine globale Datenbank umzuwandeln, verwenden Sie den create-global-cluster AWS CLI-Befehl, um eine neue globale Datenbank in derselben AWS-Region zu erstellen, in der sich der vorhandene DB-Cluster befindet. Setzen Sie ihren --source-db-cluster-identifier-Parameter auf den Amazon-Ressourcennamen (ARN) des vorhandenen Clusters, der sich dort befindet:

aws neptune create-global-cluster \ --region (region where the existing cluster is located) \ --global-cluster-identifier (provide an ID for the new global database) \ --source-db-cluster-identifier (the ARN of the existing DB cluster) \ --engine neptune \ --engine-version (engine version; this is optional)

Fügen Sie nun der neuen globalen Datenbank eine oder mehrere sekundäre Regionen hinzu, wie unter Hinzufügen einer sekundären Region mit der AWS CLI beschrieben.

Verwenden eines aus einem Snapshot wiederhergestellten DB-Clusters als primärer Cluster

Sie können einen aus einem Snapshot wiederhergestellten DB-Cluster in eine globale Neptune-Datenbank umwandeln. Machen Sie nach Abschluss der Wiederherstellung den dadurch erstellten DB-Cluster wie oben beschrieben zum primären Cluster einer neuen globalen Datenbank.

Hinzufügen sekundärer globaler Datenbankregionen zu einer primären Region in Amazon Neptune

Eine globale Datenbank benötigt mindestens einen sekundären -DB-Cluster in einer anderen AWS-Region als der primäre DB-Cluster. Sie können bis zu fünf sekundäre DB-Cluster an den primären DB-Cluster anfügen.

Jeder sekundäre DB-Cluster, den Sie hinzufügen, reduziert die maximale Anzahl von Lesereplikat-Instances, die Sie auf dem primären Cluster haben können, um einen. Wenn es beispielsweise 4 sekundäre Cluster gibt, beträgt die maximale Anzahl von Lesereplikat-Instances, die Sie auf dem primären Cluster haben können, 15 - 4 = 11. Wenn Sie zum Beispiel 14 Reader-Instances im primären DB-Cluster und einen sekundären Cluster haben, können Sie keinen weiteren sekundären Cluster hinzufügen.

Verwenden der AWS CLI, um einer globalen Datenbank in Neptune eine sekundäre Region hinzuzufügen

So fügen Sie mit der AWS CLI einer globalen Neptune-Datenbank eine sekundäre AWS-Region hinzu
  1. Verwenden Sie den create-db-cluster AWS CLI-Befehl, um einen neuen DB-Cluster in einer anderen Region als der Ihres primären Clusters zu erstellen, und legen Sie dessen --global-cluster-identifier-Parameter fest, um die ID der globalen Datenbank anzugeben:

    aws neptune create-db-cluster \ --region (the secondary region) \ --db-cluster-identifier (ID for the new secondary DB cluster) \ --global-cluster-identifier (global database ID) --engine neptune \ --engine-version (optional: engine version)
  2. Bestätigen Sie mit dem AWS CLI-Befehl describe-db-clusters, dass der neue DB-Cluster bereit ist, seine primäre DB-Instance hinzuzufügen:

    aws neptune describe-db-clusters \ --region (primary region) \ --db-cluster-identifier (primary DB cluster ID)

    Wenn die Antwort den Status "Status": "available" anzeigt, fahren Sie mit dem nächsten Schritt fort.

  3. Erstellen Sie die primäre DB-Instance für den primären Cluster mithilfe des create-db-instance AWS CLI-Befehls und verwenden Sie dabei einen Instance-Typ in der Instance-Klasse r5 oder r6g:

    aws neptune create-db-instance \ --region (secondary region) \ --db-cluster-identifier (secondary cluster ID) \ --db-instance-class (instance class) \ --db-instance-identifier (ID for the DB instance) \ --engine neptune \ --engine-version (optional: engine version)
Anmerkung

Wenn Sie nicht beabsichtigen, eine große Anzahl von Leseanfragen in der sekundären Region zu bearbeiten, und Ihnen hauptsächlich wichtig ist, Ihre Daten dort zuverlässig zu sichern, können Sie einen sekundären DB-Cluster ohne DB-Instances erstellen. Dies spart Geld, da Sie dann nur für den Speicher des sekundären Clusters zahlen, den Neptune mit dem Speicher im primären DB-Cluster synchronisiert.

Herstellen einer Verbindung mit einer globalen Neptune-Datenbank

Wie Sie eine Verbindung mit einer globalen Neptune-Datenbank herstellen, hängt davon ab, ob Sie in die Datenbank schreiben oder aus der Datenbank lesen müssen:

  • Bei Nur-Lese-Anfragen oder Abfragen stellen Sie eine Verbindung zum Reader-Endpunkt des Aurora-Clusters in Ihrer AWS-Region her.

  • Um Mutationsabfragen auszuführen, stellen Sie eine Verbindung zum Cluster-Endpunkt für den primären DB-Cluster her, der sich möglicherweise in einer anderen AWS-Region als Ihre Anwendung befindet.