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
-
Faça login na sua Conta do Google.
Se você ainda não tiver uma, inscreva-se agora.
-
Instale a 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 CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto que você está criando. -
Selecione o Google Cloud projeto que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Ative a API Infrastructure Manager:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (
roles/serviceusage.serviceUsageAdmin), que contém aserviceusage.services.enablepermissão. Saiba como conceder papéis.gcloud services enable config.googleapis.com
-
Configure a autenticação:
-
Verifique se você tem o papel do IAM de criador de contas de serviço
(
roles/iam.serviceAccountCreator) e o papel do IAM de administrador do projeto (roles/resourcemanager.projectIamAdmin). Saiba como conceder papéis. -
Crie a conta de serviço:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Substitua
SERVICE_ACCOUNT_NAMEpor um nome para a conta de serviço. -
Conceda o papel do IAM
roles/config.agentà conta de serviço:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Substitua:
SERVICE_ACCOUNT_NAME: o nome da conta de serviço.PROJECT_ID: o ID do projeto em que você criou a conta de serviço.
-
Verifique se você tem o papel do IAM de criador de contas de serviço
(
-
Instale a 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 CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto que você está criando. -
Selecione o Google Cloud projeto que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Ative a API Infrastructure Manager:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (
roles/serviceusage.serviceUsageAdmin), que contém aserviceusage.services.enablepermissão. Saiba como conceder papéis.gcloud services enable config.googleapis.com
-
Configure a autenticação:
-
Verifique se você tem o papel do IAM de criador de contas de serviço
(
roles/iam.serviceAccountCreator) e o papel do IAM de administrador do projeto (roles/resourcemanager.projectIamAdmin). Saiba como conceder papéis. -
Crie a conta de serviço:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Substitua
SERVICE_ACCOUNT_NAMEpor um nome para a conta de serviço. -
Conceda o papel do IAM
roles/config.agentà conta de serviço:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
Substitua:
SERVICE_ACCOUNT_NAME: o nome da conta de serviço.PROJECT_ID: o ID do projeto em que você criou a conta de serviço.
-
Verifique se você tem o papel do IAM de criador de contas de serviço
(
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 para os recursos descritos na configuração que você 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, você pode criar uma visualização dela. Use essa visualização 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 para a rede que você está criando.
Para criar uma visualização, 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 visualização, você pode analisar os resultados. Este guia de início rápido ignora essa etapa, mas você pode consultar Exportar e visualizar resultados da visualização 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 guia de início rápido tem quatro valores que não têm um valor padrão. O comando a seguir adiciona esses valores: o ID do projeto, o nome da conta de serviço, o local us-central1 e o nome quickstart-vpc para a 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 é criada e configurada conforme descrito na configuração.
Conferir 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 da build no Google Cloud console:
Abrir a página "Histórico de criações"
Conferir 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.
Conferir 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 da implantação, o nome da revisão mais recente e o estado.
Para o estado, você verá ACTIVE.
Conferir detalhes sobre a VPC provisionada
Conferir 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 implantado várias vezes. Você pode conferir o ID da revisão mais recente na descrição da implantação na seção anterior.
Conferir a VPC no console
Conferir a VPC no console:
Você verá a VPC chamada quickstart-vpc. Essa é a VPC provisionada pelo Infra Manager.
Liberar espaço
Para evitar cobranças na 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 Google Cloud projeto e não for mais usar o projeto, exclua-o seguindo estas etapas:
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- No comando, digite o ID do projeto e clique em desligar.
A seguir
- Para saber mais sobre o Infra Manager, consulte Como o Infra Manager funciona.
- Saiba mais sobre o Infra Manager e o Terraform.
- Atualizar uma implantação.
- Automatizar implantações.
- Para um conjunto de configurações e módulos prontos para uso com Google Cloud, consulte Projetos e módulos do Terraform para o Google Cloud.