Gjenopprette RDS -databasens øyeblikksbilde

Gjenopprette RDS -databasens øyeblikksbilde

Hva er Amazon RDS?

Amazon RDS er en relasjonsdatabase og en nettbasert tjeneste. Det som gjør det forskjellig fra tradisjonelle databaser er at det er veldig enkelt å sette opp, administrere og viktigst av alt, det er skalerbart og gir høy tilgjengelighet. Amazon gir deg flere alternativer for databasemotor for å bruke RDS, E.g., Man kan velge mellom Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle og SQL Server Databases. Dette er bra for folk som tenker å migrere til skyen med sine originale applikasjoner. Amazon RDS er designet for å gi det samme arbeidsmiljøet på skyen som du har på ditt lokale miljø. Dette betyr at hvis du har en applikasjon som kjører MySQL-programvare, vil den samme applikasjonen kjøre jevnt når du migrerer den til en RDS-basert MySQL-database.

Typer AWS RDS

Amazon har forskjellige typer DB -forekomster eller databaseforekomster for å kjøre RDS. RDS -databasen som kjører på disse DB -forekomstene, som nevnt tidligere, støttes av databasemotorer som PostgreSQL, MySQL, MariaDB etc. Man kan bruke AWS Management Console, Amazon RDS APIer eller AWS CLI -versjon for å lage en RDS -forekomst. Foreløpig vil vi bruke kommandolinjetilnærmingen for å lage en RDS -forekomst.

Hva vil vi utforske her?

Denne guiden vil vise deg hvordan du gjenoppretter et MySQL RDS DB -forekomst øyeblikksbilde ved hjelp av AWS CLI. Vi bruker AWS CLI -tilnærmingen fra IAM -brukerens perspektiv; Vi har imidlertid brukt styringskonsollen til Root User -kontoen på AWS for å opprette IAM -brukeren og tilordne den de nødvendige retningslinjene. Vi vil bruke denne IAM -brukerkontoen med begrensede privilegier. Den samme opplæringen kan også utføres ved hjelp av styringskonsollen. La oss nå komme videre med AWS IAM -brukeren.

Opprette en IAM -bruker

Skytjenesteleverandører tilbyr vanligvis en IAM- eller identitets- og tilgangsstyringsfunksjon for å gi ekstra sikkerhet til en brukerrotkonto. I et arbeidsmiljø som gir hver bruker tilgang til en rotkonto eller administrerer tjenester direkte fra roten, er kontoen sårbar for sikkerhetstrusler. I stedet kan vi opprette brukere med spesifikke tillatelser for å unngå opptrappingsproblemer. Dette ligner på å opprette brukere i Linux med begrenset tilgang til systemfiler og andre ressurser. Så i dette praktiske laboratoriet vil vi opprette en IAM-bruker med minimale tilgangsrettigheter som kreves for å utføre RDS-databaseoperasjoner. Brukeren vil kunne utføre operasjonene nedenfor:

1. Opprett og slett DB -øyeblikksbilde

2. Gjenopprett DB -øyeblikksbilde

Følg instruksjonene nedenfor for å opprette IAM -brukeren for ovennevnte operasjoner:

Trinn 1. Gå til AWS IAM -konsollen og klikk på "Legg til bruker" -knappen.

Steg 2. Gi et passende navn til brukeren din og tilordne et passord. Siden vi samhandler med brukeren ved hjelp av AWS CLI, har vi sjekket "Access -tasten" -krysset. I tillegg har vi også gitt administrasjonskonsoll tilgang til denne brukeren.

Trinn 3. I de videre trinnene kan vi også legge denne brukeren til en gruppe, men vi har hoppet over dette for nå. Klikk nå 'Neste: Tagger' for å fortsette:

Trinn 4. (Valgfritt), kan vi legge til tagger (nøkkelverdipar) for å organisere brukeren vår.

Trinn 5. På neste skjermbilde kan du gå gjennom innstillingene for brukeren din:

Trinn 6. Når du klikker på "Opprett bruker" -knappen, blir du bedt om å laste ned tilgangsnøklene. Hold disse nøklene hemmelige og legg dem på et trygt sted, da de bare er tilgjengelige for nedlasting en gang. Brukeren din vil nå være tilgjengelig i IAM -brukerseksjonen:

Trinn 7. Nå vil vi legge til en inline-policy for denne brukeren som den vil utføre de ovennevnte databaseoperasjoner. Klikk på brukernavnet ditt i IAM -brukerens del. På den nye skjermen klikker du på "Legg til Inline Policy" -etiketten under fanen "Tillatelser":

En ny veiviser som er kalt 'Opprett policy' vil vises der du må velge JSON -fanen og lime inn koden nedenfor der:


