Implemente uma VPC com o Terraform
Saiba como usar o Infrastructure Manager para implementar uma nuvem virtual privada (VPC).
Este início rápido usa uma configuração do Terraform armazenada num repositório público do GitHub. A configuração define a VPC a aprovisionar.
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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, 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.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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, 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.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: o nome da conta de serviço.
- PROJECT_ID: o ID do seu projeto.
- Na Google Cloud consola, aceda à página Gerir recursos.
- Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
- Na mensagem, escreva o ID do projeto e, de seguida, clique em Encerrar.
- Para saber mais sobre o Infra Manager, consulte o artigo Como funciona o Infra Manager.
- Saiba mais sobre o Infra Manager e o Terraform.
- Atualize uma implementação.
- Automatize as implementações.
- Para um conjunto de configurações e módulos prontos a usar com o Google Cloud, consulte Projetos e módulos do Terraform para o Google Cloud.
Conceda autorizações para recursos na configuração
Concedeu as autorizações necessárias para executar o Infra Manager, mas também tem de conceder autorizações específicas aos recursos descritos na configuração que está a implementar.
Conceda autorizaçõ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 o seguinte:
Pré-visualize a implementação
Antes de criar uma implementação, pode criar uma pré-visualização da mesma. Pode usar esta pré-visualização para validar os recursos que vão ser aprovisionados.
O comando seguinte tem quatro valores preenchidos que não têm um valor predefinido.
Estes valores são: o ID do projeto, o nome da conta de serviço, a localização
us-central1
e o nome quickstart-vpc
da rede que está a criar.
Para criar uma pré-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 pré-visualização, pode rever os resultados da pré-visualização. Este início rápido ignora este passo, mas pode ver o artigo Exporte e veja os resultados da pré-visualização se quiser mais detalhes.
Cria uma implementação.
Use o Infra Manager para criar uma implementação. Isto significa que o Infra Manager aprovisiona 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 predefinido. O comando seguinte adiciona estes valores: o ID do projeto, o nome da conta de serviço, a localização us-central1
e o nome quickstart-vpc
da rede que está a criar.
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 implementação estiver concluída, vê:
Creating the deployment...done
A VPC foi criada e configurada conforme descrito na configuração.
Veja os resultados da compilação no Cloud Build
Para ver a tarefa do Cloud Build que o Infra Manager usou para criar a implementação, abra a página Histórico de compilações na Google Cloud consola:
Abra a página Histórico de compilação
Veja o estado da implementação
Agora que a implementação está concluída, pode ver a respetiva descrição para rever as informações sobre a mesma, incluindo o estado.
Veja a descrição da implementação:
gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
O resultado tem detalhes sobre a implementação, incluindo a indicação de tempo da implementação, o nome da revisão mais recente e o estado.
Para o estado, vê ACTIVE
.
Veja detalhes sobre a VPC aprovisionada
Veja detalhes sobre a VPC aprovisionada:
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. Este ID é
r-0
, a menos que tenha feito a implementação várias vezes. Pode ver o ID da revisão mais recente na descrição da implementação na secção anterior.
Veja a VPC na consola
Veja a VPC na consola:
Vê a VPC denominada quickstart-vpc
. Este é o VPC aprovisionado pelo Infra Manager.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, certifique-se de que elimina os recursos de que já não precisa.
Elimine a VPC
Elimine a VPC e os metadados sobre a implementação:
gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
Opcional: elimine o projeto
Se implementou a solução num novo Google Cloud projeto e já não precisa do projeto, elimine-o concluindo os seguintes passos: