Restauration d'instantanés de base de données RDS

Restauration d'instantanés de base de données RDS

Qu'est-ce qu'Amazon RDS?

Amazon RDS est une base de données relationnelle et un service Web. Ce qui le rend différent des bases de données traditionnelles, c'est qu'il est très simple à configurer, à gérer et surtout, il est évolutif et offre une haute disponibilité. Amazon vous offre plusieurs options de moteur de base de données pour utiliser RDS, E.g., On peut choisir parmi Amazon Aurora, PostgreSQL, MySQL, MARIADB, Oracle et SQL Server Bases de données. C'est bon pour les personnes qui envisagent de migrer vers le cloud avec leurs applications d'origine. Amazon RDS est conçu pour donner le même environnement de travail sur le cloud que vous l'avez sur votre environnement sur site. Cela signifie que si vous avez une application exécutant un logiciel sur site MySQL, la même application fonctionnera en douceur une fois que vous la migrez vers une base de données MySQL basée sur RDS.

Types de RDS AWS

Amazon a différents types d'instances de base de données ou d'instances de base de données pour l'exécution de RDS. La base de données RDS exécutée sur ces instances DB, comme mentionné précédemment, est soutenue par des moteurs de base de données comme PostgreSQL, MySQL, MariaDB, etc. On peut utiliser la version AWS Management Console, Amazon RDS API ou AWS CLI pour créer une instance RDS. Pour l'instant, nous utiliserons l'approche de la ligne de commande pour créer une instance RDS.

Que nous explorerons-nous ici?

Ce guide vous montrera comment restaurer un instantané d'instance MySQL RDS DB en utilisant AWS CLI. Nous utilisons l'approche AWS CLI du point de vue de l'utilisateur IAM; Cependant, nous avons utilisé la console de gestion du compte d'utilisateur racine sur AWS pour créer l'utilisateur IAM et lui attribuer les politiques requises. Nous utiliserons ce compte d'utilisateur IAM avec des privilèges limités. Le même tutoriel peut également être effectué à l'aide de la console de gestion. Laissez maintenant aller de l'avant avec l'utilisateur AWS IAM.

Création d'un utilisateur IAM

Les fournisseurs de services cloud proposent généralement une fonction IAM ou IDENTY et ORCESSION POUR Offrir une sécurité supplémentaire à un compte racine de l'utilisateur. Dans un environnement de travail, donnant à chaque utilisateur un accès à un compte racine ou gérant les services directement à partir de la racine, le compte est vulnérable aux menaces de sécurité. Au lieu de cela, nous pouvons créer des utilisateurs avec des autorisations spécifiques pour éviter les problèmes d'escalade des privilèges. Ceci est similaire à la création d'utilisateurs dans Linux avec un accès limité aux fichiers système et autres ressources. Ainsi, dans ce laboratoire pratique, nous créerons un utilisateur IAM avec un minimum de droits d'accès requis pour effectuer des opérations de base de données RDS. L'utilisateur pourra effectuer les opérations ci-dessous:

1. Créer et supprimer un instantané DB

2. Restaurer un instantané DB

Pour créer l'utilisateur IAM pour les opérations ci-dessus, suivez les instructions ci-dessous:

Étape 1. Accédez à la console AWS IAM et cliquez sur le bouton «Ajouter des utilisateurs».

Étape 2. Donnez un nom approprié à votre utilisateur et attribuez un mot de passe. Depuis que nous interagissons avec l'utilisateur à l'aide d'AWS CLI, nous avons coché la case de coche `` Clé d'accès ''. De plus, nous avons également donné un accès à la console de gestion à cet utilisateur.

Étape 3. Dans les étapes supplémentaires, nous pouvons également ajouter cet utilisateur à un groupe, mais nous l'avons ignoré pour l'instant. Maintenant, cliquez sur «Suivant: Tags» pour continuer:

Étape 4. (Facultatif), nous pouvons ajouter des balises (paire de valeurs clés) pour organiser notre utilisateur.

Étape 5. Sur l'écran suivant, passez en revue les paramètres de votre utilisateur:

Étape 6. Lorsque vous cliquez sur le bouton «Créer un utilisateur», il vous sera demandé de télécharger vos touches d'accès. Gardez ces clés secret et mettez-les dans un endroit sûr car ils sont disponibles pour télécharger une seule fois. Votre utilisateur sera désormais disponible dans la section des utilisateurs IAM:

Étape 7. Nous allons maintenant ajouter une stratégie en ligne pour cet utilisateur à travers lequel il effectuera les opérations de base de données spécifiées ci-dessus. Dans la section des utilisateurs IAM, cliquez sur votre nom d'utilisateur. Sur le nouvel écran, cliquez sur l'étiquette «Ajouter une stratégie en ligne» sous l'onglet «Autorisations»:

Un nouvel assistant nommé «Créer une stratégie» apparaîtra où vous devez sélectionner l'onglet JSON et coller le code ci-dessous:


