¡Estamos emocionados de compartir que el proveedor oficial de Elastic Cloud Terraform ya está disponible en beta! Los equipos de operaciones y SRE confían a menudo en Terraform para gestionar de manera segura la infraestructura relacionada con la producción mediante metodologías como la infraestructura como código. Esta práctica permite aplicar cambios de infraestructura revisados por pares de manera automatizada y controlada.
¿Qué nos ofrece este proveedor?
Este proveedor trabaja con Elasticsearch Service en Elastic Cloud, Elastic Cloud Enterprise y entornos privados de Elasticsearch Service. Ahora puedes utilizar el mismo código de automatización en nubes públicas y privadas, así como en entornos locales, gracias al proveedor Terraform.
terraform {
required_version = ">= 0.12"
required_providers {
ec = {
source = "elastic/ec"
version = "0.1.0-beta"
}
}
}
Recuerda que para utilizar este proveedor, necesitarás Terraform CLI versión 0.12 o superior. Ahora, veamos cómo puedes aprovechar al máximo este proveedor para gestionar tus implementaciones en Elastic Cloud.
Recursos de Elastic Cloud como código
Este proveedor te permite gestionar las implementaciones de Elastic Cloud para tus aplicaciones y soluciones como código, lo que introduce casos de uso emocionantes. Esta versión inicial te permite gestionar y desplegar implementaciones de Elastic Cloud, así como filtros de tráfico, como recursos de Terraform. Además, te permite consultar las APIs de Elastic Cloud como fuentes de datos Terraform para obtener las últimas versiones disponibles de Elastic Stack y las implementaciones en la nube existentes.
El recurso de implementación de Elastic Cloud, denominado ec_deployment
en el proveedor, te permite especificar configuraciones de pila complejas, incluido el número de nodos, sus roles y la cantidad de memoria que cada nodo consumirá. También puedes agregar o quitar componentes de soluciones como Enterprise Search o APM, y proporcionar a cada componente su archivo de configuración YAML.
Integración en tu flujo de trabajo CI/CD
Una razón convincente para utilizar Terraform es la capacidad de implementar rápidamente despliegues de Elastic Cloud para flujos de trabajo CI/CD. Esto te permite probar y desplegar tus aplicaciones de manera eficiente.
Veamos cómo puedes iniciar y configurar un despliegue con un usuario e índice recién creados. Puedes encontrar el código de ejemplo completo en el repositorio GitHub del Elastic Cloud Terraform Provider.
provider "ec" {
apikey = "Valor de la Clave API"
}
resource "ec_deployment" "ci-deployment" {
name = "ci-deployment"
region = "us-east-1"
version = "7.10.0"
deployment_template_id = "aws-io-optimized"
elasticsearch {}
kibana {}
}
La nube elástica es un servicio multi-nube, lo que significa que puedes implementar recursos en el proveedor de nube y la región de tu elección. Puedes especificar el nombre y la versión para cada recurso de implementación. Consulta nuestra documentación para obtener más información sobre las regiones disponibles en la nube.
Trucos adicionales para tu despliegue
Si deseas realizar acciones adicionales con tu implementación de Elastic Cloud, como crear índices y credenciales, puedes utilizar un sencillo script bash con comandos cURL y aprovechar algunas de las variables de salida de tu despliegue de Elastic Cloud.
output "elasticsearch_https_endpoint" {
value = ec_deployment.ci-deployment.elasticsearch[0].https_endpoint
}
output "elasticsearch_password" {
value = ec_deployment.ci-deployment.elasticsearch_password
}
Estas variables de salida escribirán datos importantes, como la contraseña y la URL de tu punto de conexión Elasticsearch, en tu terminal. Terraform te permite utilizar datos en tiempo de ejecución como valores para varias cosas, como un script bash.
Para ejecutar y probar el código de este ejemplo, copia los archivos de ejemplo localmente, configura el archivo provider.tf
con tu clave API de Elastic Cloud y aplica la configuración mediante terraform apply
.
Resultado final
Ahora tienes una implementación completa en Elastic Cloud inicializada por el script bash, llamando a las APIs de Elasticsearch con cualquier índice, usuario, plantillas de índices o asignaciones que desees al trabajar con tu implementación.
Siéntete libre de enviar comentarios y solicitudes de funciones directamente a nuestro repositorio del proveedor. Para empezar a utilizar Elastic Cloud, simplemente inicia sesión en la consola de Elastic Cloud o regístrate para obtener una prueba gratuita de 14 días.
¡Optimiza tu gestión de infraestructura con Elastic Cloud Terraform Provider y lleva tus despliegues al siguiente nivel!