Cette page explique comment utiliser Infrastructure Manager pour prévisualiser le déploiement des ressources définies dans une configuration Terraform.
Un aperçu décrit les actions à effectuer pour déclencher une configuration Terraform spécifique. Avant de créer ou de mettre à jour un déploiement, vous pouvez le prévisualiser pour vérifier les ressources planifiées à provisionner.
Un aperçu exécute la commande Terraform plan
. Dans cette page, nous partons du principe que vous connaissez Terraform. Pour en savoir plus, consultez la section Terraform et Infrastructure Manager.
Pour créer un aperçu, la configuration Terraform doit être compatible avec l'une des versions Terraform compatibles.
Avant de commencer
- Activez Infra Manager.
- Assurez-vous de disposer des autorisations IAM nécessaires pour créer des aperçus:
roles/config.admin
. - Assurez-vous de disposer d'un compte de service disposant des autorisations nécessaires. Pour en savoir plus, consultez la section Configurer le compte de service.
- Identifiez la configuration Terraform à prévisualiser. Assurez-vous que cette configuration Terraform respecte les contraintes, y compris que la configuration ne contient pas de données sensibles.
Prévisualiser une mise à jour d'un déploiement
La configuration Terraform que vous utilisez pour mettre à jour un déploiement peut se trouver dans un bucket de stockage ou dans un dépôt Git.
Vous utilisez également cette configuration Terraform pour prévisualiser la mise à jour.
Prévisualiser à l'aide d'une configuration Terraform stockée dans un bucket Cloud Storage
Lorsque vous mettez à jour un déploiement, il est possible que certaines des ressources existantes ne changent pas. L'aperçu d'une mise à jour vous indique les ressources planifiées pour être provisionnées ou supprimées, et celles qui ne sont pas prévues pour être modifiées.
Identifiez le déploiement que vous souhaitez mettre à jour.
Assurez-vous que la configuration Terraform est importée dans un bucket Cloud Storage. Pour en savoir plus, consultez la section Importer une configuration dans un bucket de stockage.
Un bucket de stockage vous permet de contrôler l'accès à la configuration. Vous pouvez également déployer une configuration Terraform stockée dans un dépôt Git ou sur votre machine locale.
Pour prévisualiser la mise à jour:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION
Remplacez :
- PROJECT_ID correspond à l'ID du projet dans lequel Infrastructure Manager s'exécute.
- LOCATION correspond à l'emplacement où Infra Manager s'exécute. Pour obtenir la liste des emplacements valides, consultez la section Emplacements Infrastructure Manager.
- PREVIEW_ID est l'identifiant d'aperçu que vous spécifiez. Pour en savoir plus sur les contraintes liées à l'identifiant d'aperçu, consultez la section Nom de l'aperçu.
- SERVICE_ACCOUNT correspond au nom du compte de service que vous utilisez pour appeler Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID correspond à 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.
- DEPLOYMENT_ID est l'identifiant du déploiement que vous souhaitez mettre à jour.
- BUCKET_NAME est le nom du bucket de stockage dans lequel la configuration est stockée.
OBJECT_NAME est le nom de l'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 d'objets, vous pouvez également spécifier le numéro de génération de l'objet. Pour en savoir plus, consultez la section 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.
INPUT_1_NAME=VALUE et INPUT_2_NAME=VALUE: toutes les valeurs d'entrée dans 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 en tant que
project_id=my-project
.Si toutes les valeurs d'entrée sont définies par défaut dans la configuration, cet indicateur est facultatif.
Facultatif: TERRAFORM_VERSION: version de Terraform à utiliser par Infrastructure Manager pour créer le déploiement. Consultez la section Version Terraform compatible pour obtenir la liste des versions compatibles. Si vous supprimez cet indicateur facultatif, la dernière version compatible de Terraform est utilisée.
Les champs du déploiement, tels que la configuration Terraform, les variables et le compte de service, sont automatiquement fusionnés dans l'aperçu, sauf si vous spécifiez de nouvelles valeurs dans la commande d'aperçu.
Maintenant que vous avez créé un aperçu, vous pouvez exporter et afficher les résultats pour examiner le plan de déploiement.
Prévisualiser à l'aide d'une configuration Terraform stockée dans un dépôt Git
Lorsque vous mettez à jour un déploiement, il est possible que certaines des ressources existantes ne changent pas. L'aperçu d'une mise à jour vous indique les ressources planifiées pour être provisionnées ou supprimées, et celles qui ne sont pas prévues pour être modifiées.
- Si votre configuration Terraform est stockée dans un dépôt Git privé et que vous ne l'avez pas encore fait, assurez-vous de vous être connecté à votre hôte GitHub et à votre dépôt GitHub à l'aide de Cloud Build pour autoriser Infra Manager à accéder à votre dépôt.
Pour mettre à jour un déploiement:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION
Remplacez :
- PROJECT_ID correspond à l'ID du projet dans lequel Infrastructure Manager s'exécute.
- LOCATION est l'emplacement où Infra Manager s'exécute. Pour obtenir la liste des emplacements valides, consultez la section Emplacements Infrastructure Manager.
- PREVIEW_ID est l'identifiant d'aperçu que vous spécifiez. Pour en savoir plus sur les contraintes liées à l'identifiant d'aperçu, consultez la section Nom de l'aperçu.
- SERVICE_ACCOUNT correspond au nom du compte de service que vous utilisez pour appeler Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID correspond à 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.
- DEPLOYMENT_ID est l'identifiant du déploiement que vous souhaitez mettre à jour.
- GIT_REPO: dépôt Git.
- DIRECTORY: répertoire contenant la configuration Terraform.
- 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 du dépôt Git est utilisée.
INPUT_1_NAME=VALUE et INPUT_2_NAME=VALUE: toutes les valeurs d'entrée dans 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 en tant que
project_id=my-project
.Si toutes les valeurs d'entrée sont définies par défaut dans la configuration, cet indicateur est facultatif.
Facultatif: TERRAFORM_VERSION: version de Terraform à utiliser par Infrastructure Manager pour créer le déploiement. Consultez la section Version Terraform compatible pour obtenir la liste des versions compatibles. Si vous supprimez cet indicateur facultatif, la dernière version compatible de Terraform est utilisée.
Les champs du déploiement, tels que la configuration Terraform, les variables et le compte de service, sont automatiquement fusionnés dans l'aperçu, sauf si vous spécifiez de nouvelles valeurs dans la commande d'aperçu.
Maintenant que vous avez créé un aperçu, vous pouvez exporter et afficher les résultats pour examiner le plan de déploiement.
Étape suivante
- Exporter et afficher les résultats de prévisualisation
- Utilisez Infra Manager pour déployer des ressources.
- Automatisez les déploiements.
- En savoir plus sur Terraform avec Infra Manager