Ripristino dell'istantanea del database RDS

Ripristino dell'istantanea del database RDS

Cos'è Amazon RDS?

Amazon RDS è un database relazionale e un servizio basato sul Web. Ciò che lo rende diverso dai database tradizionali è che è molto semplice configurare, gestire e, soprattutto, è scalabile e offre un'alta disponibilità. Amazon offre diverse opzioni di motore di database per utilizzare RDS, E.G., Si può scegliere tra Amazon Aurora, PostgreSQL, Mysql, MariaDB, Oracle e SQL Server Database. Questo è un bene per le persone che pensano di migrare al cloud con le loro applicazioni originali. Amazon RDS è progettato per dare lo stesso ambiente di lavoro sul cloud che hai sul tuo ambiente locale. Ciò significa che se si dispone di un'applicazione che esegue il software on-premise MySQL, la stessa applicazione verrà eseguita senza intoppi una volta migrato su un database MySQL basato su RDS.

Tipi di AWS RDS

Amazon ha diversi tipi di istanze DB o istanze di database per l'esecuzione di RDS. Il database RDS in esecuzione su queste istanze DB, come menzionato in precedenza, è supportato da motori di database come PostgreSQL, MySQL, MARIADB ecc. Si può utilizzare la versione AWS Management Console, Amazon RDS API o AWS CLI per creare un'istanza RDS. Per ora, useremo l'approccio della riga di comando per la creazione di un'istanza RDS.

Cosa esploreremo qui?

Questa guida ti mostrerà come ripristinare un'istanza di istanza MySQL RDS DB utilizzando AWS CLI. Stiamo usando l'approccio della CLI AWS dal punto di vista dell'utente IAM; Tuttavia, abbiamo utilizzato la console di gestione dell'account utente root su AWS per creare l'utente IAM e assegnarlo le politiche richieste. Utilizzeremo questo account utente IAM con privilegi limitati. Lo stesso tutorial può anche essere eseguito utilizzando la console di gestione. Andiamo ora avanti con l'utente AWS iam.

Creazione di un utente IAM

I fornitori di servizi cloud di solito offrono una funzione IAM o Identity and Access Management per fornire ulteriore sicurezza a un account di root utente. In un ambiente di lavoro che offre a ciascun utente l'accesso a un account root o alla gestione dei servizi direttamente dal root, l'account è vulnerabile alle minacce alla sicurezza. Invece, possiamo creare utenti con autorizzazioni specifiche per evitare problemi di escalation dei privilegi. Questo è simile alla creazione di utenti in Linux con accesso limitato ai file di sistema e ad altre risorse. Quindi, in questo laboratorio pratico, creeremo un utente IAM con diritti di accesso minimi richiesti per l'esecuzione delle operazioni di database RDS. L'utente sarà in grado di eseguire le operazioni di seguito:

1. Crea ed elimina l'istantanea DB

2. Ripristina l'istantanea DB

Per la creazione dell'utente IAM per le operazioni di cui sopra, seguire le istruzioni di seguito:

Passo 1. Vai alla console AWS iam e fai clic sul pulsante "Aggiungi utenti".

Passo 2. Dai un nome adatto al proprio utente e assegna una password. Dato che stiamo interagendo con l'utente utilizzando AWS CLI, abbiamo controllato la casella di spunta "chiave di accesso". Inoltre, abbiamo anche dato l'accesso alla console di gestione a questo utente.

Passaggio 3. Nei ulteriori passaggi, possiamo anche aggiungere questo utente a un gruppo, ma per ora abbiamo saltato. Ora fai clic su "Avanti: tag" per continuare:

Passaggio 4. (Opzionale), possiamo aggiungere tag (coppia di valore chiave) per organizzare il nostro utente.

Passaggio 5. Nella schermata successiva, rivedi le impostazioni per l'utente:

Passaggio 6. Quando fai clic sul pulsante "Crea utente", ti verrà chiesto di scaricare le chiavi di accesso. Mantieni segrete queste chiavi e mettile in un posto sicuro in quanto sono disponibili per il download solo una volta. Il tuo utente sarà ora disponibile nella sezione utenti IAM:

Passaggio 7. Ora aggiungeremo una politica in linea per questo utente attraverso la quale eseguirà le operazioni di database sopra specificate. Nella sezione utenti IAM, fai clic sul nome utente. Nella nuova schermata, fare clic sull'etichetta "Aggiungi politica inline" nella scheda "Autorizzazioni":

Verrà visualizzata una nuova procedura guidata chiamata "Crea politica" in cui è necessario selezionare la scheda JSON e incollare il codice seguente:


