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 da eseguire il provisioning.

Prima di iniziare

  1. Accedi al tuo Account Google.

    Se non ne hai già uno, registrati per creare un nuovo account.

  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. 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 per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  6. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .

  7. Abilita l'API Infrastructure Manager:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    gcloud services enable config.googleapis.com
  8. Configura l'autenticazione:

    1. 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.
    2. Crea l'account di servizio:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Sostituisci SERVICE_ACCOUNT_NAME con un nome per il account di servizio.

    3. Concedi il ruolo IAM roles/config.agent al account di servizio:

      gcloud 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 del account di servizio
      • PROJECT_ID: l'ID del progetto in cui hai creato il account di servizio
  9. Installa Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. 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 per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  13. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .

  14. Abilita l'API Infrastructure Manager:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    gcloud services enable config.googleapis.com
  15. Configura l'autenticazione:

    1. 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.
    2. Crea l'account di servizio:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Sostituisci SERVICE_ACCOUNT_NAME con un nome per il account di servizio.

    3. Concedi il ruolo IAM roles/config.agent al account di servizio:

      gcloud 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 del account di servizio
      • PROJECT_ID: l'ID del progetto in cui hai creato il account di servizio

Concedere 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 eseguendo il deployment.

Concedi le autorizzazioni per il VPC, ovvero 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 del account di servizio.
  • PROJECT_ID: il tuo ID progetto.

Visualizzare 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 del 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=main \
        --input-values=project_id=PROJECT_ID,network_name=quickstart-vpc

Dopo aver creato un'anteprima, puoi esaminare 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 di 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 è 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

Visualizzare lo stato del deployment

Ora che il deployment è stato eseguito, puoi visualizzare la relativa 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 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 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 vedere l'ID dell'ultima revisione nella descrizione del deployment nella sezione precedente.

Visualizza il VPC nella console

Visualizza il VPC nella console:

Vai a Reti VPC

Vedi il VPC denominato quickstart-vpc. Questa è la VPC di cui è stato eseguito il provisioning da Infra Manager.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, assicurati di eliminare le risorse che non ti servono più.

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 progetto Google Cloud e non ne hai più bisogno, eliminalo completando i seguenti passaggi:

  1. Nella console Google Cloud , vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Al prompt, digita l'ID progetto e fai clic su Chiudi.

Passaggi successivi