Przywracanie migawek bazy danych RDS

Przywracanie migawek bazy danych RDS

Co to jest Amazon RDS?

Amazon RDS to relacyjna baza danych i usługa internetowa. To, co różni się od tradycyjnych baz danych, jest to, że jest bardzo proste do konfigurowania, zarządzania, a co najważniejsze, jest skalowalne i zapewnia wysoką dostępność. Amazon zapewnia wiele opcji silnika bazy danych do korzystania z RDS, E.G., Można wybierać spośród baz danych Amazon Aurora, PostgreSQL, MySQL, Mariadb, Oracle i SQL Server. Jest to dobre dla osób myślących o migracji do chmury z oryginalnymi aplikacjami. Amazon RDS ma na celu zapewnienie tego samego środowiska pracy w chmurze, co w środowisku lokalnym. Oznacza to, że jeśli masz aplikację uruchamiającą oprogramowanie MySQL, ta sama aplikacja będzie działać płynnie po migracji do bazy danych MySQL opartej na RDS.

Rodzaje AWS RDS

Amazon ma różne typy instancji DB lub instancji bazy danych do uruchamiania RDS. Baza danych RDS działająca w tych instancjach DB, jak wspomniano wcześniej, jest wspierana przez silniki bazy danych, takie jak PostgreSQL, MySQL, MARIADB itp. Można użyć konsoli zarządzania AWS, API Amazon RDS lub wersji AWS CLI, aby utworzyć instancję RDS. Na razie będziemy używać podejścia wiersza poleceń do tworzenia instancji RDS.

Co tu zbadamy?

Ten przewodnik pokaże, jak przywrócić migawkę instancji MySQL RDS DB. Korzystamy z podejścia AWS CLI z perspektywy użytkownika IAM; Jednak użyliśmy konsoli zarządzania konta użytkownika głównego na AWS do utworzenia użytkownika IAM i przypisania jej wymaganych zasad. Użyjemy tego konta użytkownika IAM z ograniczonymi uprawnieniami. Ten sam samouczek można również wykonać za pomocą konsoli zarządzania. Idźmy teraz do przodu z użytkownikiem AWS IAM.

Tworzenie użytkownika IAM

Dostawcy usług w chmurze zwykle oferują funkcję IAM lub tożsamość i zarządzanie dostępem, aby zapewnić dodatkowe bezpieczeństwo konto użytkownika. W środowisku pracy zapewniającym każdemu użytkownikowi dostęp do konta root lub zarządzanie usługami bezpośrednio z głównego, konto jest podatne na zagrożenia bezpieczeństwa. Zamiast tego możemy tworzyć użytkowników z określonymi uprawnieniami, aby uniknąć problemów eskalacji uprawnień. Jest to podobne do tworzenia użytkowników w Linux z ograniczonym dostępem do plików systemowych i innych zasobów. Tak więc w tym praktycznym laboratorium utworzymy użytkownika IAM z minimalnymi prawami dostępu wymaganymi do wykonywania operacji bazy danych RDS. Użytkownik będzie mógł wykonywać poniższe operacje:

1. Utwórz i usuń migawkę DB

2. Przywróć migawkę DB

Aby utworzyć użytkownika IAM dla powyższych operacji, postępuj zgodnie z poniższymi instrukcjami:

Krok 1. Przejdź do konsoli AWS IAM i kliknij przycisk „Dodaj użytkowników”.

Krok 2. Podaj odpowiednią nazwę użytkownikowi i przypisz hasło. Ponieważ wchodzimy w interakcje z użytkownikiem za pomocą AWS CLI, sprawdziliśmy pole tyknięcia „Klucza dostępu”. Ponadto daliśmy również dostęp do konsoli zarządzania tego użytkownika.

Krok 3. W dalszych krokach możemy również dodać tego użytkownika do grupy, ale na razie pominęliśmy to. Teraz kliknij „Dalej: Tagi”, aby kontynuować:

Krok 4. (Opcjonalnie), możemy dodać tagi (para wartości kluczowej), aby zorganizować nasz użytkownik.

Krok 5. Na następnym ekranie przejrzyj ustawienia użytkownika:

Krok 6. Po kliknięciu przycisku „Utwórz użytkownika”, zostaniesz poproszony o pobranie klawiszy dostępu. Zachowaj te klucze w tajemnicy i umieść je w bezpiecznym miejscu, ponieważ są one dostępne do pobrania tylko raz. Twój użytkownik będzie teraz dostępny w sekcji Użytkownicy IAM:

Krok 7. Teraz dodamy zasadę wbudowaną dla tego użytkownika, poprzez które będzie wykonywać wyżej określone operacje bazy danych. W sekcji Użytkownicy IAM kliknij nazwę użytkownika. Na nowym ekranie kliknij etykietę „Dodaj zasady inline” na karcie „Uprawnienia”:

Pojawi się nowy czarodziej nazwany „Utwórz politykę”, w którym musisz wybrać kartę JSON i wkleić poniższy kod:


