Proveedores de terraformación

Proveedores De Terraformacion



Una de las herramientas populares y de código abierto de Infraestructura como código es Terraform. Permite a los desarrolladores definir y administrar su infraestructura de forma declarativa. Les permite crear, administrar y modificar los recursos de infraestructura utilizando una sintaxis simple y consistente, independientemente de la plataforma de nube subyacente o el proveedor de servicios.

Este artículo analiza cómo usar y configurar los diferentes proveedores para interactuar con varias plataformas y servicios en la nube.

Introducción a los proveedores de Terraform

Los proveedores de Terraform son complementos que nos permiten interactuar con diferentes plataformas y servicios en la nube utilizando Terraform. Estos proveedores son responsables de traducir la configuración de Terraform en llamadas API, lo cual es necesario para administrar los recursos en una plataforma o servicio de nube específico.







Tipos de proveedores en Terraform

En el Registro de terraformación , podemos ver tres tipos de proveedores:



Proveedores Oficiales

Los proveedores oficiales son mantenidos por la empresa HashiCorp propietaria de Terraform. Estos proveedores son la mejor opción disponible si necesitamos proveedores bien documentados y actualizados.



Los proveedores de AWS, Microsoft Azure y Google Cloud Platform pueden ser ejemplos de proveedores oficiales en Terraform.





Proveedores asociados

Las organizaciones de terceros mantienen estos proveedores y se han asociado con HashiCorp para brindar soporte oficial para sus servicios.

Los proveedores de GitLab, MongoDB y CloudFlare son algunos proveedores asociados que están disponibles para los usuarios.



Proveedores de la comunidad

Los proveedores de la comunidad suelen ser creados por personas u organizaciones de la comunidad de Terraform que desean administrar los recursos en una plataforma o servicio en la nube que no cuenta con el respaldo de un proveedor oficial o asociado.

Algunos ejemplos de proveedores comunitarios se muestran en la siguiente imagen:

Cómo utilizar un proveedor de Terraform

Para usar un proveedor de Terraform, debemos incluir un bloque de proveedor en nuestro archivo de configuración que especifique el proveedor que queremos usar y los parámetros de configuración necesarios, como las credenciales o la región.

Una vez que el proveedor está configurado, podemos usar los recursos y las fuentes de datos que proporciona el proveedor en nuestra configuración de Terraform para administrar los recursos en la plataforma o el servicio en la nube.

Vamos a crear un archivo de configuración de Terraform simple que cree una instancia EC2 en la plataforma en la nube de AWS.

proveedor 'aws' {

versión = '~> 3.0'

región = 'nosotros-este-2'

}

recurso 'instancia_aws' 'miEC2' {

cual = 'ami-0a561b65214a47cac'

tipo_instancia = 't3. pequeño'

etiquetas = {

Nombre = 'nueva instancia'

  }

}

Primero, definimos el bloque de proveedores, especificando el proveedor de AWS y la región donde se crean los recursos. Luego, definimos nuestro bloque de recursos para que consista en aws_instance como tipo de recurso, 'myEC2' como nombre de recurso y 'ami', 'instance_type' y 'tags' como atributos. El tipo de recurso se puede dividir en dos partes: Proveedor y Recurso. En este caso, 'aws' es el proveedor e 'instancia' es el recurso. Además, si alguien necesita aprovisionar diez instancias EC2, el atributo 'recuento' se puede usar con diez como valor.

Ahora, podemos realizar el flujo de Terraform, que incluye ejecutar los comandos terraform init, terraform plan y terraform apply para crear el recurso que definimos.

Usando el proveedor Terraform AWS, podemos acceder a la plataforma en la nube de AWS e interactuar con sus servicios de manera eficiente sin usar la Consola de administración de AWS.

Uso de múltiples proveedores en Terraform

En lugar de usar un solo proveedor, Terraform nos permite usar múltiples proveedores dentro del mismo archivo de configuración de Terraform para interactuar con varios tipos de servicios y plataformas en la nube.

Para su comprensión, veamos un ejemplo en el que implementamos un motor informático en Google Cloud Platform, un repositorio en GitHub y un depósito S3 en la plataforma en la nube de AWS.

proveedor 'Google' {

proyecto = 'primer proyecto'

región = 'us-west1'

}

proveedor 'github' {

ficha = 'TU_GITHUB_TOKEN'

}

proveedor 'aws' {

versión = '~> 3.0'

región = 'nosotros-oeste-2'

}

recurso 'google_compute_instance' 'gcpInstance' {

nombre = 'nueva instancia'

tipo_maquina = 'n1-estándar-1'

zona = 'us-west1-a'

disco de inicio {

inicializar_parámetros {

imagen = 'debian-nube/debian-10'

  }

 }

}

recurso 'github_repository' 'gitRepo' {

nombre = 'nuevo-repo'

descripción = 'Este es mi nuevo repositorio'

}

recurso 'aws_s3_cubo' 'awsCubo' {

balde = 'cubo nuevo'

ac = 'privado'

}

Como primer paso, definimos nuestros bloques de proveedores para especificar los proveedores (Google, GitHub y AWS) y la información necesaria como región, nombre del proyecto, etc. Luego, declaramos nuestros recursos usando tres bloques de recursos: “gcpInstance”, “ gitRepo” y “awsBucket”.

Primero, creamos un motor de cómputo en Google Cloud Platform con 'nueva instancia' como nombre, 'n1-estándar-1' como tipo de máquina y 'us-west1-a' como zona de disponibilidad. Utiliza Debian como sistema operativo host. Luego, creamos un repositorio de GitHub llamado “nuevo-repositorio” y una descripción adecuada. Finalmente, se crea un depósito S3 con el 'nuevo depósito' como nombre y 'privado' como valor de ACL (Lista de control de acceso).

Con esos tres proveedores de Terraform, podemos interactuar fácilmente con las plataformas en la nube y sus servicios.

Mejores prácticas para trabajar con proveedores de Terraform

Control de versiones del proveedor

Deberíamos especificar la versión del proveedor, ya que ayuda a garantizar la coherencia y evita comportamientos inesperados debido a cambios importantes en las versiones más recientes.

Autenticación del proveedor

Podemos utilizar los mecanismos de autenticación seguros, como las claves API y los tokens de acceso, para autenticar y autorizar a Terraform a interactuar con la plataforma o el servicio en la nube respectivo.

Documentación del proveedor

Los proveedores suelen tener opciones de configuración, características y limitaciones específicas. Comprender este tutorial nos ayuda a usar el proveedor de manera efectiva y evitar errores comunes.

Actualizaciones de proveedores

Los proveedores pueden publicar correcciones de errores, mejoras de rendimiento y nuevas funciones. Mantenernos actualizados nos permite aprovechar las últimas mejoras y mantener la compatibilidad con el ecosistema del proveedor.

Soporte comunitario

Podemos utilizar los foros en línea, los paneles de discusión y los canales comunitarios para resolver los desafíos cotidianos que se encuentran al usar los proveedores.

Manejo de errores y solución de problemas

Es una buena práctica familiarizarnos con los mensajes de error, los registros y las técnicas de depuración del proveedor para que nos ayuden a diagnosticar y resolver los problemas de manera más eficiente.

Conclusión

Hicimos una breve introducción a los proveedores de Terraform. Discutimos cómo usarlos y configurarlos para interactuar con varias plataformas y servicios en la nube y cómo usar múltiples proveedores para administrar los recursos en diferentes plataformas y servicios en la nube a través de ejemplos fáciles de entender.