Implementa una VPC con Terraform

Aprende a usar Infrastructure Manager para implementar una nube privada virtual (VPC).

En esta guía de inicio rápido, se usa una configuración de Terraform que se almacena en un repositorio público de GitHub. La configuración define la VPC que se aprovisionará.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. 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.

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Infrastructure Manager API:

    gcloud services enable config.googleapis.com
  8. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. 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 account
      • PROJECT_ID: the project ID where you created the service account
  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. 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.

  13. Make sure that billing is enabled for your Google Cloud project.

  14. Enable the Infrastructure Manager API:

    gcloud services enable config.googleapis.com
  15. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. 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 account
      • PROJECT_ID: the project ID where you created the service account

Otorga permisos para los recursos de la configuración

Ya otorgaste los permisos necesarios para ejecutar Infra Manager, pero también debes otorgar permisos específicos para los recursos que se describen en la configuración que implementas.

Otorga permisos para la VPC, que es el recurso definido en la configuración de Terraform.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
    --role=roles/compute.networkAdmin

Reemplaza lo siguiente:

  • SERVICE_ACCOUNT_NAME: Es el nombre de la cuenta de servicio.
  • PROJECT_ID: el ID de tu proyecto

Obtén una vista previa de la implementación

Antes de crear una implementación, puedes crear una vista previa de ella. Puedes usar esta vista previa para verificar los recursos que se planean aprovisionar.

El siguiente comando tiene cuatro valores completados que no tienen un valor predeterminado. Estos valores son el ID del proyecto, el nombre de la cuenta de servicio, la ubicación us-central1 y el nombre quickstart-vpc de la red que estás creando.

Para crear una vista previa, usa el siguiente 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

Después de crear una vista previa, puedes revisar los resultados. En esta guía de inicio rápido, se omite este paso, pero puedes consultar Cómo exportar y ver los resultados de la vista previa si quieres obtener más detalles.

Crear una implementación

Usa Infra Manager para crear una implementación. Esto significa que Infra Manager aprovisiona los recursos definidos en la configuración de Terraform.

La configuración de esta guía de inicio rápido tiene cuatro valores que no tienen un valor predeterminado. El siguiente comando agrega estos valores: tu ID del proyecto, el nombre de la cuenta de servicio, la ubicación us-central1 y el nombre quickstart-vpc para la red que estás 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

Cuando finalice la implementación, verás lo siguiente:

Creating the deployment...done

Ahora, la VPC se creó y configuró como se describe en la configuración.

Visualiza los resultados de la compilación en Cloud Build

Para ver el trabajo de Cloud Build que Infra Manager usó para crear la implementación, abre la página Historial de compilación en la consola de Google Cloud :

Abrir la página Historial de compilación

Consulta el estado de la implementación

Ahora que se completó la implementación, puedes ver su descripción para revisar la información sobre ella, incluido el estado.

Consulta la descripción de la implementación:

gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment

El resultado incluye detalles sobre la implementación, como la marca de tiempo de la implementación, el nombre de la revisión más reciente y el estado.

Para el estado, verás ACTIVE.

Consulta los detalles de la VPC aprovisionada

Para ver detalles sobre la VPC aprovisionada, haz lo siguiente:

gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID

Reemplaza REVISION_ID por el ID de la revisión más reciente. Este ID es r-0, a menos que hayas realizado varias implementaciones. Puedes ver el ID de la revisión más reciente en la descripción de la implementación de la sección anterior.

Visualiza la VPC en la consola

Sigue estos pasos para ver la VPC en la consola:

Ir a las redes de VPC

Verás la VPC llamada quickstart-vpc. Esta es la VPC que aprovisionó Infra Manager.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página, asegúrate de borrar los recursos que ya no necesites.

Borra la VPC

Borra la VPC y los metadatos sobre la implementación:

gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment

Opcional: borra el proyecto

Si implementaste la solución en un proyecto Google Cloud nuevo y ya no lo necesitas, sigue estos pasos para borrarlo:

  1. En la consola de Google Cloud , ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. Cuando se te solicite, escribe el ID del proyecto y, luego, haz clic en Cerrar.

¿Qué sigue?