Déployer un VPC avec Terraform
Découvrez comment utiliser Infrastructure Manager pour déployer un cloud privé virtuel (VPC).
Ce guide de démarrage rapide utilise une configuration Terraform stockée dans un dépôt GitHub public. La configuration définit le VPC à provisionner.
Avant de commencer
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Infrastructure Manager API:
gcloud services enable config.googleapis.com
-
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/config.agent
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Infrastructure Manager API:
gcloud services enable config.googleapis.com
-
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/config.agent
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
Accorder des autorisations pour les ressources de la configuration
Vous avez accordé les autorisations nécessaires pour exécuter Infra Manager, mais vous devez également accorder les autorisations spécifiques aux ressources décrites dans la configuration que vous déployez.
Accordez des autorisations pour le VPC, qui est la ressource définie dans la configuration Terraform.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--role=roles/compute.networkAdmin
Remplacez les éléments suivants :
- SERVICE_ACCOUNT_NAME : nom du compte de service.
- PROJECT_ID : ID de votre projet.
Prévisualiser le déploiement
Avant de créer un déploiement, vous pouvez le prévisualiser. Vous pouvez utiliser cet aperçu pour vérifier les ressources qui doivent être provisionnées.
La commande suivante comporte quatre valeurs qui n'ont pas de valeur par défaut.
Ces valeurs sont les suivantes : l'ID de votre projet, le nom du compte de service, l'emplacement us-central1
et le nom quickstart-vpc
du réseau que vous créez.
Pour créer un aperçu, utilisez la commande suivante :
gcloud infra-manager previews create projects/PROJECT_ID/locations/us-central1/previews/quickstart-preview \
--service-account projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
--git-source-directory=modules/vpc \
--git-source-ref=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Une fois que vous avez créé un aperçu, vous pouvez examiner les résultats. Ce guide de démarrage rapide ignore cette étape, mais vous pouvez consulter Exporter et afficher les résultats de prévisualisation pour en savoir plus.
Créer un déploiement
Utilisez Infra Manager pour créer un déploiement. Cela signifie qu'Infra Manager provisionne les ressources définies dans la configuration Terraform.
La configuration de ce démarrage rapide comporte quatre valeurs qui n'ont pas de valeur par défaut. La commande suivante ajoute ces valeurs : l'ID de votre projet, le nom du compte de service, l'emplacement us-central1
et le nom quickstart-vpc
du réseau que vous créez.
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment \
--service-account=projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
--git-source-directory=modules/vpc \
--git-source-ref=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Une fois le déploiement terminé, le message suivant s'affiche :
Creating the deployment...done
Le VPC est maintenant créé et configuré comme décrit dans la configuration.
Afficher les résultats de compilation dans Cloud Build
Pour afficher le job Cloud Build qu'Infra Manager a utilisé pour créer le déploiement, ouvrez la page Historique de compilation dans la console Google Cloud :
Ouvrir la page Historique de compilation
Afficher l'état du déploiement
Maintenant que le déploiement est terminé, vous pouvez afficher sa description pour examiner les informations le concernant, y compris l'état.
Affichez la description du déploiement :
gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
La sortie contient des informations sur le déploiement, y compris son code temporel, le nom de la dernière révision et l'état.
L'état est ACTIVE
.
Afficher les détails du VPC provisionné
Affichez les détails du VPC provisionné :
gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID
Remplacez REVISION_ID par l'ID de la dernière révision. Cet ID est r-0
, sauf si vous avez déployé plusieurs fois. Vous pouvez voir l'ID de la dernière révision dans la description du déploiement de la section précédente.
Afficher le VPC dans la console
Affichez le VPC dans la console :
Le VPC nommé quickstart-vpc
s'affiche. Il s'agit du VPC provisionné par Infra Manager.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud , veillez à supprimer celles dont vous n'avez plus besoin.
Supprimer le VPC
Supprimez le VPC et les métadonnées concernant le déploiement :
gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
(Facultatif) Supprimez le projet.
Si vous avez déployé la solution dans un nouveau projet Google Cloud et que vous n'avez plus besoin de ce dernier, supprimez-le en procédant comme suit :
- Dans la console Google Cloud , accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Lorsque vous y êtes invité, saisissez l'ID du projet, puis cliquez sur Arrêter.
Étapes suivantes
- Pour en savoir plus sur Infra Manager, consultez Fonctionnement d'Infra Manager.
- En savoir plus sur Infra Manager et Terraform
- Mettre à jour un déploiement
- Automatisez les déploiements.
- Pour obtenir un ensemble de configurations et de modules prêts à l'emploi avec Google Cloud, consultez Plans et modules Terraform pour Google Cloud.