Implantar uma VPC com o Terraform

Saiba como usar o Infrastructure Manager para implantar uma nuvem privada virtual (VPC).

Este guia de início rápido usa uma configuração do Terraform armazenada em um repositório público do GitHub. A configuração define a VPC a ser provisionada.

Antes de começar

  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

Conceder permissões para recursos na configuração

Você concedeu as permissões necessárias para executar o Infra Manager, mas também precisa conceder permissões específicas aos recursos descritos na configuração que está implantando.

Conceda permissões para a VPC, que é o recurso definido na configuração do Terraform.

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

Substitua:

  • SERVICE_ACCOUNT_NAME: o nome da conta de serviço.
  • PROJECT_ID: o ID do projeto.

Visualizar a implantação

Antes de criar uma implantação, é possível criar uma visualização dela. Use essa prévia para verificar os recursos que serão provisionados.

O comando a seguir tem quatro valores preenchidos que não têm um valor padrão. Esses valores são: o ID do projeto, o nome da conta de serviço, o local us-central1 e o nome quickstart-vpc da rede que você está criando.

Para criar uma prévia, use o seguinte 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

Depois de criar uma prévia, você pode analisar os resultados. Este guia de início rápido pula essa etapa, mas você pode consultar Exportar e visualizar resultados de prévia se quiser mais detalhes.

Criar uma implantação

Use o Infra Manager para criar uma implantação. Isso significa que o Infra Manager provisiona os recursos definidos na configuração do Terraform.

A configuração deste início rápido tem quatro valores que não têm um valor padrão. O comando a seguir adiciona estes valores: o ID do projeto, o nome da conta de serviço, o local us-central1 e o nome quickstart-vpc da rede que você está criando.

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

Quando a implantação for concluída, você verá:

Creating the deployment...done

A VPC agora está criada e configurada conforme descrito na configuração.

Ver os resultados do build no Cloud Build

Para conferir o job do Cloud Build usado pelo Infra Manager para criar a implantação, abra a página Histórico de builds no console do Google Cloud :

Abrir a página "Histórico de criações"

Ver o status da implantação

Agora que a implantação foi concluída, você pode conferir a descrição dela para analisar informações, incluindo o estado.

Confira a descrição da implantação:

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

A saída tem detalhes sobre a implantação, incluindo o carimbo de data/hora dela, o nome da revisão mais recente e o estado.

Para o estado, você vê ACTIVE.

Ver detalhes sobre a VPC provisionada

Confira detalhes sobre a VPC provisionada:

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

Substitua REVISION_ID pelo ID da revisão mais recente. Esse ID é r-0, a menos que você tenha feito várias implantações. É possível conferir o ID da revisão mais recente na descrição da implantação na seção anterior.

Conferir a VPC no console

Confira a VPC no console:

Acessar redes VPC

Você vai ver a VPC chamada quickstart-vpc. Esta é a VPC provisionada pelo Infra Manager.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua os recursos que não são mais necessários.

Excluir a VPC

Exclua a VPC e os metadados sobre a implantação:

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

Excluir o projeto

Se você implantou a solução em um novo projeto do Google Cloud e não precisa mais dele, exclua-o seguindo estas etapas:

  1. No console Google Cloud , acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. No prompt, digite o ID do projeto e clique em Encerrar.

A seguir