sql >> Base de Datos >  >> RDS >> Mysql

Use plantillas de formación de nubes para activar instancias de MySQL en RDS

En este artículo, hablaré sobre cómo configurar una instancia de MySQL en AWS RDS utilizando plantillas de Cloud Formation. En mi artículo anterior, Cómo configurar un entorno de Amazon RDS para MySQL, proporcioné un tutorial detallado sobre cómo configurar una instancia de MySQL en Amazon. Puede usar la consola de AWS para proporcionar toda la información necesaria para configurar la instancia y luego usarla. Sin embargo, en este artículo, discutiremos una forma automatizada de lograr las mismas funcionalidades utilizando plantillas de Cloud Formation.

¿Qué es una plantilla de CloudFormation?

Para comenzar a escribir las plantillas, primero debemos comprender de qué se trata la formación de nubes. AWS ofrece Cloud Formation como un servicio en la nube que permite a los clientes de AWS escribir el estado deseado de cualquier infraestructura como un código y luego usarlo para implementar recursos en AWS. Nos permite crear un recurso o un grupo de recursos siguiendo unas sencillas plantillas de configuración. Por ejemplo, si desea implementar una aplicación web en una instancia EC2 que también utilizará una base de datos RDS, simplemente puede combinar ambos recursos en una pila y escribir el código para configurar las instancias. Una vez que lo ejecute, creará la instancia EC2 y RDS y también implementará su aplicación web.

Figura 1:plantilla de CloudFormation en la consola de AWS

Los componentes de una plantilla de formación de nubes son los siguientes:

  • Un JSON o YAML archivo en el que se definirán los recursos como plantilla
  • Una pila puede ser una combinación de varios recursos que deben configurarse como parte de la aplicación. Por ejemplo, EC2 y RDS
  • Se puede usar un conjunto de cambios para ver una lista de operaciones que debe realizar la pila
  • Un conjunto de pilas también se puede considerar como un grupo administrado de pilas que se pueden reproducir o replicar

Aparte de lo anterior, nos centraremos principalmente en la plantilla JSON/YAML y la pila en este artículo. Las plantillas admiten una amplia gama de recursos en AWS. Para obtener una lista completa, siga este enlace.

Escribir el archivo de plantilla JSON o YAML

Uno de los principales desafíos que enfrentamos al escribir una plantilla por primera vez es qué contenidos deben incluirse en ella. Para facilitar que AWS proporcione una gran cantidad de muestras de plantillas que se pueden encontrar fácilmente en la documentación oficial. Una vez que encuentre la plantilla requerida para crear un recurso necesario, puede usarla para crear su propia plantilla. La plantilla puede crearse usando JSON o YAML y convertirse de uno a otro también. En una nota personal, prefiero escribir las plantillas usando YAML, ya que me ayuda a mantenerme alejado de las llaves y las comas y mantiene el documento más limpio. Sin embargo, puede elegir cualquier opción entre JSON y YAML.

Para este ejercicio, intentemos activar una instancia de MySQL en RDS y escribiremos el código en YAML. Para configurar una base de datos MySQL utilizando la formación de nubes, necesitaríamos los siguientes elementos.

  • Nombre del recurso – El nombre del recurso que va a configurar.
  • Tipo de recurso – El tipo de recurso.
  • Propiedades de recursos – El nombre de la base de datos, el nombre de usuario y la contraseña para conectarse.
  • El motor de la base de datos – MySQL, Servidor SQL, PostgreSQL, etc.
  • Tipo de almacenamiento – El tipo de almacenamiento que se utilizará.
  • Accesibilidad pública – Si la base de datos debe tener acceso público o no.
  • Memoria asignada – La memoria que debe asignarse a la instancia de la base de datos.
  • Región de AWS – La región en la que se creará la instancia.

Ahora que tenemos algunos puntos con nosotros, sigamos adelante y comencemos escribiendo el archivo de plantilla.

https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6