"Versjon": "2012-10-17",
"Uttalelse": [

"Effekt": "Tillat",
"Handling": [
"EC2: Beskriv*",
"RDS: CreateBParameterGroup",
"RDS: CreateBSnapshot",
"RDS: DELETEDBSNAPSHOT",
"RDS: Beskriv*",
"RDS: DownloadDblogFilePortion",
"RDS: Liste*",
"RDS: modifydbinstance",
"RDS: modifydbparametergroup",
"RDS: ModifyOptionGroup",
"RDS: RebootdBinstance",
"RDS: RESTOREDBINSTANCEFROMDBSNAPSHOT",
"RDS: RestoredBinstancetopointIntime"
],
"Ressurs": "*"

]

Merk: Du kan endre denne policyen for å la brukeren utføre andre RDS -baserte operasjoner.

Trinn 8. Klikk nå på "Review Policy" -knappen nederst:

Trinn 9. Gi et passende navn på policyen din og klikk på "Opprett policy" -knappen:

Ovennevnte inline -policy kan nå sees på IAM -brukerkonsollen:

Komme i gang med AWS CLI

Nå som vi har opprettet en IAM -bruker, kan vi fortsette med AWS CLI. AWS CLI -grensesnittet kan installeres på din lokale datamaskin. Vi har installert AWS CLI på Ubuntu 20.04 Maskin. Vi vil nå koble til AWS IAM -kontoen vår ved hjelp av brukeropplysningene vi lastet ned tidligere mens vi opprettet den brukeren. Legitimasjonsfilen, kalt 'new_user_credentials.CSV ', inneholder' Access Key ID ',' Secret Access Key ',' Console Login Link 'som vist nedenfor:

Nå vil vi konfigurere vår lokale maskinterminal for å bruke den med AWS. Åpne en ny terminal og type:

$ AWS Konfigurer

Den vil be om tilgangsnøkkel -ID, hemmelig tilgangsnøkkel, navn på det foretrukne området ditt og utgangsformatet (JSON, YAML, tekst eller tabell). Skriv inn legitimasjon og preferanser her. På bildet nedenfor kan du se hvilke verdier vi har valgt for disse parametrene:

Det er alt å konfigurere AWS CLI for vår IAM -bruker.

Vi en database -forekomster med følgende konfigurasjon:

motor = mysql
DB-Instance-identifier = DB-LinuxHint
DB-instans-klasse = db.T2.Mikro
Tildelt lagring = 20
master-brukernavn = demo
master-bruker-password = 12345678
Backup-retensjon-periode = 0

Når DB -forekomsten viser en tilgjengelig status i IAM -brukerens styringskonsoll:

For å demonstrere denne guiden, trenger vi først et øyeblikksbilde før vi gjenoppretter det. For tiden har vi ikke noe øyeblikksbilde for vår databaseinstans:

La oss lage et øyeblikksbilde av vår DB -forekomst ved å bruke AWS CLI:

$ AWS RDS Create-DB-SNAPShot--DB-Instance-identifikator DB-Linuxhint--DB-SNAPSHOT-identifiserer DB-SNAPPY

Alternativet '-DB-instansidentifikator "spesifiserer navnet på vår DB-forekomst. Alternativet '-DB-SNAPShot-identifikator "spesifiserer navnet på øyeblikksbildet som skal opprettes (her er det' db-snappy ').

Inne i RDS -øyeblikksbilder -delen vil øyeblikksbildet nå være tilgjengelig:

Gjenopprette RDS -databasens øyeblikksbilde

Vi kan velge å slette den faktiske DB -forekomsten og gjenopprette den fra øyeblikksbildet vi opprettet i trinnene ovenfor eller opprette en ny databaseinstans ved hjelp av dette øyeblikksbildet. La oss bevege oss med den senere tilnærmingen. På AWS CLI, kjør kommandoen:

$ AWS RDS RESTORE-DB-instans-fra-DB-SNAPSHOT \
--DB-instansidentifikator DB-snap-restaurert \
--db-snapshot-identifiserer db-snappy \
--DB-instans-klasse DB.T2.mikro \
--ikke-offentlig tilgjengelig

Her spesifiserer '-DB-Instance-identifier' navnet (DB-SNAP-restaurert) av den nye DB-forekomsten gjenopprettet fra øyeblikksbildet. '-DB-SNAPSHOT-identifikator' Angir navnet (DB-SNappy) for øyeblikksbildet som brukes til å gjenopprette DB-forekomsten. Fra IAM -brukerens administrasjonskonsoll kan vi se den nye DB -forekomsten vi gjenopprettet fra øyeblikksbildet:

Endelig merknad: Ikke glem å rydde opp i ressursene som ikke er i bruk for å unngå uventede kostnader.

Konklusjon

Det er alt for nå. Vi har gjenopprettet en MySQL RDS DB -forekomst ved å bruke AWS CLI. Mange mennesker og opplæringsprogrammer på nettet bruker rotbrukerkontoen for å administrere AWS -ressursene som RDS, EC2 osv. Men vi har ikke brukt rotkontoen; I stedet har vi brukt en IAM -brukerkonto for å jobbe med denne DB -forekomsten, som er en ganske god praksis fra et sikkerhetssynspunkt. I tillegg har vi gitt denne IAM -brukeren de minste tillatelser som kreves for at en bruker skal utføre de grunnleggende RDS -operasjonene.