AWS kann die DB-Subnetzgruppe für AWS RDS nicht ändern


14

Wir müssen (wollen ..) unsere DB-Subnetzgruppen in AWS umbenennen, also habe ich eine neue DB-Subnetzgruppe mit den gleichen Einstellungen wie die alte erstellt. Wenn ich die Gruppe in der AWS-GUI auf "Registerkarte ändern" schalten und auf "Anwenden" klicken möchte, gibt aws Folgendes zurück:

Sie können die DB-Instanz XXX nicht in die Subnetzgruppe XXX verschieben. Die angegebene DB-Subnetzgruppe und die DB-Instanz befinden sich in derselben VPC. Wählen Sie eine DB-Subnetzgruppe in einer anderen VPC als der angegebenen DB-Instanz und versuchen Sie es erneut. (Dienst: AmazonRDS; Statuscode: 400; Fehlercode: InvalidVPCNetworkStateFault; Anforderungs-ID: 7d46c84c-b22a-11e6-be20-b5bb6bd6cc6d)

Irgendwelche Vorschläge? Oder ist es einfach nicht möglich, ohne die gesamte Instanz neu zu erstellen?

Antworten:


20

Ich hatte vor einigen Monaten dieselbe Frage und wandte mich schließlich an AWS (ich habe Enterprise-Support). Dies war das Ergebnis:

Leider wird das Verschieben der DB-Instanz-Subnetzgruppe in eine andere Subnetzgruppe in derselben VPC derzeit nicht unterstützt. Mir ist klar, dass unsere Dokumentation besagt, dass es unterstützt wird, aber das ist ein Fehler. Wir arbeiten derzeit daran, unsere Dokumentation zu aktualisieren, um dies widerzuspiegeln, und ich entschuldige mich für die falsche Kommunikation.

Ich habe jedoch eine Problemumgehung. Sie können eine neue temporäre VPC erstellen, die Subnetzgruppe so aktualisieren, dass sie auf diese temporäre VPC verweist. Wenn dieser Vorgang abgeschlossen ist, ändern Sie die Subnetzgruppe so, dass sie wieder auf Ihre neue Subnetzgruppe verweist.

Alternativ besteht eine andere Möglichkeit darin, einen Datenbank-Snapshot zu erstellen und eine neue Instanz aus dem Snapshot zu starten.

Vielleicht möchten Sie sich beide Ansätze ansehen. Beide Methoden verursachen wahrscheinlich Ausfallzeiten, es sei denn, Sie können Ihre Anwendung eine Weile im schreibgeschützten Modus ausführen oder haben eine Methode zum Wiedergeben von Transaktionen für den wiederhergestellten Snapshot.


Ich mag die temporäre VPC-Option. Die DB-Snapshot-Methode funktioniert
einwandfrei, hat

Das ist eine gute Idee. Sie brauchen nicht wirklich einen temporären VPC, nur einen anderen VPC.
Brian Thomas

3

Was ich getan habe -> Erstellen Sie einen Snapshot, stellen Sie den Snapshot wieder her und wählen Sie Ihre neue Subnetzgruppe aus, die nur öffentliche oder gewünschte Subnetze enthält, und ... voilá

Die Subnetzgruppenoption für Aurora kann nur beim Erstellen der Instanz festgelegt werden und kann danach nicht mehr geändert werden.


3

Die folgenden Schritte können ausgeführt werden, um die Subnetzgruppe in VPC zu ändern:

  1. Konvertieren Sie die Prod DB-Instanz in eine Single Availability Zone (falls Multi-AZ aktiviert).

  2. Ändern Sie die Subnetzgruppe, indem Sie eine Standard- / andere VPC-Subnetzgruppe auswählen, und fahren Sie mit Sofort anwenden fort

  3. Ändern Sie anschließend die Subnetzgruppe erneut, indem Sie die neue auswählen, die Sie möchten

  4. Wählen Sie außerdem relevante Sicherheitsgruppen aus und fahren Sie mit Sofort anwenden fort

  5. Überprüfen Sie die Konnektivität von Servern

  6. Konvertieren Sie es dann wieder in ein Multi-AZ

Hinweis: Die Zeit zum Ausführen der obigen Schritte dauert etwa 40 bis 50 Minuten


1

Scheint, dass zweieinhalb Jahre in und dieses Problem weiterhin besteht. Das größte Problem besteht darin, dass ich meine Infrastruktur über Cloudformation aktualisiere. Aus der Dokumentation geht hervor, dass die richtige Änderungsstrategie beim Ändern des DB-Subnetznamens ein Ressourcenersatz ist. Dies scheint nicht der Fall zu sein, wenn ich mir meinen Stapeländerungssatz ansehe, in dem die DB-Subnetzressource ersetzt werden soll hat das Flag "False" und danach schlägt die Stapelaktualisierung mit der DB-Subnetzgruppe mit "Internal Error" fehl.

Jetzt muss ich Ressourcen im Wesentlichen manuell ändern, damit sie korrekt aktualisiert werden, obwohl dies völlig gegen die Verwendung von CloudFormation verstößt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.