Restauración de la instantánea de la base de datos RDS

Restauración de la instantánea de la base de datos RDS

¿Qué es Amazon RDS??

Amazon RDS es una base de datos relacional y un servicio basado en la web. Lo que lo hace diferente de las bases de datos tradicionales es que es muy simple de configurar, administrar y, lo más importante, es escalable y proporciona alta disponibilidad. Amazon le proporciona múltiples opciones de motor de base de datos para usar RDS, E.gramo., Uno puede elegir entre Amazon Aurora, PostgreSQL, MySQL, Mariadb, Oracle y SQL Server Databasy. Esto es bueno para las personas que piensan migrar a la nube con sus aplicaciones originales. Amazon RDS está diseñado para dar el mismo entorno de trabajo en la nube que en su entorno local. Esto significa que si tiene una aplicación que ejecuta el software local MySQL, la misma aplicación se ejecutará sin problemas una vez que la migre a una base de datos MySQL basada en RDS.

Tipos de AWS RDS

Amazon tiene diferentes tipos de instancias de DB o instancias de base de datos para ejecutar RDS. La base de datos RDS que se ejecuta en estas instancias de DB, como se mencionó anteriormente, está respaldada por motores de base de datos como PostgreSQL, MySQL, MariadB, etc. Se puede usar la consola de administración de AWS, la versión API de Amazon RDS o la versión AWS CLI para crear una instancia de RDS. Por ahora, utilizaremos el enfoque de línea de comandos para crear una instancia de RDS.

¿Qué exploraremos aquí??

Esta guía le mostrará cómo restaurar una instantánea de instancia MySQL RDS DB usando AWS CLI. Estamos utilizando el enfoque AWS CLI desde la perspectiva del usuario de IAM; Sin embargo, hemos utilizado la consola de administración de la cuenta de usuario root en AWS para crear el usuario de IAM y asignarlo las políticas requeridas. Usaremos esta cuenta de usuario de IAM con privilegios limitados. El mismo tutorial también se puede realizar utilizando la consola de administración. Avanzemos ahora con el usuario de AWS IAM.

Creando un usuario de IAM

Los proveedores de servicios en la nube generalmente ofrecen una función de gestión de IAM o identidad y acceso para brindar seguridad adicional a una cuenta raíz del usuario. En un entorno de trabajo que da a cada usuario acceso a una cuenta raíz o servicios de administración directamente desde la raíz, la cuenta es vulnerable a las amenazas de seguridad. En su lugar, podemos crear usuarios con permisos específicos para evitar problemas de escalada de privilegios. Esto es similar a la creación de usuarios en Linux con acceso limitado a archivos del sistema y otros recursos. Entonces, en este laboratorio práctico, crearemos un usuario de IAM con derechos de acceso mínimos requeridos para realizar operaciones de base de datos RDS. El usuario podrá realizar las operaciones a continuación:

1. Crear y eliminar la instantánea de DB

2. Restaurar la instantánea de DB

Para crear el usuario de IAM para las operaciones anteriores, siga las instrucciones a continuación:

Paso 1. Vaya a la consola AWS IAM y haga clic en el botón 'Agregar usuarios'.

Paso 2. Dé un nombre adecuado a su usuario y asigne una contraseña. Dado que estamos interactuando con el usuario que usa AWS CLI, hemos marcado la casilla de marca 'Clave de acceso'. Además, también hemos dado acceso a la consola de gestión a este usuario.

Paso 3. En los pasos posteriores, también podemos agregar este usuario a un grupo, pero nos hemos omitido por ahora. Ahora haga clic en 'Siguiente: etiquetas' para continuar:

Etapa 4. (Opcional), podemos agregar etiquetas (par de valores clave) para organizar a nuestro usuario.

Paso 5. En la siguiente pantalla, revise la configuración de su usuario:

Paso 6. Cuando haga clic en el botón 'Crear usuario', se le pedirá que descargue sus teclas de acceso. Mantenga estas llaves en secreto y póngalas en algún lugar seguro, ya que están disponibles para descargar solo una vez. Su usuario ahora estará disponible en la sección de usuarios de IAM:

Paso 7. Ahora agregaremos una política en línea para este usuario a través de la cual realizará las operaciones de base de datos especificadas anteriormente. En la sección de usuarios de IAM, haga clic en su nombre de usuario. En la nueva pantalla, haga clic en la etiqueta 'Agregar política en línea' en la pestaña 'Permisos':

Aparecerá un nuevo asistente llamado como 'Política de creación' donde debe seleccionar la pestaña JSON y pegar el siguiente código allí:


