Implantar uma instância de serviço com o ambiente de execução de SaaS
Aprenda a implantar uma instância de serviço usando o ambiente de execução de SaaS. Neste guia de início rápido, a instância de serviço é uma VM.
Antes de começar
-
Faça login na sua Conta do Google.
Se você ainda não tiver uma, inscreva-se agora.
-
In the Google Cloud console, on the project selector page, select or create 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the SaaS Runtime, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
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.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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 -
In the Google Cloud console, on the project selector page, select or create 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the SaaS Runtime, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
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.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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
Conceder permissões à conta de serviço do SaaS Runner
O ambiente de execução de SaaS usa mais de uma conta de serviço. Você criou uma conta de serviço na seção anterior e, ao ativar a API do ambiente de execução de SaaS, o ambiente de execução de SaaS cria outra conta de serviço.
A conta de serviço criada pelo ambiente de execução de SaaS é chamada de
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com,
em que PROJECT-NUMBER é o número do seu projeto.
Conceda as permissões necessárias a essa conta de serviço fazendo o seguinte:
Abra a página Ambiente de execução de SaaS > Visão geral > Começar.
No banner com a mensagem As permissões necessárias para a conta do ambiente de execução de SaaS não foram concedidas, clique em Conceder permissões.
Definir a instância de serviço usando uma configuração do Terraform
É necessário usar uma configuração do Terraform para definir a infraestrutura a ser implantada para a instância de serviço. Neste guia de início rápido, você vai implantar uma VM.
Para criar uma configuração do Terraform que defina uma VM:
Crie um diretório chamado
terraform-vmna sua máquina local.Dentro de
terraform-vm, crie os quatro arquivos do Terraform a seguir:Um arquivo chamado
versions.tfcom o seguinte conteúdo:terraform { required_version = "1.5.7" required_providers { google = { source = "hashicorp/google" version = "~> 4.0" } } }Um arquivo chamado
outputs.tfcom o seguinte conteúdo:output "instance_name" { description = "Name of the instance" value = google_compute_instance.vm_instance.name } output "instance_external_ip" { description = "External IP of the instance" value = google_compute_instance.vm_instance.network_interface[0].access_config[0].nat_ip } output "instance_self_link" { description = "Self-link of the instance" value = google_compute_instance.vm_instance.self_link }Um arquivo chamado
variables.tfcom o seguinte conteúdo:variable "region" { description = "The Google Cloud region" type = string default = "us-central1" } variable "zone" { description = "The Google Cloud zone" type = string default = "us-central1-a" } variable "instance_name" { description = "Name for the Compute Engine instance" type = string default = "saas-runtime-vm-instance" } variable "machine_type" { description = "Machine type for the Compute Engine instance" type = string default = "e2-medium" } variable "disk_size" { description = "Boot disk size in GB" type = number default = 10 } variable "actuation_sa" { description = "The email of the Actuation Service Account" type = string } variable "tenant_project_id" { description = "The project ID of the tenant project" type = string } variable "tenant_project_number" { description = "The project number of the tenant project" type = number }Um arquivo chamado
main.tfcom o seguinte conteúdo:resource "google_compute_instance" "vm_instance" { project = var.tenant_project_id name = var.instance_name machine_type = var.machine_type zone = var.zone boot_disk { initialize_params { image = "debian-cloud/debian-11" size = var.disk_size } } network_interface { network = "default" access_config { # Ephemeral public IP - empty block is okay here } } tags = ["allow-ssh"] }
Para criar um arquivo zip que contenha esses quatro arquivos de configuração do Terraform, navegue até o diretório
terraform-vmno terminal e execute o seguinte comando:zip terraform-files.zip main.tf outputs.tf variables.tf versions.tfAgora você tem um arquivo zip chamado
terraform-files.zipque contém todos os quatro arquivos de configuração do Terraform.
Criar um repositório no Artifact Registry
Para usar o ambiente de execução de SaaS, você precisa de um repositório no Artifact Registry. Para criar esse repositório, faça o seguinte:
No console, acesse o Artifact Registry.
Clique em Criar repositório.
Para Nome, digite
vm-quickstart-repo.Mantenha o Formato selecionado como Docker.
Em Região, escolha
us-central1 (Iowa).Clique em Criar.
Criar uma oferta de SaaS
Você tem a configuração do Terraform que define a VM que você quer implantar e um repositório. Agora você pode usar o ambiente de execução de SaaS para modelar as unidades de implantação e implantar a VM.
Criar um recurso de oferta de SaaS
No console, acesse SaaS Runtime > SaaS Offering.
Selecione Criar.
No campo Nome da oferta de SaaS, digite:
vm-quickstart-saas-offering.No campo Região , selecione a região
us-central1e clique em OK.Selecione Criar.
As regiões selecionadas para a oferta de SaaS são onde as implantações da oferta de SaaS são hospedadas. No exemplo deste guia de início rápido, a oferta de SaaS é uma única VM. Portanto, essas regiões são onde a VM é provisionada e hospedada.
Se você tiver usuários finais acessando essas VMs, eles vão acessar as VMs implantadas nas regiões especificadas aqui.
Modelar as unidades de implantação
Para modelar a oferta de SaaS, crie componentes chamados tipos de unidade. Um tipo de unidade define um componente no serviço para implantação e gerenciamento. Por exemplo, você pode ter um tipo de unidade para uma VM e um segundo tipo de unidade para o aplicativo em execução nessa VM.
Neste guia de início rápido, você cria um tipo de unidade para a VM.
Para criar o tipo de unidade:
No console, acesse SaaS Runtime > Tipos de unidade.
Selecione Criar.
Na página Criar blueprints:
- Selecione Fazer upload.
- Para fazer upload da configuração do Terraform que define a VM, faça o seguinte:
- No campo Seletor de arquivos, selecione Procurar.
- Navegue até
terraform-files.zipe selecione esse arquivo, que é o arquivo zip criado anteriormente. - Clique em Abrir.
- Clique em Próxima: configurar blueprint.
Na página Armazenar blueprint:
- Selecione o Artifact Registry:
- No campo Selecionar repositório do Artifact Registry, selecione Procurar.
- Selecione
vm-quickstart-repo, que é o repositório criado anteriormente. - Clique em Selecionar.
- No campo Nome da imagem do artefato, digite
vm-quickstart-blueprint. - Em Versão do Terraform do Infrastructure Manager, selecione
1.5.7. - Para a Conta de serviço do Cloud Build, selecione a conta de serviço criada na seção Antes de começar.
- Clique em Próxima: detalhes do tipo de unidade.
- Selecione o Artifact Registry:
Na página Configurar propriedades do tipo de unidade, faça o seguinte:
- Para Nome do tipo de unidade, digite
vm-quickstart-unit-kind. - Para Oferta de SaaS, selecione
vm-quickstart-saas-offering, que é o recurso de oferta de SaaS criado anteriormente. - Clique em Próxima: configuração da versão
- Para Nome do tipo de unidade, digite
Para Nome da versão, digite
vm-quickstart-first-release.Selecione Criar.
Provisionar a instância de serviço
Para provisionar os recursos que fazem parte de um tipo de unidade, crie unidades. Ao criar uma unidade, o ambiente de execução de SaaS provisiona os recursos definidos na configuração do Terraform que está conectada ao tipo de unidade. Os recursos são provisionados em cada região que faz parte da oferta de SaaS.
No exemplo deste guia de início rápido, a VM é provisionada na região us-central1.
Criar uma unidade:
No console, acesse SaaS Runtime > Unidades.
Selecione Criar.
Na página Criar uma unidade:
- Para Nome da unidade, digite:
vm-quickstart-unit. - Em Oferta de SaaS, selecione o recurso de oferta de SaaS que você criou anteriormente:
vm-quickstart-saas-offering. - Em Região, selecione
us-central1. - Em Tipo de unidade, selecione o tipo de unidade criado anteriormente:
vm-quickstart-unit-kind. - Selecione Criar.
- Para Nome da unidade, digite:
Para provisionar a VM:
- Na página Detalhes da unidade, selecione Provisionar.
- No campo Versão, selecione
vm-quickstart-first-release. - Para a Conta de serviço, selecione a conta de serviço criada na seção Antes de começar.
Adicionar um projeto de locatário:
- Selecione Adicionar variáveis do projeto de locatário.
- Selecione o Google Cloud projeto que você está usando para este guia de início rápido. Quando o ambiente de execução de SaaS implanta a VM, ele a implanta nesse projeto.
Selecione Provisionar.
O ambiente de execução de SaaS provisiona uma VM na região especificada na oferta de SaaS. É possível criar unidades em qualquer uma das regiões especificadas na unidade. Neste guia de início rápido, você especificou uma região (us-central1), e é nessa região que a VM é provisionada.
Conferir a VM implantada
Agora você usou o ambiente de execução de SaaS para implantar a VM.
Para conferir a VM implantada neste guia de início rápido:
No console, acesse a página Ambiente de execução de SaaS > Unidades > Detalhes da unidade.
Clique no nome da unidade:
vm-quickstart-unit.Na página Detalhes da unidade:
Confira se o Estado é:
- Pronto , se a VM estiver provisionada.
- Provisionando , se a operação ainda estiver em andamento.
Expanda a seção Variáveis.
Em Variáveis de saída, é possível conferir o IP externo que pode ser usado para acessar a instância.
Também é possível conferir a VM no Compute Engine:
No console, acesse a página Compute Engine > Instâncias de VM.
Confira a VM listada em Instâncias de VM.
Liberar espaço
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
Excluir o projeto
Se você implantou a solução em um novo Google Cloud projeto e não precisa mais do 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 entender melhor o ambiente de execução de SaaS, consulte Visão geral do ambiente de execução de SaaS.
- Para começar a usar o ambiente de execução de SaaS, comece com Criar uma oferta de SaaS.
- Para entender como as contas de serviço são usadas e como conceder permissões detalhadas para essas contas, consulte Contas de serviço do ambiente de execução de SaaS.
- Para conferir as etapas de atualização da versão, consulte Implementar uma versão.