Wiederherstellung der RDS -Datenbank -Snapshot

Wiederherstellung der RDS -Datenbank -Snapshot

Was ist Amazon RDs?

Amazon RDS ist eine relationale Datenbank und ein webbasierter Dienst. Was es sich von herkömmlichen Datenbanken unterscheidet, ist, dass es sehr einfach ist, sich einzurichten, zu verwalten und vor allem skalierbar und bietet eine hohe Verfügbarkeit. Amazon bietet Ihnen mehrere Optionen der Datenbank -Engine zur Verwendung von RDS, e.G., Man kann bei den Datenbanken von Amazon Aurora, PostgreSQL, MySQL, Mariadb, Oracle und SQL Server wählen. Dies ist gut für Menschen, die daran denken, mit ihren ursprünglichen Anwendungen in die Cloud zu wandern,. Amazon RDS ist so konzipiert, dass Sie die gleiche Arbeitsumgebung in der Cloud bieten wie in Ihrer lokalen Umgebung. Dies bedeutet, dass dieselbe Anwendung reibungslos ausgeführt wird, sobald Sie sie in eine RDS-basierte MySQL-Datenbank migrieren.

Arten von AWS RDs

Amazon verfügt über verschiedene Arten von DB -Instanzen oder Datenbankinstanzen zum Ausführen von RDS. Die RDS -Datenbank, die in diesen DB -Instanzen ausgeführt wird, wird, wie bereits erwähnt, von Datenbankmotoren wie PostgreSQL, MySQL, Mariadb usw. unterstützt. Man kann die AWS -Management -Konsole, die Amazon RDS -APIs oder die AWS -CLI -Version verwenden, um eine RDS -Instanz zu erstellen. Im Moment werden wir den Befehlszeilenansatz zum Erstellen einer RDS -Instanz verwenden.

Was werden wir hier erkunden??

Diese Anleitung zeigt Ihnen, wie Sie einen MySQL RDS -DB -Instanz -Snapshot mit AWS CLI wiederherstellen können. Wir verwenden den AWS -CLI -Ansatz aus der Perspektive des Benutzers IAM. Wir haben jedoch die Verwaltungskonsole des Root -Benutzerkontos auf AWS verwendet, um den IAM -Benutzer zu erstellen und ihm die erforderlichen Richtlinien zuzuweisen. Wir werden dieses IAM -Benutzerkonto mit begrenzten Berechtigungen verwenden. Das gleiche Tutorial kann auch mit der Verwaltungskonsole durchgeführt werden. Lassen Sie uns nun den AWS IAM -Benutzer vorantreiben.

Erstellen eines IAM -Benutzer

Cloud -Service -Anbieter bieten in der Regel eine IAM- oder IAM- oder Identity- und Access -Verwaltungsfunktion an, um einem Benutzerroot -Konto zusätzliche Sicherheit zu geben. In einer Arbeitsumgebung, die jedem Benutzer Zugriff auf ein Stammkonto oder die Verwaltung von Diensten direkt aus der Stamme erhält, ist das Konto anfällig für Sicherheitsbedrohungen. Stattdessen können wir Benutzer mit spezifischen Berechtigungen erstellen, um eine Eskalationsprobleme für Privilegien zu vermeiden. Dies ähnelt dem Erstellen von Benutzern in Linux mit begrenztem Zugriff auf Systemdateien und andere Ressourcen. In diesem praktischen Labor erstellen wir einen IAM-Benutzer mit minimalen Zugriffsrechten, die für die Durchführung von RDS-Datenbankvorgängen erforderlich sind. Der Benutzer kann die folgenden Operationen ausführen:

1. DB Snapshot erstellen und löschen

2. DB Snapshot wiederherstellen

Befolgen Sie die folgenden Anweisungen, um den IAM -Benutzer für die oben genannten Vorgänge zu erstellen:

Schritt 1. Gehen Sie zur AWS IAM -Konsole und klicken Sie auf die Schaltfläche "Benutzer hinzufügen".