"Versión": "2012-10-17",
"Declaración": [

"Efecto": "Permitir",
"Acción": [
"EC2: Describe*",
"RDS: creadoBparameterGroup",
"RDS: Creatsnapshot",
"RDS: DeletedBsnapshot",
"RDS: Describe*",
"RDS: downloadDBlogFilePortion",
"RDS: Lista*",
"RDS: ModifyDbinstance",
"RDS: ModifyDBParameterGroup",
"RDS: ModifyOptionGroup",
"RDS: rebootdbinstance",
"RDS: restauredbinstance para elbsnapshot",
"RDS: restauredBinStancetOpointIntime"
],
"Recurso": "*"

]

Nota: Puede modificar esta política para permitir al usuario realizar otras operaciones basadas en RDS.

Paso 8. Ahora haga clic en el botón 'Política de revisión' en la parte inferior:

Paso 9. Dé un nombre adecuado a su política y haga clic en el botón "Crear política":

La política en línea anterior ahora se puede ver en la consola de usuario IAM:

Comenzando con AWS CLI

Ahora que hemos creado un usuario de IAM, podemos continuar con el AWS CLI. La interfaz AWS CLI se puede instalar en su computadora local. Hemos instalado AWS CLI en nuestro Ubuntu 20.04 máquina. Ahora nos conectaremos a nuestra cuenta AWS IAM utilizando las credenciales del usuario que descargamos anteriormente mientras creamos ese usuario. El archivo de credenciales, llamado 'new_user_credentials.CSV ', contiene la' ID de clave de acceso ',' clave de acceso secreto ',' enlace de inicio de sesión de consola 'como se muestra a continuación:

Ahora configuraremos nuestro terminal de máquina local para usarlo con AWS. Abra una nueva terminal y tipo:

$ AWS Configurar

Solicitará la ID de clave de acceso, la clave de acceso secreto, el nombre de su región preferida y el formato de salida (JSON, YAML, texto o tabla). Ingrese sus credenciales y preferencias aquí. En la imagen a continuación, puede ver qué valores hemos seleccionado para estos parámetros:

Todo eso es configurar AWS CLI para nuestro usuario de IAM.

Nosotros, las instancias de una base de datos con la siguiente configuración:

motor = mysql
db-instancia-identificador = db-linuxhint
db-instance-class = db.T2.micro
almacenamiento asignado = 20
maestro-username = demo
Master-User-Password = 12345678
copia de seguridad-retención-período = 0

Una vez que la instancia de DB muestra un estado disponible en la consola de administración del usuario de IAM:

Para demostrar esta guía, primero necesitamos una instantánea antes de restaurarla. Actualmente no tenemos ninguna instantánea para nuestra instancia de base de datos:

Creemos una instantánea de nuestra instancia de DB usando AWS CLI:

$ AWS RDS CREATE-DB-SNAPSHOT --DB-Instance-Identifier DB-Linuxhint --DB-Snapshot-Identifier DB-SNAPPY

La opción '-DB-instance-identificador' especifica el nombre de nuestra instancia de DB. La opción '-db-snapshot-identificador' especifica el nombre de la instantánea que se creará (aquí es 'db-snappy').

Dentro de la sección RDS Snapshots, la instantánea ahora estará disponible:

Restauración de la instantánea de la base de datos RDS

Podemos elegir eliminar la instancia de DB real y restaurarla desde la instantánea que creamos en los pasos anteriores o crear una nueva instancia de base de datos utilizando esta instantánea. Movámonos con el enfoque posterior. En tu AWS CLI, ejecuta el comando:

$ AWS RDS RESTORE-DB-Instance-desde-DB-Snapshot \
--DB-instancia-identificador DB-snap-restaurado \
--db-snapshot-identificador db-snappy \
--DB DB de clase de instancia.T2.micro \
--no publicitamente accesible

Aquí, '-DB-instance-identificador' especifica el nombre (DB-SNAP-Restored) de la nueva instancia de DB restaurada desde la instantánea. '-db-snapshot-identificador' especifica el nombre (db-snappy) de la instantánea utilizada para restaurar la instancia de DB. Desde la consola de administración del usuario del IAM, podemos ver la nueva instancia de DB que restauramos desde la instantánea:

Nota final: No olvide limpiar los recursos que no están en uso para evitar cargos inesperados.

Conclusión

Eso es todo por ahora. Hemos restaurado con éxito una instancia MySQL RDS DB usando el AWS CLI. Muchas personas y tutoriales en línea usan la cuenta de usuario root para administrar los recursos de AWS como RDS, EC2, etc. Pero no hemos usado la cuenta raíz; En cambio, hemos utilizado una cuenta de usuario de IAM para trabajar con esta instancia de DB, que es una práctica bastante buena desde un punto de vista de seguridad. Además, hemos proporcionado a este usuario de IAM los permisos mínimos requeridos para que un usuario realice las operaciones BASIC RDS.