Infrastructure Manager (Infra Manager) es un servicio administrado que simplifica y automatiza la implementación y la administración de tus recursos de infraestructura de Google Cloud . Con las opciones de configuración de Terraform (también llamadas planos), Infra Manager proporciona una cadena de herramientas de Google Cloud administrada para implementar flujos de trabajo de infraestructura como código (IaC).
Con Infra Manager, puedes hacer lo siguiente:
- Define tu infraestructura de forma declarativa con Terraform.
- Implementa parámetros de configuración de Terraform almacenados en buckets de Cloud Storage, repositorios de Git o tus directorios locales.
- Administrar el ciclo de vida de tu infraestructura a través de implementaciones y revisiones
- Crea implementaciones de vista previa para ver cómo los cambios afectan tu infraestructura antes de aplicarlos.
- Usa integraciones con Cloud Build para flujos de trabajo automatizados.
Infra Manager no administra la implementación de aplicaciones en tus recursos. Para la implementación de aplicaciones, considera usar productos de Google Cloud como App Lifecycle Manager, Cloud Build y Cloud Deploy, o herramientas de terceros.
Para trabajar con Infra Manager, debes conocer Terraform. Para obtener más información sobre Terraform con Google Cloud, consulta Terraform en Google Cloud.
Para obtener más información sobre qué es Terraform y cómo funciona, consulta ¿Qué es Terraform? de HashiCorp.
Infra Manager y la infraestructura como código
Infra Manager te permite usar IaC para administrar el ciclo de vida de los recursos deGoogle Cloud :
- Terraform se define de forma declarativa en una configuración de Terraform. Esto significa que la configuración describe el estado final de tu infraestructura.
- Puedes controlar las versiones de la configuración de Terraform en un repositorio de Git o en un bucket de Cloud Storage. Usa el control de versiones de objetos para controlar las versiones de las configuraciones en un bucket de almacenamiento.
- Usa Infra Manager para actualizar la implementación de tu infraestructura
con revisiones.
Para cada revisión, Infra Manager almacena lo siguiente:
- Registros
- Es la configuración que se usa para realizar la revisión.
- Es la lista de recursos de Google Cloud creados por la revisión.
- El archivo de estado creado como parte de cada implementación y revisión
Consulta Infraestructura como código en Google Cloud para obtener más información sobre la IaC.
Personaliza las implementaciones con valores de entrada
Puedes parametrizar tus configuraciones de Terraform con variables de entrada de Terraform, a las que Infra Manager se refiere como valores de entrada. Los valores de entrada te permiten personalizar una implementación y, al mismo tiempo, reutilizar la misma configuración en varios entornos o implementaciones sin modificar el código fuente de configuración de Terraform. Puedes proporcionar valores para las variables obligatorias que no tienen un valor predeterminado o anular los valores predeterminados existentes.
Puedes pasar valores de entrada cuando creas, actualizas o obtienes una vista previa de una implementación. Para obtener más información sobre cómo definir y usar variables de entrada en Terraform, consulta la documentación de variables de entrada de HashiCorp.
Cómo funciona Infra Manager
A continuación, se describe lo que sucede en una situación en la que usas Infra Manager para implementar la infraestructura:
- Los recursos de infraestructura que se implementarán en Google Cloud se definen en una
configuración de Terraform.
- Puedes crear este archivo por tu cuenta o usar una configuración que ya esté escrita para Google Cloud. Consulta Terraform y Infrastructure Manager para obtener más detalles.
- Puedes almacenar la configuración de Terraform en un bucket de Cloud Storage, un repositorio de Git o en tu máquina local.
- Cuando usas Infra Manager para implementar recursos desde una configuración de Terraform, creas una implementación. Para crear una implementación,
Infra Manager hace lo siguiente:
- Valida la solicitud. Por ejemplo, garantiza que, en tu comando, hayas especificado la ubicación de la configuración de Terraform.
- Crea un trabajo de Cloud Build con una imagen de contenedor. Esta imagen es propiedad de Google Cloud, que también se encarga de mantenerla. Consulta
Entorno de ejecución para obtener detalles sobre el
entorno de compilación de Cloud Build. El trabajo de Cloud Build automatiza las
siguientes tareas:
- Descarga el módulo de Terraform desde el bucket de almacenamiento o el repositorio de Git.
- Inicializa Terraform (
terraform init) - Valida la configuración de Terraform (
terraform validate) - Activa la configuración (
terraform applyoterraform destroysi borras una implementación) - Transmite los registros de Cloud Build a un bucket de almacenamiento creado por Infra Manager.
- Si la implementación falla, Infra Manager reintenta automáticamente
las operaciones
terraform initoterraform applyen ciertas situaciones, como si falló con interrupciones intermitentes de la red. Estos reintentos se realizan una cantidad limitada de veces.
- Crea un bucket de Cloud Storage y almacena metadatos sobre la implementación. Para obtener más información sobre la implementación y los metadatos, consulta Descripción general de la implementación y la revisión.
Cuando se completa la implementación, los recursos de Google Cloud se aprovisionan como se describió en la configuración.
Puedes consultar la implementación de Infra Manager para lo siguiente:
- Es el estado de la implementación.
- Es la lista de recursos que se implementan como parte de la implementación.
- Detalles sobre los recursos individuales que forman parte de una implementación.
Entorno de ejecución
El entorno de ejecución de Infra Manager es un entorno efímero de Cloud Build. Infra Manager ejecuta comandos de Terraform en este entorno de compilación de Cloud Build y, luego, se descarta el entorno.
El sistema operativo específico, el software disponible y otros detalles de configuración del entorno de compilación de Cloud Build son detalles de implementación internos del Administrador de infraestructura y pueden cambiar en cualquier momento.
Puedes especificar qué versión compatible de Terraform usar para cada implementación.
No incluyas información sensible ni personal
No incluyas información personal ni sensible en los valores de configuración de Terraform.
Para obtener información adicional sobre los parámetros de configuración de Terraform y los datos sensibles, consulta Valores de configuración de Terraform y datos sensibles.
¿Qué sigue?
- Obtén más información sobre Terraform con Google Cloud.
- Crea una implementación.
- Actualiza un objeto Deployment.
- Automatizar las implementaciones.
- Borra una implementación.