"Version": "2012-10-17",
"Déclaration": [

"Effet": "Autoriser",
"Action": [
"EC2: décrire *",
"RDS: CreatedBParameterGroup",
"RDS: CreatedBsnapshot",
"RDS: supprimébsnapshot",
"RDS: décrire *",
"RDS: DownloadDblogFilePortion",
"RDS: liste *",
"RDS: modifierdbinstance",
"RDS: ModifyDBParameterGroup",
"RDS: ModifyOptiongroup",
"RDS: RebootDBinstance",
"RDS: Restorebinstancefromdbsnapshot",
"RDS: RestorebinstancetOpointiniTime"
]],
"Ressource": "*"

]]

Note: Vous pouvez modifier cette stratégie pour permettre à l'utilisateur d'effectuer d'autres opérations basées sur RDS.

Étape 8. Cliquez maintenant sur le bouton «Revoir la stratégie» en bas:

Étape 9. Donnez un nom approprié à votre stratégie et cliquez sur le bouton «Créer une stratégie»:

La politique en ligne ci-dessus peut maintenant être vue sur la console utilisateur IAM:

Commencer avec AWS CLI

Maintenant que nous avons créé un utilisateur IAM, nous pouvons continuer avec la CLI AWS. L'interface AWS CLI peut être installée sur votre ordinateur local. Nous avons installé AWS CLI sur notre Ubuntu 20.04 machine. Nous allons maintenant nous connecter à notre compte AWS IAM en utilisant les informations d'identification de l'utilisateur que nous avons téléchargées plus tôt tout en créant cet utilisateur. Le fichier des informations d'identification, nommé «new_user_credentials.CSV ', contient le' Access Key Id ',' Secret Access Key ',' Console Link Link 'comme indiqué ci-dessous:

Nous allons maintenant configurer notre terminal de machine local pour l'utiliser avec AWS. Ouvrez un nouveau terminal et type:

$ aws configurer

Il demandera l'ID de clé d'accès, la clé d'accès secrète, le nom de votre région préférée et le format de sortie (JSON, YAML, texte ou table). Entrez vos informations d'identification et vos préférences ici. Dans l'image ci-dessous, vous pouvez voir quelles valeurs nous avons sélectionnées pour ces paramètres:

Tout cela configure AWS CLI pour notre utilisateur IAM.

Nous avons une base de données Instances avec la configuration suivante:

moteur = mysql
DB-INSTANCE-Identificateur = DB-LinuxHint
db-instance classe = db.T2.micro
Storage alloué = 20
Master-username = démo
Master-User-Password = 12345678
Backup-rétention-période = 0

Une fois que l'instance DB affiche un statut disponible dans la console de gestion de l'utilisateur IAM:

Pour démontrer ce guide, nous avons d'abord besoin d'un instantané avant de le restaurer. Actuellement, nous n'avons aucun instantané pour notre instance de base de données:

Créons un instantané de notre instance DB en utilisant AWS CLI:

$ AWS RDS CREATE-DB-SNAPSHOT - DB-INSTANCE-IDENTIFIER DB-LINUXHINT --DB-Snapshot-Identificateur DB-Snappy

L'option «-DB-INSTANCE-IDENTIFIER» spécifie le nom de notre instance DB. L'option '-db-snapshot-identificateur' spécifie le nom de l'instantané à créer (ici, il s'agit de 'DB-Snappy').

À l'intérieur de la section des instantanés RDS, l'instantané sera désormais disponible:

Restauration d'instantanés de base de données RDS

Nous pouvons choisir de supprimer l'instance DB réelle et de la restaurer à partir de l'instantané que nous avons créé dans les étapes ci-dessus ou de créer une nouvelle instance de base de données à l'aide de cet instantané. Passons avec l'approche ultérieure. Sur votre CLI AWS, exécutez la commande:

$ AWS RDS Restore-DB-Instance-From-Db-Snapshot \
--DB-INSTANCE-Identificateur DB-SNAP-Restored \
--DB-Snapshot-Identificateur DB-Snappy \
--DB DB-Classe DB.T2.micro \
--sans publication

Ici, «-DB-INSTANCE-IDENTIFIER» Spécifie le nom (DB-SNAP-Restored) de la nouvelle instance DB restaurée à partir de l'instantané. '-DB-Snapshot-Identifier' spécifie le nom (DB-Snappy) de l'instantané utilisé pour restaurer l'instance DB. À partir de la console de gestion de l'utilisateur IAM, nous pouvons voir la nouvelle instance DB que nous avons restaurée à partir de l'instantané:

Remarque finale: N'oubliez pas de nettoyer les ressources qui ne sont pas utilisées pour éviter les frais inattendus.

Conclusion

C'est tout pour le moment. Nous avons réussi à restaurer une instance MySQL RDS DB en utilisant la CLI AWS. De nombreuses personnes et tutoriels en ligne utilisent le compte d'utilisateurs racine pour la gestion des ressources AWS comme RDS, EC2, etc. Mais nous n'avons pas utilisé le compte racine; Au lieu de cela, nous avons utilisé un compte d'utilisateur IAM pour travailler avec cette instance DB, qui est une assez bonne pratique d'un point de vue de sécurité. De plus, nous avons fourni à cet utilisateur IAM les autorisations minimales requises pour un utilisateur pour effectuer les opérations RDS de base.