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
- 
    
      
        
        Sign in to your Google Account.If you don't already have one, sign up for a new account. 
- 
      Install the Google Cloud CLI. 
- 
          Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada. 
- 
        Para inicializar a gcloud CLI, execute o seguinte 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.createpermission. Learn how to grant roles.
 - 
        Create a Google Cloud project: gcloud projects create PROJECT_ID Replace PROJECT_IDwith 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_IDwith 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.enablepermission. 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_NAMEwith a name for the service account.
- 
    
      Grant the roles/config.agentIAM 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
 
 
- 
    Ensure that you have the Create Service Accounts IAM role
    (
- 
      Install the Google Cloud CLI. 
- 
          Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada. 
- 
        Para inicializar a gcloud CLI, execute o seguinte 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.createpermission. Learn how to grant roles.
 - 
        Create a Google Cloud project: gcloud projects create PROJECT_ID Replace PROJECT_IDwith 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_IDwith 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.enablepermission. 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_NAMEwith a name for the service account.
- 
    
      Grant the roles/config.agentIAM 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
 
 
- 
    Ensure that you have the Create Service Accounts IAM role
    (
- SERVICE_ACCOUNT_NAME: o nome da conta de serviço.
- PROJECT_ID: o ID do projeto.
- No console Google Cloud , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- No prompt, digite o ID do projeto e clique em Encerrar.
- Para saber mais sobre o Infra Manager, consulte Como o Infra Manager funciona.
- Saiba mais sobre o Infra Manager e o Terraform.
- Atualize uma implantação.
- Automatize as implantações.
- Para um conjunto de configurações e módulos prontos para uso com Google Cloud, consulte Blueprints e módulos do Terraform para o Google Cloud.
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:
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 Gerenciador de infraestrutura 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 que o Infra Manager usou 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:
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: