Gerenciar recursos do Google Cloud como uma implantação

Use o Google Cloud Deployment Manager para criar um conjunto de recursos do Google Cloud e gerenciá-los como uma unidade, chamada de implantação. Por exemplo, se o ambiente de desenvolvimento de sua equipe precisa de duas máquinas virtuais (VMs) e de um banco de dados do BigQuery, é possível definir esses recursos em um arquivo de configuração e usar o Deployment Manager para criar, alterar ou excluir esses recursos. É possível tornar o arquivo de configuração parte do repositório de código da sua equipe para que qualquer pessoa possa criar o mesmo ambiente com resultados consistentes.

Neste tutorial, você usará o Google Cloud Deployment Manager para criar uma instância de máquina virtual (VM). Você definirá a VM em um arquivo de configuração básico e usará esse arquivo de configuração para criar uma implantação.

Para completar este tutorial, você precisa estar familiarizado com a execução de comandos em um terminal Linux, macOS ou Windows.

Para uma versão interativa deste tutorial, abra-o no Cloud Shell, onde é possível editar a configuração de amostra e implantar os recursos sem instalar nada na sua estação de trabalho. Se quiser seguir o tutorial no seu próprio computador, pule para a próxima seção.

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.

    Go to project selector

  3. Make sure 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.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Deployment Manager and Compute Engine APIs.

    Enable the APIs

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

Definir os recursos

Descreva os recursos em um arquivo de configuração escrito na sintaxe YAML.

  1. Copie a configuração de amostra abaixo e cole-a em um 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
    

    Esse arquivo básico de configuração descreve uma implantaçã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-9
    • Zona: us-central1-f
    • Disco permanente raiz: boot
    • Endereço IP externo atribuído aleatoriamente
  2. Substitua todas as instâncias de [MY_PROJECT] pelo ID do projeto.

  3. Salve o arquivo como vm.yaml.

Implantar os recursos

Para implantar seus recursos, use a Google Cloud CLI para criar um novo usando o arquivo de configuração:

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

Se a implantação for concluída, você receberá 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  -

Agora você tem sua primeira implantação!

Verificar a nova implantação

Para verificar o status da implantação, execute o seguinte comando:

gcloud deployment-manager deployments describe quickstart-deployment

Você vê uma descrição da implantação, incluindo os horários de início e de término, 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  -

Revisar os recursos

Depois de criar a implantação, será possível analisar os recursos no console do Google Cloud.

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

    Acessar o Deployment Manager

  2. Para ver os recursos na implantação, clique em quickstart-deployment. A visão geral da implantação é aberta com as informações e os recursos que fazem parte dela.

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

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

gcloud deployment-manager deployments delete quickstart-deployment

Digite y no prompt:

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

A implantação e os recursos que você criou são excluídos permanentemente.

A seguir