Schritt 2. Geben Sie Ihrem Benutzer einen geeigneten Namen an und weisen Sie ein Passwort zu. Da wir mit dem Benutzer mithilfe von AWS CLI interagieren, haben wir das Kästchen "Zugriffsschlüssel" überprüft. Darüber hinaus haben wir auch die Verwaltungskonsolenzugriff auf diesen Benutzer gewährt.

Schritt 3. In den weiteren Schritten können wir diesen Benutzer auch einer Gruppe hinzufügen, aber wir haben dies vorerst übersprungen. Klicken Sie nun auf "Weiter: Tags", um fortzufahren:

Schritt 4. (Optional) können wir Tags (Schlüsselwertpaar) hinzufügen, um unseren Benutzer zu organisieren.

Schritt 5. Überprüfen Sie auf dem nächsten Bildschirm die Einstellungen für Ihren Benutzer:

Schritt 6. Wenn Sie auf die Schaltfläche "Benutzer erstellen" klicken, werden Sie aufgefordert, Ihre Zugriffsschlüssel herunterzuladen. Halten Sie diese Schlüssel geheim und setzen Sie sie an einen sicheren Ort, da sie nur einmal heruntergeladen werden können. Ihr Benutzer ist jetzt im Abschnitt IAM -Benutzer verfügbar:

Schritt 7. Jetzt werden wir einen Inline-Richtlinie für diesen Benutzer hinzufügen, über den er die oben angegebenen Datenbankvorgänge ausführt. Klicken Sie im Abschnitt IAM -Benutzer auf Ihren Benutzernamen. Klicken Sie auf dem neuen Bildschirm unter der Registerkarte "Berechtigungen" auf das Etikett "Inline -Richtlinie hinzufügen":

Ein neuer Assistent namens "Erstellen einer Richtlinie" wird angezeigt, wo Sie die Registerkarte JSON auswählen und dort den folgenden Code einfügen müssen:


"Version": "2012-10-17",
"Stellungnahme": [

"Effekt": "erlauben",
"Aktion": [
"EC2: Beschreiben Sie*",
"RDS: CreatedBParameterGroup",
"RDS: CreatedBsnapshot",
"RDS: Deletedbsnapshot",
"RDS: Beschreiben Sie*",
"RDS: DownloadDblogFilePortum",
"RDS: Liste*",
"RDS: ModifyDBinstance",
"RDS: ModifyDbParameterGroup",
"RDS: ModifyoptionGroup",
"RDS: Neustartdbinstanz",
"RDS: restauredBinstanceFromdbsnapshot",
"RDS: restauredBinstancetopointintime"
],
"Ressource": "*"

]

Notiz: Sie können diese Richtlinie ändern, damit der Benutzer andere RDS -basierte Vorgänge ausführen kann.

Schritt 8. Klicken Sie nun unten auf die Schaltfläche "Überprüfung der Richtlinie":

Schritt 9. Geben Sie Ihrer Richtlinie einen geeigneten Namen und klicken Sie auf die Schaltfläche „Richtlinien erstellen“:

Die obige Inline -Richtlinie ist jetzt auf der IAM -Benutzerkonsole zu sehen:

Erste Schritte mit AWS CLI

Nachdem wir einen IAM -Benutzer erstellt haben, können wir mit der AWS CLI fortfahren. Die AWS -CLI -Schnittstelle kann auf Ihrem lokalen Computer installiert werden. Wir haben AWS CLI auf unserem Ubuntu 20 installiert.04 Maschine. Wir werden nun eine Verbindung zu unserem AWS IAM -Konto mit den zuvor heruntergeladenen Benutzeranmeldungen herstellen, während wir diesen Benutzer erstellt haben. Die Datei der Anmeldeinformationen, die als 'new_user_credentials bezeichnet wird.CSV 'enthält die "Zugriffsschlüssel -ID", "geheime Zugriffstaste", "Konsolenanmeldeleg" wie unten gezeigt:

