Esegui il deployment di una VPC con Terraform
Scopri come utilizzare Infrastructure Manager per eseguire il deployment di un Virtual Private Cloud (VPC).
Questa guida rapida utilizza una configurazione Terraform archiviata in un repository GitHub pubblico. La configurazione definisce la VPC da eseguire il provisioning.
Prima di iniziare
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
- Install the Google Cloud CLI.
-
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.
-
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
-
Concedi le autorizzazioni per le risorse nella configurazione
Hai concesso le autorizzazioni necessarie per eseguire Infra Manager, ma devi anche concedere autorizzazioni specifiche per le risorse descritte nella configurazione che stai implementando.
Concedi le autorizzazioni per il VPC, ovvero la risorsa definita nella configurazione di Terraform.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--role=roles/compute.networkAdmin
Sostituisci quanto segue:
- SERVICE_ACCOUNT_NAME: il nome dell'account di servizio.
- PROJECT_ID: il tuo ID progetto.
Visualizza l'anteprima del deployment
Prima di creare un deployment, puoi creare un'anteprima. Puoi utilizzare questa anteprima per verificare le risorse di cui è pianificato il provisioning.
Il seguente comando contiene quattro valori che non hanno un valore predefinito.
Questi valori sono: l'ID progetto, il nome dell'account di servizio, la localitàus-central1
e il nome quickstart-vpc
della rete che stai creando.
Per creare un'anteprima, utilizza il seguente comando:
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=master \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Dopo aver creato un'anteprima, puoi esaminare i risultati dell'anteprima. Questa guida rapida salta questo passaggio, ma puoi consultare Esporta e visualizza i risultati dell'anteprima se vuoi maggiori dettagli.
Crea un deployment
Utilizza Infra Manager per creare un deployment. Ciò significa che Infra Manager esegue il provisioning delle risorse definite nella configurazione Terraform.
La configurazione di questa guida rapida ha quattro valori che non hanno un valore predefinito. Il seguente comando aggiunge i seguenti valori: l'ID progetto, il nome dell'account di servizio, la posizione us-central1
e il nome quickstart-vpc
della rete che stai creando.
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=master \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Al termine del deployment, viene visualizzato quanto segue:
Creating the deployment...done
Il VPC è ora creato e configurato come descritto nella configurazione.
Visualizza i risultati della build in Cloud Build
Per visualizzare il job Cloud Build utilizzato da Infra Manager per creare il deployment, apri la pagina Cronologia build nella console Google Cloud :
Apri la pagina Cronologia build
Visualizza lo stato del deployment
Ora che il deployment è stato completato, puoi visualizzarne la descrizione per esaminarne le informazioni, incluso lo stato.
Visualizza la descrizione del deployment:
gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
L'output contiene i dettagli del deployment, tra cui il timestamp del deployment, il nome dell'ultima revisione e lo stato.
Per lo stato, viene visualizzato ACTIVE
.
Visualizza i dettagli della VPC di cui è stato eseguito il provisioning
Visualizza i dettagli del VPC di cui è stato eseguito il provisioning:
gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID
Sostituisci REVISION_ID con l'ID della revisione più recente. Questo ID è
r-0
, a meno che tu non abbia eseguito il deployment più volte. Puoi vedere l'ID dell'ultima revisione nella descrizione del deployment nella sezione precedente.
Visualizza la VPC nella console
Visualizza la VPC nella console:
Vedrai la VPC denominata quickstart-vpc
. Si tratta della VPC di cui è stato eseguito il provisioning da parte di Infra Manager.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, assicurati di eliminare le risorse che non ti servono più.
Elimina il VPC
Elimina la VPC e i metadati relativi al deployment:
gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
(Facoltativo) Elimina il progetto
Se hai eseguito il deployment della soluzione in un nuovo progetto Google Cloud e non hai più bisogno del progetto, eliminalo completando i seguenti passaggi:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Al prompt, digita l'ID progetto e fai clic su Chiudi.
Passaggi successivi
- Per scoprire di più su Infra Manager, consulta Come funziona Infra Manager.
- Scopri di più su Infra Manager e Terraform.
- Aggiorna un deployment.
- Automatizza i deployment.
- Per un insieme di configurazioni e moduli pronti per l'uso con Google Cloud, consulta Modelli e moduli Terraform per Google Cloud.