Desplegar una VPC con Terraform
Consulta cómo usar Infrastructure Manager para desplegar una nube privada virtual (VPC).
En esta guía de inicio rápido se usa una configuración de Terraform almacenada en un repositorio público de GitHub. La configuración define la VPC que se va a aprovisionar.
Antes de empezar
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Infrastructure Manager API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable config.googleapis.com
-
Set up authentication:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator
). Learn how to grant roles. -
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
-
Ensure that you have the Create Service Accounts IAM role
(
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Infrastructure Manager API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable config.googleapis.com
-
Set up authentication:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator
). Learn how to grant roles. -
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
-
Ensure that you have the Create Service Accounts IAM role
(
- SERVICE_ACCOUNT_NAME: el nombre de la cuenta de servicio.
- PROJECT_ID: tu ID de proyecto.
- En la Google Cloud consola, ve a la página Gestionar recursos.
- En la lista de proyectos, selecciona el proyecto que quieras eliminar y haz clic en Eliminar.
- Cuando se te pida, escribe el ID del proyecto y haz clic en Cerrar.
- Para obtener más información sobre Infra Manager, consulte Cómo funciona Infra Manager.
- Más información sobre Infra Manager y Terraform
- Actualiza un despliegue.
- Automatiza los despliegues.
- Para ver un conjunto de configuraciones y módulos listos para usar con Google Cloud, consulta Planos y módulos de Terraform para Google Cloud.
Conceder permisos para los recursos en la configuración
Has concedido los permisos necesarios para ejecutar Infra Manager, pero también debes conceder permisos específicos para los recursos descritos en la configuración que vas a implementar.
Concede 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
Haz los cambios siguientes:
Vista previa del despliegue
Antes de crear una implementación, puedes crear una vista previa de la implementación. Puedes usar esta vista previa para verificar los recursos que se van a aprovisionar.
El siguiente comando tiene cuatro valores rellenados que no tienen ningún valor predeterminado.
Estos valores son el ID de tu proyecto, el nombre de la cuenta de servicio, la ubicación
us-central1
y el nombre quickstart-vpc
de la red que vas a crear.
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 la sección Exportar y ver los resultados de la vista previa si quieres obtener más información.
Crear un despliegue
Usa Infra Manager para crear un despliegue. 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 añade estos valores: el ID de tu proyecto, el nombre de la cuenta de servicio, la ubicación us-central1
y el nombre quickstart-vpc
de la red que vas a crear.
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 se haya completado el despliegue, verás lo siguiente:
Creating the deployment...done
La VPC ya se ha creado y configurado tal como se describe en la configuración.
Ver los resultados de la compilación en Cloud Build
Para ver el trabajo de Cloud Build que ha usado Infra Manager para crear la implementación, abre la página Historial de compilaciones en la Google Cloud consola:
Abre la página Historial de compilaciones.
Ver el estado del despliegue
Ahora que se ha completado la implementación, puedes ver su descripción para consultar 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 contiene detalles sobre la implementación, como la marca de tiempo de la implementación, el nombre de la última revisión y el estado.
En el estado, verás ACTIVE
.
Ver detalles sobre la VPC aprovisionada
Consulta los detalles de la VPC aprovisionada:
gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID
Sustituye REVISION_ID por el ID de la última revisión. Este ID es r-0
, a menos que hayas implementado la etiqueta varias veces. Puedes ver el ID de la última revisión en la descripción de la implementación de la sección anterior.
Ver la VPC en la consola
Para ver la VPC en la consola, sigue estos pasos:
Verás la VPC llamada quickstart-vpc
. Esta es la VPC que ha aprovisionado Infra Manager.
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina los recursos que ya no necesites.
Eliminar la VPC
Elimina la VPC y los metadatos sobre la implementación:
gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
Opcional: Eliminar el proyecto
Si has implementado la solución en un proyecto nuevo y ya no lo necesitas, elimínalo siguiendo estos pasos: Google Cloud