Jetzt konfigurieren wir unser lokales Maschinenterminal für die Verwendung mit AWS. Öffnen Sie ein neues Terminal und Typ:

$ aws konfigurieren

Es wird nach dem Zugriffsschlüssel -ID, dem geheimen Zugriffstaste, dem Namen Ihrer bevorzugten Region und dem Ausgangsformat (JSON, YAML, Text oder Tabelle) gefragt. Geben Sie hier Ihre Anmeldeinformationen und Vorlieben ein. Im Bild unten sehen Sie, welche Werte wir für diese Parameter ausgewählt haben:

Das alles konfiguriert AWS CLI für unseren IAM -Benutzer.

Wir sind eine Datenbankinstanzen mit der folgenden Konfiguration:

Motor = MySQL
DB-Instance-Identifikator = DB-LinuxHint
DB-Instance-Klasse = DB.t2.Mikro
zugewiesene Storage = 20
Master-Username = Demo
Master-User-Password = 12345678
Backup-Retention-Periode = 0

Sobald die DB -Instanz einen verfügbaren Status in der Verwaltungskonsole des IAM -Benutzers zeigt:

Um diesen Leitfaden zu demonstrieren, brauchen wir zuerst einen Schnappschuss, bevor wir sie wiederherstellen. Gegenwärtig haben wir keinen Schnappschuss für unsere Datenbankinstanz:

Lassen Sie uns einen Schnappschuss unserer DB -Instanz mit AWS CLI erstellen:

$ aws rds create-db-snapshot-DB-Instance-Identifikator DB-LinuxHint-DB-Snapshot-Identifikator DB-Snappy

Die Option "-DB-Instanz-Identifier" gibt den Namen unserer DB-Instanz an. Die Option "-db-snapshot-Identifier" gibt den Namen des zu erstellenden Snapshots an (hier ist sie "db-snappy").

Im Abschnitt RDS Snapshots ist der Snapshot jetzt verfügbar:

Wiederherstellung der RDS -Datenbank -Snapshot

Wir können die tatsächliche DB -Instanz löschen und sie aus dem in den oben genannten Schritten erstellten Snapshot wiederherstellen oder eine neue Datenbankinstanz mit diesem Snapshot erstellen. Lassen Sie uns mit dem späteren Ansatz bewegen. Führen Sie auf Ihrem AWS CLI den Befehl aus:

$ aws rds restore-db-instance-from-db-snapshot \
--DB-Instance-Identifikator DB-SNAP-RESTORDED \
--db-snapshot-identifizierer db-snappy \
--DB-Instance-Klasse DB.t2.Micro \
--No öffentlich zugänglich

Hier gibt '-DB-Instance-Identifikator' den Namen (DB-SNAP-RESTORD) der neuen DB-Instanz an, die aus dem Snapshot wiederhergestellt wurde. '-db-snapshot-identifier' Gibt den Namen (DB-Snappy) des Snapshots an, mit dem die DB-Instanz wiederhergestellt werden kann. Aus der Verwaltungskonsole des IAM -Benutzers können wir die neue DB -Instanz sehen, die wir aus dem Snapshot wiederhergestellt haben:

Schlussnotiz: Vergessen Sie nicht, die nicht verwendeten Ressourcen aufzuräumen, um unerwartete Gebühren zu vermeiden.

Abschluss

Das ist alles fürs Erste. Wir haben eine MySQL RDS -DB -Instanz mit der AWS CLI erfolgreich wiederhergestellt. Viele Personen und Tutorials online verwenden das Root -Benutzerkonto, um die AWS -Ressourcen wie RDS, EC2 usw. zu verwalten. Aber wir haben das Stammkonto nicht verwendet; Stattdessen haben wir ein IAM -Benutzerkonto verwendet, um mit dieser DB. Darüber hinaus haben wir diesem IAM -Benutz.