Esegui il deployment di un 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 il VPC di cui eseguire il provisioning.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per un nuovo account.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita l'API Infrastructure Manager:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable config.googleapis.com
-
Configura l'autenticazione:
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli. -
Crea l'account di servizio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sostituisci
SERVICE_ACCOUNT_NAMEcon un nome per l'account di servizio. -
Concedi il ruolo IAM all'account di servizio:
roles/config.agentgcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Sostituisci quanto segue:
SERVICE_ACCOUNT_NAME: il nome dell'account di servizioPROJECT_ID: l'ID progetto in cui hai creato l'account di servizio
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita l'API Infrastructure Manager:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable config.googleapis.com
-
Configura l'autenticazione:
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli. -
Crea l'account di servizio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sostituisci
SERVICE_ACCOUNT_NAMEcon un nome per l'account di servizio. -
Concedi il ruolo IAM all'account di servizio:
roles/config.agentgcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Sostituisci quanto segue:
SERVICE_ACCOUNT_NAME: il nome dell'account di servizioPROJECT_ID: l'ID progetto in cui hai creato l'account di servizio
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
Concedi le autorizzazioni per le risorse nella configurazione
Hai concesso le autorizzazioni necessarie per eseguire Infra Manager, ma devi anche concedere le autorizzazioni specifiche per le risorse descritte nella configurazione di cui stai eseguendo il deployment.
Concedi le autorizzazioni per il VPC, che è la risorsa definita nella configurazione 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 crearne un'anteprima. Puoi utilizzare questa anteprima per verificare le risorse di cui è previsto il provisioning.
Il seguente comando ha quattro valori compilati 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 per la 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=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Dopo aver creato un'anteprima, puoi esaminarne i risultati. Questa guida rapida salta questo passaggio, ma puoi consultare Esportare e visualizzare 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 per questa guida rapida ha quattro valori che non hanno un valore predefinito. Il seguente comando aggiunge questi valori: l'ID progetto, il nome dell'account di servizio, la località us-central1 e il nome quickstart-vpc per la 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=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
Al termine del deployment, vedrai:
Creating the deployment...done
Il VPC è stato creato e configurato come descritto nella configurazione.
Visualizza i risultati della build in Cloud Build
Per visualizzare il job di Cloud Build utilizzato da Infra Manager per creare il deployment, apri la pagina Cronologia build nella Google Cloud console:
Apri la pagina Cronologia build
Visualizza lo stato del deployment
Ora che il deployment è stato completato, puoi visualizzarne la descrizione per esaminare 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 dettagli sul deployment, inclusi il timestamp del deployment, il nome dell'ultima revisione e lo stato.
Per lo stato, vedrai ACTIVE.
Visualizza i dettagli del 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 dell'ultima revisione. Questo ID è r-0, a meno che tu non abbia eseguito il deployment più volte. Puoi visualizzare l'ID dell'ultima revisione nella descrizione del deployment nella sezione precedente.
Visualizza il VPC nella console
Visualizza il VPC nella console:
Verrà visualizzato il VPC denominato quickstart-vpc. Questo è il VPC di cui Infra Manager ha eseguito il provisioning.
Libera spazio
Per evitare addebiti sul tuo Google Cloud account per le risorse utilizzate in questa pagina, assicurati di eliminare le risorse di cui non hai più bisogno.
Elimina il VPC
Elimina il 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 Google Cloud progetto e non ne hai più bisogno, eliminalo completando i seguenti passaggi:
- Nella Google Cloud console, 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, quindi fai clic su Chiudi.
Passaggi successivi
- Per saperne 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.