„Wersja”: „2012-10-17”,
"Oświadczenie": [

„Efekt”: „Pozwól”,
"Działanie": [
„EC2: Opisz*”,
„RDS: CreedBParameterGroup”,
„RDS: Creatlebsnapshot”,
„RDS: DeletEdbsnapshot”,
„RDS: Opisz*”,
„RDS: DownloadDblogFilePortion”,
„RDS: lista*”,
„RDS: ModyfifDBinstance”,
„RDS: ModyfigyDBParameterGroup”,
„RDS: ModifyoptionGroup”,
„RDS: restbootdbinstance”,
„RDS: RESTORODBINSTANCEFROMDBSNAPSHOT”,
„RDS: RESTORODBINSTANCETOPINTINTIME”
],
„Zasób”: „*”

]

Notatka: Możesz zmodyfikować te zasady, aby umożliwić użytkownikowi wykonywanie innych operacji opartych na RDS.

Krok 8. Teraz kliknij przycisk „Polityka recenzji” u dołu:

Krok 9. Podaj odpowiednią nazwę zasad i kliknij przycisk „Utwórz zasady”:

Powyższe zasady wbudowanej można teraz zobaczyć na konsoli użytkownika IAM:

Rozpoczęcie pracy z AWS CLI

Teraz, gdy stworzyliśmy użytkownika IAM, możemy kontynuować AWS CLI. Interfejs AWS CLI może być zainstalowany na lokalnym komputerze. Zainstalowaliśmy AWS CLI na naszym Ubuntu 20.04 Maszyna. Połączymy się teraz z naszym kontem AWS IAM za pomocą poświadczeń użytkowników, które pobraliśmy wcześniej podczas tworzenia tego użytkownika. Plik poświadczeń, nazwany „new_user_credentials.CSV ', zawiera „Identyfikator klucza dostępu”, „Tajny klucz dostępu”, „link logowania konsoli”, jak pokazano poniżej:

Teraz skonfigurujemy nasz lokalny terminal maszyny do używania go z AWS. Otwórz nowy terminal i wpisz:

$ AWS konfiguruj

Poprosi o identyfikator klucza dostępu, tajny klucz dostępu, nazwę preferowanego regionu i format wyjściowy (JSON, YAML, tekst lub tabela). Wprowadź tutaj swoje poświadczenia i preferencje. Na poniższym zdjęciu możesz zobaczyć, jakie wartości wybraliśmy dla tych parametrów:

To wszystko konfiguruje AWS CLI dla naszego użytkownika IAM.

Mamy instancje bazy danych z następującą konfiguracją:

silnik = mysql
DB-instance-identyfier = db-linuxhint
db-instance-klasa = db.T2.mikro
alokowany storage = 20
Master-Username = demo
Master-User-Password = 12345678
Akwencja kopii zapasowej-retencyjna = 0

Gdy instancja DB pokazuje dostępny status w konsoli zarządzania użytkownika IAM:

Aby zademonstrować ten przewodnik, najpierw potrzebujemy migawki przed jego przywróceniem. Obecnie nie mamy żadnej migawki dla naszej instancji bazy danych:

Utwórzmy migawkę naszej instancji DB za pomocą AWS CLI:

$ AWS RDS Create-DB-Snapshot--DB-instance-identifier db-linuxhint--db-snapshot-identyfikator db-snappy

Opcja „-db-instance-identifier” określa nazwę naszej instancji DB. Opcja „-db-snapshot-identyfikator” określa nazwę migawki do utworzenia (tutaj jest „db-snappy”).

W sekcji migawki RDS migawka będzie teraz dostępna:

Przywracanie migawek bazy danych RDS

Możemy wybrać faktyczną instancję DB i przywrócić ją z migawki, którą utworzyliśmy w powyższych krokach lub utworzyć nową instancję bazy danych za pomocą tej migawki. Poruszajmy się z późniejszym podejściem. Na swoim AWS CLI uruchom polecenie:

$ AWS RDS RESTORE-DB-INSTANCE-FRO-DB-SNAPSHOT \
--DB-instance-identifier DB-SNAP-RESTRED \
--db-snapshot-identifier db-snappy \
--DB DB-instance DB.T2.micro \
--bez publikacji

Tutaj „-db-instance-identyfier” określa nazwę (reestji db-snap) nowej instancji DB przywróconej z migawki. „-DB-Snapshot-identyfier” określa nazwę (db-snappy) migawki używanej do przywrócenia instancji DB. Z konsoli zarządzania użytkownika IAM możemy zobaczyć nową instancję DB, którą przywróciliśmy z migawki:

Ostateczna uwaga: Nie zapomnij oczyszczyć zasobów, które nie są używane, aby uniknąć nieoczekiwanych opłat.

Wniosek

To wszystko na teraz. Z powodzeniem przywróciliśmy instancję MySQL RDS DB za pomocą AWS CLI. Wiele osób i samouczków online korzysta z konta użytkownika głównego do zarządzania zasobami AWS, takimi jak RDS, EC2 itp. Ale nie użyliśmy konta głównego; Zamiast tego użyliśmy konta użytkownika IAM do pracy z tą instancją DB, co jest dość dobrą praktyką z punktu widzenia bezpieczeństwa. Dodatkowo zapewniliśmy temu użytkownikowi IAM minimalne uprawnienia wymagane dla użytkownika do wykonywania podstawowych operacji RDS.