En esta página se describe cómo usar Infrastructure Manager para actualizar una implementación. Estos son algunos casos en los que puede actualizar un despliegue:
Para restaurar tu infraestructura a un estado concreto.
Cuando creas una implementación, es posible que los recursos cambien al cabo de un tiempo. Por ejemplo, es posible que alguien que trabaje en la consola haya modificado algunos de los recursos. Puedes actualizar la implementación con la configuración original de Terraform para volver al estado elegido.
Para implementar cambios en la infraestructura.
Después de crear una implementación, es posible que quieras modificar la infraestructura. Por ejemplo, añadir nuevos recursos o cambiar parte de la configuración. Puedes actualizar la implementación mediante una configuración de Terraform que describa la nueva infraestructura.
En esta página se da por hecho que conoces Terraform. Para obtener más información, consulta Terraform e Infra Manager.
Antes de empezar
- Comprueba que Infra Manager esté habilitado.
- Comprueba que tienes los permisos de gestión de identidades y accesos necesarios para crear implementaciones:
roles/config.admin
- Asegúrate de que tienes una cuenta de servicio con los permisos necesarios. Para obtener más información, consulta el artículo Configurar la cuenta de servicio.
- Identifica el despliegue de Infra Manager que quieres actualizar.
Identifica la configuración de Terraform que se va a desplegar para la actualización. Se puede usar cualquier configuración en una revisión. Esta configuración suele ser una versión idéntica o actualizada de la configuración ya implementada.
Asegúrate de que esta configuración de Terraform cumpla las restricciones, incluido que no contenga datos sensibles.
Confirma la cuota de productos de tu organización asociada a la infraestructura que quieres usar. Es posible que se produzcan errores de implementación si la infraestructura que quieres usar supera la cuota de tu organización para los productos que utiliza tu implementación. Consulta las cuotas y los límites para obtener más información.
Sigue los pasos necesarios para migrar los datos o mantener la continuidad del servicio de los recursos que vas a modificar.
Si quieres ver una vista previa de la actualización antes de configurar los recursos, consulta Vista previa de una actualización de un despliegue.
Conceder permisos específicos de la configuración
Para desplegar Google Cloud recursos que se especifican en la configuración de Terraform, la cuenta de servicio que uses para llamar a Infra Manager necesita permisos específicos para lo siguiente:
Google Cloud recursos definidos en la configuración que estés usando para la revisión.
Si la configuración que usas para la revisión define recursos diferentes a los de la configuración usada para la implementación, necesitas permisos para los recursos definidos en ambas configuraciones.
Los permisos específicos de los recursos definidos en la configuración se suman a los permisos que necesita la cuenta de servicio para usar el servicio Infra Manager.
Para obtener información sobre cómo conceder permisos para los recursos de Google Cloud y asegurarte de que tienes acceso a los proyectos necesarios, consulta Configurar la cuenta de servicio.
Conectar tu repositorio de Git privado y tu host a Cloud Build
Si vas a desplegar una configuración de Terraform desde un repositorio de Git privado, debes conectar tu host y tu repositorio de Git a Cloud Build.
GitHub
GitHub Enterprise
GitLab
GitLab Enterprise
Developer Connect
Actualizar un despliegue
Para actualizar una implementación, debes implementar una configuración con el mismo nombre de implementación. De esta forma, se crea una revisión. Para obtener más información, consulta el artículo Descripción general de las implementaciones y las revisiones.
Si no tienes ningún despliegue, consulta Desplegar infraestructura con Infra Manager.
Para previsualizar una actualización sin aprovisionar recursos, consulta Previsualizar una implementación.
Selecciona la pestaña del flujo de trabajo que hayas elegido para obtener más información sobre cómo actualizar una implementación.
Consola
En esta sección se describe cómo actualizar una configuración de Terraform mediante Infra Manager en la consola de Google Cloud .
Implementa la configuración y crea una revisión:
- En la consola de Google Cloud , ve a la página Gestor de infraestructuras.
- En la página Implementaciones, busca la columna ID y haz clic en la implementación que quieras actualizar.
- En la página cuyo título sea tu ID de implementación, haz clic en Editar.
- En la página Detalles de la implementación, puede modificar los campos Versión de Terraform, Cuenta de servicio y Fuente de la configuración de Terraform. Si proporcionas un repositorio de Git privado, asegúrate de haber conectado tu host y tu repositorio a Cloud Build.
Haz clic en Continuar.
- En la página Detalles de Terraform, puede modificar los valores de entrada de la configuración de Terraform. Haz clic en Continuar.
- En la página Detalles avanzados, puede modificar los campos Etiquetas y anotaciones, Grupos de trabajadores y Contenedor de Artifact Cloud Storage.
- Cuando estés conforme con los cambios que has hecho en tu implementación, haz clic en Actualizar para iniciar el proceso de actualización.
Para obtener más información sobre los parámetros de implementación y sus formatos, consulta la documentación sobre implementación de recursos.
CLI de gcloud
En esta sección se describe cómo implementar una configuración de Terraform almacenada en un segmento de Cloud Storage. Un segmento de almacenamiento te permite controlar el acceso a la configuración.
- Asegúrate de que la configuración de Terraform esté en un segmento de Cloud Storage. Para obtener más información, consulta el artículo Subir una configuración a un contenedor de almacenamiento.
Si el segmento de almacenamiento está en un proyecto diferente del proyecto en el que ejecutas Infra Manager, debes asegurarte de que la cuenta de servicio de Infra Manager tenga permiso de lectura para el segmento. Consulta más información en el artículo Configurar la cuenta de servicio.
Si el segmento de almacenamiento está en el mismo proyecto que Infra Manager, el permiso de lectura del segmento ya está habilitado.
Implementa la configuración y crea una revisión:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" --provider-source=SERVICE_MAINTAINED
- PROJECT_ID: el ID del proyecto en el que se ejecuta Infra Manager.
- LOCATION: la ubicación en la que se ejecuta Infra Manager. Consulta la lista de ubicaciones válidas en Ubicaciones de Infra Manager.
- DEPLOYMENT_ID: el identificador de la implementación que especifiques. Consulta Nombre de la implementación para obtener información sobre las restricciones del identificador de implementación.
- SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Lo habitual es que sea el mismo proyecto en el que se ejecuta Infra Manager.
- SERVICE_ACCOUNT: el nombre de la cuenta de servicio que usas para llamar a Infra Manager.
- BUCKET_NAME: el nombre del segmento de almacenamiento en el que se almacena la configuración.
- OBJECT_NAME: el nombre del objeto del archivo de configuración. Este objeto puede ser un directorio o un archivo zip, pero no un archivo de Terraform. Si usa la gestión de versiones de objetos, también puede especificar el número de generación del objeto. Para obtener más información, consulta Usar objetos versionados.
Si el contenedor de almacenamiento es la ruta raíz de la configuración de Terraform, OBJECT_NAME es opcional.
- Opcional: QUOTA_VALIDATION es el valor que determina si la validación de cuota de los recursos de los archivos de configuración de Terraform está habilitada o se aplica cuando creas una implementación. Estos son algunos de los posibles valores:
ENABLED
: habilita la validación de cuotas de computación para los recursos de los archivos de configuración de Terraform. Proporciona visibilidad de los recursos con cuotas insuficientes.ENFORCED
: valida la cuota para que tu implementación falle si no hay suficiente cuota disponible para la infraestructura definida en tu archivo de configuración de Terraform.
Si no se define QUOTA_VALIDATION, se inhabilitará la validación de cuotas en los archivos de configuración de Terraform. Este es el valor predeterminado. La validación de cuotas se aplica a los recursos limitados. Google Cloud Para obtener más información, consulta Cuotas y límites.
INPUT_1_NAME y INPUT_2_NAME: cualquier valor de entrada de la configuración de Terraform, incluidos los que no están definidos de forma predeterminada. Por ejemplo, puedes especificar el proyecto en el que implementas los recursos como
project_id=my-project
.Si todos los valores de entrada se definen de forma predeterminada en la configuración, esta marca es opcional.
- Opcional:TERRAFORM_VERSION la versión de Terraform que Infra Manager debe usar para crear la implementación. Consulta la versión de Terraform compatible para ver la lista de versiones admitidas. Si quitas esta marca opcional, se usará la última versión compatible de Terraform.
- Opcional: ANNOTATION_KEY y ANNOTATION_VALUE representan un par clave-valor de texto de formato libre que se puede adjuntar a tus implementaciones de Infra Manager. Para obtener más información sobre el uso y las restricciones de las anotaciones y las etiquetas, consulta Anotaciones y etiquetas.
- Opcional: PROVIDER_SOURCE: determina qué proveedor de Terraform
utiliza Google Cloud el despliegue. Defina el valor
SERVICE_MAINTAINED
para usar el proveedor de Terraform mantenido por Infra Manager. Omite este campo para usar el proveedor de Terraform mantenido por HashiCorp. Para obtener más información, consulta Usar el proveedor de Terraform para Google Cloud.
CLI de gcloud
En esta sección se describe cómo trabajar con una configuración de Terraform almacenada en un repositorio de Git.
- Comprueba que has instalado Git.
- Si tu configuración de Terraform se almacena en un
repositorio de Git privado , asegúrate de que el host y el repositorio de Git estén conectados a Cloud Build. Implementa la configuración y crea una revisión:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" --provider-source=SERVICE_MAINTAINED
- PROJECT_ID: el ID del proyecto en el que se ejecuta Infra Manager.
- LOCATION: la ubicación en la que se ejecuta Infra Manager. Consulta la lista de ubicaciones válidas en Ubicaciones de Infra Manager.
- DEPLOYMENT_ID: el identificador de la implementación que especifiques. Consulta Nombre de la implementación para obtener información sobre las restricciones del identificador de implementación.
- SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Lo habitual es que sea el mismo proyecto en el que se ejecuta Infra Manager.
- SERVICE_ACCOUNT: el nombre de la cuenta de servicio que usas para llamar a Infra Manager.
- GIT_REPO: el repositorio de Git.
- DIRECTORY: el directorio que tiene la configuración de Terraform.
- Opcional: REF: la referencia de Git de la configuración. La referencia es opcional. Si no especificas la referencia, se usará la rama configurada predeterminada del repositorio de Git.
- Opcional: QUOTA_VALIDATION es el valor que determina si la validación de cuota de los recursos de los archivos de configuración de Terraform está habilitada o se aplica cuando creas una implementación. Estos son algunos de los posibles valores:
ENABLED
: habilita la validación de cuotas de computación para los recursos de los archivos de configuración de Terraform. Proporciona visibilidad de los recursos con cuotas insuficientes.ENFORCED
: valida la cuota para que tu implementación falle si no hay suficiente cuota disponible para la infraestructura definida en tu archivo de configuración de Terraform.
Si no se define QUOTA_VALIDATION, se inhabilitará la validación de cuotas en los archivos de configuración de Terraform. Este es el valor predeterminado. La validación de cuotas se aplica a los recursos limitados. Google Cloud Para obtener más información, consulta Cuotas y límites.
INPUT_1_NAME y INPUT_2_NAME: cualquier valor de entrada de la configuración de Terraform, incluidos los que no están definidos de forma predeterminada. Por ejemplo, puedes especificar el proyecto en el que implementas los recursos como
project_id=my-project
.Si todos los valores de entrada se definen de forma predeterminada en la configuración, esta marca es opcional.
- Opcional:TERRAFORM_VERSION la versión de Terraform que Infra Manager debe usar para crear la implementación. Consulta la versión de Terraform compatible para ver la lista de versiones admitidas. Si quitas esta marca opcional, se usará la última versión compatible de Terraform.
- Opcional: ANNOTATION_KEY y ANNOTATION_VALUE representan un par clave-valor de texto de formato libre que se puede adjuntar a tus implementaciones de Infra Manager. Para obtener más información sobre el uso y las restricciones de las anotaciones y las etiquetas, consulta Anotaciones y etiquetas.
- Opcional: PROVIDER_SOURCE: determina qué proveedor de Terraform
utiliza Google Cloud el despliegue. Defina el valor
SERVICE_MAINTAINED
para usar el proveedor de Terraform mantenido por Infra Manager. Omite este campo para usar el proveedor de Terraform mantenido por HashiCorp. Para obtener más información, consulta Usar el proveedor de Terraform para Google Cloud.
CLI de gcloud
En esta sección se describe cómo trabajar con una configuración de Terraform almacenada en tu máquina local.
- Si usas Cloud Shell, debes subir la configuración a Cloud Shell. Para obtener más información, consulta el artículo Gestionar archivos con Cloud Shell.
Implementa la configuración y crea una revisión:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --local-source="LOCAL_DIRECTORY" \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" --provider-source=SERVICE_MAINTAINED
- PROJECT_ID: el ID del proyecto en el que se ejecuta Infra Manager.
- LOCATION: la ubicación en la que se ejecuta Infra Manager. Consulta la lista de ubicaciones válidas en Ubicaciones de Infra Manager.
- DEPLOYMENT_ID: el identificador de la implementación que especifiques. Consulta Nombre de la implementación para obtener información sobre las restricciones del identificador de implementación.
- SERVICE_ACCOUNT_PROJECT_ID es el ID del proyecto de la cuenta de servicio. Lo habitual es que sea el mismo proyecto en el que se ejecuta Infra Manager.
- SERVICE_ACCOUNT: el nombre de la cuenta de servicio que usas para llamar a Infra Manager.
- LOCAL_DIRECTORY: el directorio local que almacena la configuración de Terraform. Si usas Cloud Shell, este es el directorio de Cloud Shell en el que se almacena la configuración.
- Opcional: QUOTA_VALIDATION es el valor que determina si la validación de cuota de los recursos de los archivos de configuración de Terraform está habilitada o se aplica cuando creas una implementación. Estos son algunos de los posibles valores:
ENABLED
: habilita la validación de cuotas de computación para los recursos de los archivos de configuración de Terraform. Proporciona visibilidad de los recursos con cuotas insuficientes.ENFORCED
: valida la cuota para que tu implementación falle si no hay suficiente cuota disponible para la infraestructura definida en tu archivo de configuración de Terraform.
Si no se define QUOTA_VALIDATION, se inhabilitará la validación de cuotas en los archivos de configuración de Terraform. Este es el valor predeterminado. La validación de cuotas se aplica a los recursos limitados. Google Cloud Para obtener más información, consulta Cuotas y límites.
INPUT_1_NAME y INPUT_2_NAME: cualquier valor de entrada de la configuración de Terraform, incluidos los que no están definidos de forma predeterminada. Por ejemplo, puedes especificar el proyecto en el que implementas los recursos como
project_id=my-project
.Si todos los valores de entrada se definen de forma predeterminada en la configuración, esta marca es opcional.
- Opcional:TERRAFORM_VERSION la versión de Terraform que Infra Manager debe usar para crear la implementación. Consulta la versión de Terraform compatible para ver la lista de versiones admitidas. Si quitas esta marca opcional, se usará la última versión compatible de Terraform.
- Opcional: ANNOTATION_KEY y ANNOTATION_VALUE representan un par clave-valor de texto de formato libre que se puede adjuntar a tus implementaciones de Infra Manager. Para obtener más información sobre el uso y las restricciones de las anotaciones y las etiquetas, consulta Anotaciones y etiquetas.
- Opcional: PROVIDER_SOURCE: determina qué proveedor de Terraform
utiliza Google Cloud el despliegue. Defina el valor
SERVICE_MAINTAINED
para usar el proveedor de Terraform mantenido por Infra Manager. Omite este campo para usar el proveedor de Terraform mantenido por HashiCorp. Para obtener más información, consulta Usar el proveedor de Terraform para Google Cloud.
Siguientes pasos
- Consulta más información sobre Terraform con Google Cloud.
- Automatiza los despliegues.
- Consulta el estado de un despliegue.
- Consulta los recursos implementados.
- Eliminar un despliegue