Faça a gestão Google Cloud dos recursos como uma implementação

Pode usar o Google Cloud Deployment Manager para criar um conjunto de Google Cloud recursos e geri-los como uma unidade, denominada implementação. Por exemplo, se o ambiente de desenvolvimento da sua equipa precisar de duas máquinas virtuais (MVs) e uma base de dados do BigQuery, pode definir estes recursos num ficheiro de configuração e usar o Deployment Manager para criar, alterar ou eliminar estes recursos. Pode tornar o ficheiro de configuração parte do repositório de código da sua equipa, para que qualquer pessoa possa criar o mesmo ambiente com resultados consistentes.

Neste tutorial, vai usar o Google Cloud Deployment Manager para criar uma instância de máquina virtual (VM). Vai definir a VM num ficheiro de configuração básico e usar esse ficheiro de configuração para criar uma implementação.

Para concluir este tutorial, tem de saber executar comandos num terminal do Linux, macOS ou Windows.

Para uma versão interativa deste tutorial, abra-o no Cloud Shell, onde pode editar a configuração de exemplo e implementar os seus recursos sem instalar nada na sua estação de trabalho. Se quiser seguir o tutorial no seu próprio computador, avance para a secção seguinte.

Guia de início rápido no Cloud Shell

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Deployment Manager and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  7. Na sua estação de trabalho, instale a CLI Google Cloud.
  8. Configure a CLI do Google Cloud para usar o seu projeto. No comando seguinte, substitua [MY_PROJECT] pelo ID do seu projeto:
    gcloud config set project [MY_PROJECT]

Defina os seus recursos

Descreve os seus recursos num ficheiro de configuração, que é escrito na sintaxe YAML.

  1. Copie a configuração de exemplo abaixo e cole-a num editor de texto.

    # Copyright 2016 Google Inc. All rights reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    
    # Put all your resources under `resources:`. For each resource, you need:
    # - The type of resource. In this example, the type is a Compute VM instance.
    # - An internal name for the resource.
    # - The properties for the resource. In this example, for VM instances, you add
    #   the machine type, a boot disk, network information, and so on.
    #
    # For a list of supported resources,
    # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
    resources:
    - type: compute.v1.instance
      name: quickstart-deployment-vm
      properties:
        # The properties of the resource depend on the type of resource. For a list
        # of properties, see the API reference for the resource.
        zone: us-central1-f
        # Replace [MY_PROJECT] with your project ID
        machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
        disks:
        - deviceName: boot
          type: PERSISTENT
          boot: true
          autoDelete: true
          initializeParams:
            # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
            # The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
            sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11
        # Replace [MY_PROJECT] with your project ID
        networkInterfaces:
        - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
          # Access Config required to give the instance a public IP address
          accessConfigs:
          - name: External NAT
            type: ONE_TO_ONE_NAT
    

    Este ficheiro de configuração básico descreve uma implementação que contém uma instância de máquina virtual com as seguintes propriedades:

    • Tipo de máquina: f1-micro
    • Família de imagens: debian-11
    • Zona: us-central1-f
    • Disco persistente de raiz: boot
    • Um endereço IP externo atribuído aleatoriamente
  2. Substitua todas as instâncias de [MY_PROJECT] pelo ID do seu projeto.

  3. Guarde o ficheiro como vm.yaml.

Implemente os recursos

Para implementar os seus recursos, use a CLI do Google Cloud para criar uma nova implementação, usando o seu ficheiro de configuração:

gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml

Se a implementação for bem-sucedida, recebe uma mensagem semelhante ao seguinte exemplo:

Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.
NAME                    TYPE                STATE      ERRORS
quickstart-deployment   compute.v1.instance COMPLETED  -

Tem a sua primeira implementação!

Verifique a nova implementação

Para verificar o estado da implementação, execute o seguinte comando:

gcloud deployment-manager deployments describe quickstart-deployment

É apresentada uma descrição da implementação, incluindo a hora de início e de fim, os recursos criados e quaisquer avisos ou erros:

fingerprint: xmVVeTtPq-5rr8F-vWFlrg==
id: '54660732508021769'
insertTime: '2016-03-09T04:45:26.032-08:00'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037
name: quickstart-deployment
operation:
  endTime: '2016-03-09T04:46:19.480-08:00'
  id: '8993923014899639305'
  kind: deploymentmanager#operation
  name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b
  operationType: insert
  progress: 100
  startTime: '2016-03-09T04:45:27.275-08:00'
  status: DONE
...
resources:
NAME                     TYPE                 STATE      ERRORS
quickstart-deployment-vm  compute.v1.instance  COMPLETED  -

Reveja os seus recursos

Depois de criar a implementação, pode rever os seus recursos na Google Cloud consola.

  1. Para ver uma lista das suas implementações, abra a página Deployment Manager.

    Aceda ao Deployment Manager

  2. Para ver os recursos na implementação, clique em quickstart-deployment. A vista geral da implementação é aberta com informações sobre a implementação e os recursos que fazem parte da implementação.

  3. Para ver informações sobre a sua VM, clique em quickstart-deployment-vm.

Limpar

Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

gcloud deployment-manager deployments delete quickstart-deployment

Escreva y no comando:

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

A implementação e os recursos que criou são eliminados permanentemente.

O que se segue?