Cette page explique comment utiliser Infrastructure Manager pour mettre à jour un déploiement. Voici quelques exemples de cas où vous pouvez mettre à jour un déploiement :
Pour rétablir votre infrastructure à un état choisi.
Lorsque vous créez un déploiement, il est possible que les ressources aient changé après un certain temps. Par exemple, certaines ressources ont peut-être été modifiées par une personne travaillant dans la console. Vous pouvez mettre à jour le déploiement à l'aide de la configuration Terraform d'origine pour le rétablir à l'état choisi.
Pour implémenter des modifications dans l'infrastructure.
Après avoir créé un déploiement, vous pouvez modifier l'infrastructure. Par exemple, l'ajout de ressources ou la modification de la configuration. Vous pouvez mettre à jour le déploiement à l'aide d'une configuration Terraform qui décrit la nouvelle infrastructure.
Dans cette page, nous partons du principe que vous connaissez Terraform. Pour en savoir plus, consultez Terraform et Infra Manager.
Avant de commencer
- Assurez-vous qu'Infra Manager est activé.
- Assurez-vous de disposer des autorisations IAM nécessaires pour créer des déploiements :
roles/config.admin - Assurez-vous de disposer d'un compte de service avec les autorisations nécessaires. Pour en savoir plus, consultez Configurer le compte de service.
- Identifiez le déploiement Infra Manager à mettre à jour.
Identifiez la configuration Terraform à déployer pour la mise à jour. Toute configuration peut être utilisée pour une révision. Cette configuration est souvent une version identique ou mise à jour de la configuration déjà déployée.
Assurez-vous que cette configuration Terraform respecte les contraintes, y compris qu'elle ne contient pas de données sensibles.
Confirmez le quota de votre organisation pour les produits associés à l'infrastructure prévue. Vous pouvez rencontrer des erreurs de déploiement si l'infrastructure prévue dépasse le quota de votre organisation pour les produits utilisés par votre déploiement. Pour en savoir plus, consultez Quotas et limites.
Prenez les mesures nécessaires pour la migration des données ou la continuité du service pour les ressources que vous modifiez.
Si vous souhaitez prévisualiser la mise à jour avant de configurer les ressources, consultez Prévisualiser la mise à jour d'un déploiement.
Accorder des autorisations spécifiques à la configuration
Pour déployer les ressources Google Cloud spécifiées dans la configuration Terraform, le compte de service que vous utilisez pour appeler Infra Manager doit disposer d'autorisations spécifiques pour :
Google Cloud ressources définies dans la configuration que vous utilisez pour la révision.
Si la configuration que vous utilisez pour la révision définit des ressources différentes de celles utilisées pour le déploiement, vous devez disposer d'autorisations pour les ressources définies dans les deux configurations.
Les autorisations spécifiques aux ressources définies dans la configuration s'ajoutent à celles dont le compte de service a besoin pour utiliser le service Infra Manager.
Pour savoir comment accorder des autorisations pour les ressources Google Cloud et vous assurer que vous avez accès aux projets nécessaires, consultez Configurer le compte de service.
Connecter votre dépôt et votre hôte Git privés à Cloud Build
Si vous déployez une configuration Terraform à partir d'un dépôt Git privé, vous devez connecter votre hôte et votre dépôt Git à Cloud Build.
GitHub
GitHub Enterprise
GitLab
GitLab Enterprise
Developer Connect
Mettre à jour un déploiement
Pour mettre à jour un déploiement, vous déployez une configuration en utilisant le même nom de déploiement, ce qui crée une révision. Pour en savoir plus, consultez Présentation des déploiements et des révisions.
Si vous n'avez pas de déploiement existant, consultez Déployer une infrastructure à l'aide d'Infra Manager.
Pour prévisualiser une mise à jour sans provisionner de ressources, consultez Prévisualiser un déploiement.
Sélectionnez l'onglet correspondant au workflow de votre choix pour en savoir plus sur la mise à jour d'un déploiement.
Console
Cette section explique comment mettre à jour une configuration Terraform à l'aide d'Infra Manager dans la console Google Cloud .
Déployez la configuration et créez une révision :
- Dans la console Google Cloud , accédez à la page Infra Manager.
- Sur la page Déploiements, recherchez dans la colonne ID le déploiement que vous souhaitez mettre à jour, puis cliquez dessus.
- Sur la page intitulée avec votre ID de déploiement, cliquez sur Modifier.
- Sur la page Détails du déploiement, vous pouvez modifier les champs Version de Terraform, Compte de service et Source de la configuration Terraform. Si vous fournissez un dépôt Git privé, assurez-vous d'avoir connecté votre hôte et votre dépôt à Cloud Build.
Cliquez sur Continuer.
- Sur la page Détails Terraform, vous pouvez modifier les valeurs d'entrée de la configuration Terraform. Cliquez sur Continuer.
- Sur la page Détails avancés, vous pouvez modifier les champs Libellés et annotations, Pools de nœuds de calcul et Bucket Cloud Storage d'artefacts.
- Cliquez sur Mettre à jour une fois que vous êtes satisfait des modifications apportées à votre déploiement pour lancer le processus de mise à jour.
Pour en savoir plus sur les paramètres de déploiement et leurs formats, consultez la documentation sur le déploiement de ressources.
gcloud CLI
Cette section décrit le déploiement d'une configuration Terraform stockée dans un bucket Cloud Storage. Un bucket de stockage vous permet de contrôler l'accès à la configuration.
- Assurez-vous que la configuration Terraform se trouve dans un bucket Cloud Storage. Pour en savoir plus, consultez Importer une configuration dans un bucket de stockage.
Si le bucket de stockage se trouve dans un projet différent de celui dans lequel vous exécutez Infra Manager, vous devez vous assurer que le compte de service d'Infra Manager dispose d'une autorisation de lecture sur le bucket. Pour en savoir plus, consultez Configurer le compte de service.
Si le bucket de stockage se trouve dans le même projet qu'Infra Manager, l'autorisation de lecture sur le bucket est déjà activée.
Déployez la configuration et créez une révision :
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 : ID du projet dans lequel Infra Manager s'exécute.
- LOCATION : emplacement d'exécution d'Infra Manager. Pour obtenir la liste des emplacements valides, consultez Emplacements Infra Manager.
- DEPLOYMENT_ID : identifiant de déploiement que vous spécifiez. Pour en savoir plus sur les contraintes liées à l'identifiant de déploiement, consultez Nom du déploiement.
- SERVICE_ACCOUNT_PROJECT_ID est l'ID du projet du compte de service. Il s'agit généralement du même projet que celui dans lequel Infra Manager s'exécute.
- SERVICE_ACCOUNT : nom du compte de service que vous utilisez pour appeler Infra Manager.
- BUCKET_NAME : nom du bucket de stockage dans lequel la configuration est stockée.
- OBJECT_NAME : nom d'objet du fichier de configuration. Cet objet peut être un répertoire ou un fichier ZIP, mais pas un fichier Terraform. Si vous utilisez la gestion des versions des objets, vous pouvez également spécifier le numéro de génération de l'objet. Pour en savoir plus, consultez Utiliser des objets avec des versions gérées.
Si le bucket de stockage est le chemin d'accès racine de la configuration Terraform, OBJECT_NAME est facultatif.
- Facultatif : QUOTA_VALIDATION : valeur qui détermine si la validation des quotas pour les ressources de vos fichiers de configuration Terraform est activée ou appliquée lorsque vous créez un déploiement. Les valeurs possibles sont les suivantes :
ENABLED: activez la validation des quotas de calcul pour les ressources dans les fichiers de configuration Terraform. Offre une visibilité sur les ressources dont les quotas sont insuffisants.ENFORCED: appliquez la validation des quotas pour que votre déploiement échoue si les quotas disponibles sont insuffisants pour l'infrastructure définie dans votre fichier de configuration Terraform.
Si QUOTA_VALIDATION n'est pas défini, la validation des quotas sur les fichiers de configuration Terraform sera désactivée. Il s'agit de la valeur par défaut. La validation des quotas s'applique aux ressources limitées Google Cloud . Pour en savoir plus, consultez la page Quotas et limites.
INPUT_1_NAME et INPUT_2_NAME : toutes les valeurs d'entrée de la configuration Terraform, y compris celles qui ne sont pas définies par défaut. Par exemple, vous pouvez spécifier le projet dans lequel vous déployez les ressources comme suit :
project_id=my-project.Si toutes les valeurs d'entrée sont définies par défaut dans la configuration, cette option est facultative.
- Facultatif : TERRAFORM_VERSION : version de Terraform qu'Infra Manager doit utiliser pour mettre à jour le déploiement. Consultez la section Version de Terraform compatible pour obtenir la liste des versions compatibles. Si vous supprimez cette option facultative, Infra Manager utilise la version Terraform du déploiement existant ou, par défaut, la dernière version sans frais compatible (
1.5.7). Pour passer à une version payante (comme1.16.5), vous devez spécifier explicitement la version. - Facultatif : ANNOTATION_KEY et ANNOTATION_VALUE représentent une paire clé-valeur de texte libre qui peut être associée à vos déploiements Infra Manager. Pour en savoir plus sur l'utilisation et les contraintes des annotations et des libellés, consultez Annotations et libellés.
- Facultatif : PROVIDER_SOURCE : détermine le fournisseur Terraform pour Google Cloud que le déploiement utilise. Définissez cette option sur
SERVICE_MAINTAINEDpour utiliser le fournisseur Terraform géré par Infra Manager. Omettez ce champ pour utiliser le fournisseur Terraform géré par HashiCorp. Pour en savoir plus, consultez Utiliser le fournisseur Terraform pour Google Cloud.
gcloud CLI
Cette section explique comment utiliser une configuration Terraform stockée dans un dépôt Git.
- Assurez-vous d'avoir installé Git.
- Si votre configuration Terraform est stockée dans un
dépôt Git privé , assurez-vous que votre hôte et votre dépôt Git sont connectés à Cloud Build. Déployez la configuration et créez une révision :
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 : ID du projet dans lequel Infra Manager s'exécute.
- LOCATION : emplacement d'exécution d'Infra Manager. Pour obtenir la liste des emplacements valides, consultez Emplacements Infra Manager.
- DEPLOYMENT_ID : identifiant de déploiement que vous spécifiez. Pour en savoir plus sur les contraintes liées à l'identifiant de déploiement, consultez Nom du déploiement.
- SERVICE_ACCOUNT_PROJECT_ID est l'ID du projet du compte de service. Il s'agit généralement du même projet que celui dans lequel Infra Manager s'exécute.
- SERVICE_ACCOUNT : nom du compte de service que vous utilisez pour appeler Infra Manager.
- GIT_REPO : dépôt Git.
- DIRECTORY : répertoire contenant la configuration Terraform.
- Facultatif : REF : référence Git de la configuration. La référence est facultative. Si vous ne spécifiez pas de référence, la branche configurée par défaut pour le dépôt Git est utilisée.
- Facultatif : QUOTA_VALIDATION : valeur qui détermine si la validation des quotas pour les ressources de vos fichiers de configuration Terraform est activée ou appliquée lorsque vous créez un déploiement. Les valeurs possibles sont les suivantes :
ENABLED: activez la validation des quotas de calcul pour les ressources dans les fichiers de configuration Terraform. Offre une visibilité sur les ressources dont les quotas sont insuffisants.ENFORCED: appliquez la validation des quotas pour que votre déploiement échoue si les quotas disponibles sont insuffisants pour l'infrastructure définie dans votre fichier de configuration Terraform.
Si QUOTA_VALIDATION n'est pas défini, la validation des quotas sur les fichiers de configuration Terraform sera désactivée. Il s'agit de la valeur par défaut. La validation des quotas s'applique aux ressources limitées Google Cloud . Pour en savoir plus, consultez la page Quotas et limites.
INPUT_1_NAME et INPUT_2_NAME : toutes les valeurs d'entrée de la configuration Terraform, y compris celles qui ne sont pas définies par défaut. Par exemple, vous pouvez spécifier le projet dans lequel vous déployez les ressources comme suit :
project_id=my-project.Si toutes les valeurs d'entrée sont définies par défaut dans la configuration, cette option est facultative.
- Facultatif : TERRAFORM_VERSION : version de Terraform qu'Infra Manager doit utiliser pour mettre à jour le déploiement. Consultez la section Version de Terraform compatible pour obtenir la liste des versions compatibles. Si vous supprimez cette option facultative, Infra Manager utilise la version Terraform du déploiement existant ou, par défaut, la dernière version sans frais compatible (
1.5.7). Pour passer à une version payante (comme1.16.5), vous devez spécifier explicitement la version. - Facultatif : ANNOTATION_KEY et ANNOTATION_VALUE représentent une paire clé-valeur de texte libre qui peut être associée à vos déploiements Infra Manager. Pour en savoir plus sur l'utilisation et les contraintes des annotations et des libellés, consultez Annotations et libellés.
- Facultatif : PROVIDER_SOURCE : détermine le fournisseur Terraform pour Google Cloud que le déploiement utilise. Définissez cette option sur
SERVICE_MAINTAINEDpour utiliser le fournisseur Terraform géré par Infra Manager. Omettez ce champ pour utiliser le fournisseur Terraform géré par HashiCorp. Pour en savoir plus, consultez Utiliser le fournisseur Terraform pour Google Cloud.
gcloud CLI
Cette section explique comment utiliser une configuration Terraform stockée sur votre ordinateur local.
- Si vous utilisez Cloud Shell, vous devez importer la configuration dans Cloud Shell. Pour en savoir plus, consultez Gérer des fichiers avec Cloud Shell.
Déployez la configuration et créez une révision :
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 : ID du projet dans lequel Infra Manager s'exécute.
- LOCATION : emplacement d'exécution d'Infra Manager. Pour obtenir la liste des emplacements valides, consultez Emplacements Infra Manager.
- DEPLOYMENT_ID : identifiant de déploiement que vous spécifiez. Pour en savoir plus sur les contraintes liées à l'identifiant de déploiement, consultez Nom du déploiement.
- SERVICE_ACCOUNT_PROJECT_ID est l'ID du projet du compte de service. Il s'agit généralement du même projet que celui dans lequel Infra Manager s'exécute.
- SERVICE_ACCOUNT : nom du compte de service que vous utilisez pour appeler Infra Manager.
- LOCAL_DIRECTORY : répertoire local stockant la configuration Terraform. Si vous utilisez Cloud Shell, il s'agit du répertoire dans Cloud Shell où la configuration est stockée.
- Facultatif : QUOTA_VALIDATION : valeur qui détermine si la validation des quotas pour les ressources de vos fichiers de configuration Terraform est activée ou appliquée lorsque vous créez un déploiement. Les valeurs possibles sont les suivantes :
ENABLED: activez la validation des quotas de calcul pour les ressources dans les fichiers de configuration Terraform. Offre une visibilité sur les ressources dont les quotas sont insuffisants.ENFORCED: appliquez la validation des quotas pour que votre déploiement échoue si les quotas disponibles sont insuffisants pour l'infrastructure définie dans votre fichier de configuration Terraform.
Si QUOTA_VALIDATION n'est pas défini, la validation des quotas sur les fichiers de configuration Terraform sera désactivée. Il s'agit de la valeur par défaut. La validation des quotas s'applique aux ressources limitées Google Cloud . Pour en savoir plus, consultez la page Quotas et limites.
INPUT_1_NAME et INPUT_2_NAME : toutes les valeurs d'entrée de la configuration Terraform, y compris celles qui ne sont pas définies par défaut. Par exemple, vous pouvez spécifier le projet dans lequel vous déployez les ressources comme suit :
project_id=my-project.Si toutes les valeurs d'entrée sont définies par défaut dans la configuration, cette option est facultative.
- Facultatif : TERRAFORM_VERSION : version de Terraform qu'Infra Manager doit utiliser pour mettre à jour le déploiement. Consultez la section Version de Terraform compatible pour obtenir la liste des versions compatibles. Si vous supprimez cette option facultative, Infra Manager utilise la version Terraform du déploiement existant ou, par défaut, la dernière version sans frais compatible (
1.5.7). Pour passer à une version payante (comme1.16.5), vous devez spécifier explicitement la version. - Facultatif : ANNOTATION_KEY et ANNOTATION_VALUE représentent une paire clé-valeur de texte libre qui peut être associée à vos déploiements Infra Manager. Pour en savoir plus sur l'utilisation et les contraintes des annotations et des libellés, consultez Annotations et libellés.
- Facultatif : PROVIDER_SOURCE : détermine le fournisseur Terraform pour Google Cloud que le déploiement utilise. Définissez cette option sur
SERVICE_MAINTAINEDpour utiliser le fournisseur Terraform géré par Infra Manager. Omettez ce champ pour utiliser le fournisseur Terraform géré par HashiCorp. Pour en savoir plus, consultez Utiliser le fournisseur Terraform pour Google Cloud.