"Versione": "2012-10-17",
"Dichiarazione": [

"Effetto": "Consenti",
"Azione": [
"EC2: descrivi*",
"RDS: CreatedBParameterGroup",
"RDS: createdbsnapshot",
"RDS: ELETEDBSNAPSHOT",
"RDS: descrivi*",
"RDS: downloaddblogfilepentation",
"RDS: elenco*",
"RDS: Modifydbinstance",
"RDS: ModifydbParameterGroup",
"RDS: ModifyOptionGroup",
"RDS: rebootdbinstance",
"RDS: restaredbinstancefromdbsnapshot",
"RDS: restaredbinstancetopointime"
",
"Risorsa": "*"

"

Nota: È possibile modificare questa politica per consentire all'utente di eseguire altre operazioni basate su RDS.

Passaggio 8. Ora fai clic sul pulsante "Politica di revisione" in fondo:

Passaggio 9. Dai un nome adatto alla tua politica e fai clic sul pulsante "Crea poliziotto":

La politica in linea di cui sopra può ora essere vista sulla console utente IAM:

Iniziare con AWS CLI

Ora che abbiamo creato un utente IAM, possiamo continuare con AWS CLI. L'interfaccia CLI AWS può essere installata sul computer locale. Abbiamo installato AWS CLI sul nostro Ubuntu 20.04 macchina. Ora ci connetteremo al nostro account AWS iaM utilizzando le credenziali dell'utente che abbiamo scaricato in precedenza mentre creano quell'utente. Il file delle credenziali, denominato "new_user_credentials.CSV ', contiene il' ID chiave di accesso ',' chiave di accesso segreto ',' Link di accesso alla console 'come mostrato di seguito:

Ora configureremo il nostro terminale di macchina locale per usarlo con AWS. Apri un nuovo terminale e un tipo:

$ AWS Configura

Chiederà l'ID chiave di accesso, la chiave di accesso segreto, il nome della regione preferita e il formato di output (JSON, YAML, TESTO o TABELLA). Inserisci qui le tue credenziali e le tue preferenze. Nell'immagine qui sotto, puoi vedere quali valori abbiamo selezionato per questi parametri:

Questo è tutto configurando AWS CLI per il nostro utente IAM.

Abbiamo istanze di database con la seguente configurazione:

motore = mysql
DB-Instance-Identifier = DB-LinuxHint
DB-Instance-Class = db.T2.Micro
Allocated-Storage = 20
Master-Username = Demo
Master-User-Password = 12345678
Backup-Retention-Period = 0

Una volta che l'istanza DB mostra uno stato disponibile nella console di gestione dell'utente IAM:

Per dimostrare questa guida, abbiamo prima bisogno di un'istantanea prima di ripristinarla. Attualmente non abbiamo alcuna istantanea per la nostra istanza di database:

Creiamo un'istantanea della nostra istanza DB usando AWS CLI:

$ AWS RDS Create-DB-SNAPSHOT--DB-Instance-Identifier DB-Linuxhint--DB-SNAPSHOT-IDIDIE DB-SNAPY

L'opzione "-db-interstance-Identifier" specifica il nome della nostra istanza DB. L'opzione "-db-snapshot-identificale" specifica il nome dell'istantanea da creare (eccolo "db-snappy").

All'interno della sezione Snapshot RDS, l'istantanea sarà ora disponibile:

Ripristino dell'istantanea del database RDS

Possiamo scegliere di eliminare l'istanza DB effettiva e ripristinarla dall'istantanea che abbiamo creato nei passaggi precedenti o creare una nuova istanza del database utilizzando questa snapshot. Muoviamo con l'approccio successivo. Sul tuo CLI AWS, esegui il comando:

$ AWS RDS Restore-DB-Instance-From-DB-SNAPShot \
--DB-Instance-Identifier DB-SNAP-RESTREAD \
--db-snapshot-identificatore db-snappy \
--DB DB-Istance-Classe DB.T2.micro \
--non-pubblicamente accessibile

Qui, '-DB-Instance-Identifier' specifica il nome (DB-SNAP-RESTREAD) della nuova istanza DB ripristinata dall'istantanea. '-db-snapshot-identifier' Specifica il nome (db-snappy) dell'istantanea utilizzata per ripristinare l'istanza DB. Dalla console di gestione dell'utente IAM, possiamo vedere la nuova istanza DB che abbiamo ripristinato dall'istantanea:

Nota finale: Non dimenticare di ripulire le risorse non in uso per evitare spese impreviste.

Conclusione

È tutto per ora. Abbiamo ripristinato con successo un'istanza MySQL RDS DB usando AWS CLI. Molte persone e tutorial online utilizzano l'account utente root per la gestione delle risorse AWS come RDS, EC2 ecc. Ma non abbiamo usato l'account root; Invece, abbiamo usato un account utente IAM per lavorare con questa istanza DB, che è una pratica abbastanza buona dal punto di vista della sicurezza. Inoltre, abbiamo fornito a questo utente IAM le autorizzazioni minime richieste per un utente per eseguire le operazioni RDS di base.