Figura 2:el archivo de plantilla para crear una instancia de MySQL en RDS

Como puede ver en la figura anterior, la estructura del archivo se divide en dos partes. En la primera parte, hemos definido algunos parámetros que utilizarán las definiciones de recursos en la segunda parte al crear los recursos en AWS. Puede usar el mismo script en su máquina para crear una instancia en su cuenta de AWS.

Configuración de la pila en la consola

Ahora que hemos creado nuestra plantilla para MySQL, es hora de que la configuremos para ver si todo funciona bien. Dirígete a la consola de AWS y busca Cloud Formation en la barra de búsqueda. Haga clic en Create Stack y cargue el archivo de plantilla desde su local. Haz clic en Siguiente una vez hecho.

Figura 3:creación de la pila a partir de la plantilla

En la página siguiente, se le pedirá que proporcione los parámetros que se definieron en la plantilla de formación de nubes. Continúe, proporcione los detalles necesarios y haga clic en Siguiente .

Figura 4:Parámetros de pila proporcionados

Revise los cambios y parámetros de la pila y haga clic en Crear pila en la última página. Comenzará la creación de la pila. Puede llevar algún tiempo crear todos los recursos antes de que estén disponibles para su uso. Mientras tanto, puede hacer clic en el botón Recargar para comprobar si todos los eventos se han creado correctamente.

Figura 5:creación de pila en curso

Como puede ver en las marcas de tiempo, me tomó alrededor de 6 minutos, después de lo cual los recursos estaban disponibles y también visibles en la consola. Vaya a Recursos y haga clic en Identificación física del recurso Esto lo llevará a la consola RDS.

Figura 6:pila creada con éxito

Conexión de la base de datos MySQL

Una vez que esté en la consola RDS, puede obtener el nombre de host para la instancia de la base de datos y usarlo para conectarse a la base de datos. Toma el punto final desde la consola y úsalo para conectarte.

Figura 7:detalles de la instancia de MySQL en RDS

Vayamos ahora a MySQL Workbench e intentemos conectarnos al nombre de host con las credenciales que proporcionamos anteriormente. Utilice el nombre de host, el nombre de usuario y la contraseña para conectarse a la instancia.

Figura 8:conexión a la instancia de MySQL mediante MySQL Workbench

Como puede ver en la figura anterior, nos hemos conectado con éxito a la instancia de la base de datos en RDS. Ahora ejecutemos algunas consultas y veamos si funciona.

Figura 9:ejecución de scripts en MySQL Workbench

Como puede ver en la figura anterior, hemos podido conectarnos a la instancia de la base de datos y ejecutar consultas. Con esto, puede escribir su propia plantilla de formación de nubes y activar cualquier otro recurso como la base de datos SQL Server o PostgreSQL.

Eliminando los recursos

Si está realizando esto como un ejercicio, recomendaría eliminar los recursos que hemos creado, ya que incurrirá en algunos cargos. Puede navegar a la consola de RDS y luego seleccionar la instancia y hacer clic en Eliminar para eliminar los recursos de forma permanente.

Figura 10:Eliminación de los recursos creados

Una vez que los recursos se hayan eliminado correctamente, puede comprobar en la consola una vez más si hay alguna instancia ejecutándose solo para evitar agregar costos de facturación innecesarios.

Conclusión

En este artículo, hemos discutido en detalle cómo configurar una instancia de base de datos MySQL en un entorno AWS RDS y automatizarla utilizando la plantilla de Cloud Formation. De esta manera, la configuración de recursos en la nube también se conoce como servicio de infraestructura como código, donde puede configurar toda la infraestructura como código y luego usarla en varios entornos. Estas plantillas se pueden usar no solo para implementar instancias de bases de datos, sino también otras infraestructuras dentro de AWS, como EC2, Lambda, RedShift, etc. Para obtener más información sobre las plantillas de formación de nubes, puede ver las plantillas de muestra disponibles en el sitio web oficial.