Cómo administrar una instancia de AWS RDS con aws-cli

Puedes crear y gestionar fácilmente recursos RDS utilizando los comandos aws-cli. En este artículo, veremos los comandos para crear una Instancia RDS MySql y cómo hacer una instantánea de la base de datos. También veremos los comandos para etiquetar la Instancia RDS, eliminar la Instancia y hacer una instantánea.

Estos son los comandos que hemos cubierto en este artículo.

  1. describe-db-instances: Obtiene detalles de la instancia RDS.
  2. describe-db-snapshots: Obtiene detalles de las instantáneas.
  3. describe-db-clusters: Obtiene detalles de losclusters de la BD de Aurora.
  4. create-db-instance: Crea una nueva instancia RDS.
  5. add-tags-to-resource: Añade metadatos a una instancia RDS.
  6. list-tags-for-resource: Listar los metadatos de una instancia RDS.
  7. create-db-snapshot: Tomar una instantánea de una instancia RDS.
  8. delete-db-snapshot: Eliminar una instantánea RDS existente.
  9. delete-db-instance: Eliminar una instancia RDS.

Ve a la página oficialaquí para conocer todos los comandos disponibles para gestionar RDS con aws-cli.

Requisitos previos

  1. Cuenta de AWS(crearla si no la tienes).
  2. Conocimiento básico de AWS RDS.
  3. Usuario IAM de AWS con la políticaAdministratorAccess adjunta y sus claves de acceso y secretas (Haz clic aquí para aprender acrear un usuario IAM).
  4. AWS CLI instalado en tu máquina local.

¿Qué vamos a hacer?

  1. Comprueba aws cli y exporta la clave de acceso y secreta de AWS en tu máquina local.
  2. Gestionar Cloudwatch con aws-cli

Comprueba aws cli y exporta la clave de acceso y secreta de AWS en tu máquina local.

Empecemos por comprobar la versión de aws-cli instalada en tu servidor local.

aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7

Ahora, exporta el acceso del usuario IAM y la clave secreta en el terminal.

export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>

Una vez exportadas las claves al terminal, podemos comprobar primero la identidad del usuario mediante el siguiente comando.

aws sts get-caller-identity

Identidad del usuario

Verás mis claves de acceso y secretas en la captura de pantalla anterior. No podrás utilizar estas claves porque ya las he desactivado. Además, ten en cuenta que nunca debes compartir tus claves con nadie, ya que pueden ser mal utilizadas.

Gestionar la Instancia RDS con aws-cli

Ahora estamos preparados para gestionar el RDS con aws-cli.

Podemos proceder a comprobar las instancias RDS existentes, los clusters y las instantáneas. Como no tengo estos recursos en mi cuenta, la salida no devuelve ninguna información.

aws rds describe-db-instances
aws rds describe-db-snapshots
aws rds describe-db-clusters

Describir o listar las instancias RDS, las instantáneas, los clusters

Intentemos crear una instancia RDS MySql con el siguiente comando. Puedes especificar el nombre de la instancia, el tipo y el tamaño según tu elección. También puedes cambiar el nombre de usuario y la contraseña, asegúrate de que la contraseña que especifiques sea mayor de 8 caracteres.

aws rds create-db-instance --db-instance-identifier my-test-rds-mysql-instance --db-instance-class db.t3.micro --engine mysql --master-username rahul --master-user-password rahul123 --allocated-storage 5

Crear instancia RDS MySql

Ve a la consola de AWS RDS para ver si la instancia se ha creado o no.

Comprueba la instancia RDS en la consola

Después de crear una instancia RDS, puedes describirla y comprobar sus detalles.

aws rds describe-db-instances --db-instance-identifier my-test-rds-mysql-instance

Describe la instancia RDS

Añadir una etiqueta a la instancia RDS también es muy sencillo. Puedes utilizar el siguiente comando y especificar Tag key:value según tu elección.

aws rds add-tags-to-resource --resource-name <rds-instance-arn> --tags "[{\"Key\": \"Env\",\"Value\": \"Test\"}]"

Comprueba si la etiqueta se ha añadido o no mediante el listado de etiquetas.

aws rds list-tags-for-resource  --resource-name <rds-instance-arn>

Añadir y listar etiquetas

Una vez que la instancia RDS esté lista y quieras tomar su instantánea, puedes hacerlo simplemente con el siguiente comando.

aws rds create-db-snapshot --db-instance-identifier my-test-rds-mysql-instance --db-snapshot-identifier my-test-snapshot

Incluso puedes describir la instantánea y comprobar su estado.

aws rds describe-db-snapshots --db-snapshot-identifier my-test-snapshot

Crea y describe una instantánea

También puedes comprobar la instantánea que has creado en la consola de AWS RDS.

Comprueba la instantánea en la consola

Es mejor eliminar los recursos que acabas de crear si acabas de empezar y quieres probar el comando anterior.

Empecemos por eliminar la instantánea primero.

aws rds delete-db-snapshot --db-snapshot-identifier my-test-snapshot

Para eliminar la instancia, especifica la opción –skip-final-snapshot al comando, de lo contrario la instancia no se terminará. Esta opción omite la instantánea final que se puede tomar antes de eliminar la instancia RDS.

aws rds delete-db-instance --db-instance-identifier my-test-rds-mysql-instance --skip-final-snapshot

Borrar

Comprueba si la instantánea y la instancia RDS se han eliminado realmente.

aws rds describe-db-snapshots
aws rds describe-db-instances

Describe

Conclusión

En este artículo, hemos visto los comandos aws-cli para crear una Instancia RDS MySql y tomar su Instantánea. También hemos etiquetado la instancia y hemos visto cómo eliminar la instancia y la instantánea que hemos creado. Esta guía ayuda a iniciarse con aws-cli para gestionar RDS, puedes probar varias opciones y comandos por tu cuenta y familiarizarte con aws-cli.

También te podría gustar...