Ver e aplicar recomendações de recursos inativos

Este documento explica como visualizar e aplicar recomendações de recursos inativos para volumes de Persistent Disk, endereços IP e imagens de disco personalizadas.

O Compute Engine ajuda a identificar volumes de Persistent Disk, endereços IP e imagens de disco personalizadas inativos e oferece recomendações para ajudar a minimizar o desperdício e evitar cobranças desnecessárias.

Se você tiver interesse em recomendações para instâncias de máquina virtual (VMs) inativas, consulte Visualizar e aplicar recomendações de VMs inativas.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Preços

Não há custos associados ao uso de recomendações de recursos inativos.

Geração de recomendações

Se um recurso não tiver sido anexado a uma VM ou outro recurso há 15 dias, o Recomendador o classifica como inativo. Para mais informações sobre as condições para classificar um recurso como inativo e as ações recomendadas, consulte a tabela a seguir:

Recurso Condição para um recurso ser classificado como inativo Ação recomendada Poupança
Persistent Disk Todas as condições a seguir precisam ser verdadeiras:
  • O disco permanente foi criado há pelo menos 15 dias.
  • O disco permanente nunca foi anexado a uma VM.
  • O disco permanente está em branco.
  • O disco permanente não está vinculado a pods do GKE.
Excluir Economize 100% do custo desse disco. Para mais informações, consulte Preços de disco e imagem.
Persistent Disk Todas as condições a seguir precisam ser verdadeiras:
  • O disco permanente foi removido há pelo menos 15 dias.
  • O disco permanente não está vinculado a pods do GKE.
Crie um snapshot do Persistent Disk e exclua-o.
Reduza o custo de manutenção desse disco de 35% a 92%. Para mais informações, consulte Preços de disco e imagem pricing.
Imagem personalizada Todas as condições a seguir precisam ser verdadeiras:
  • A imagem não foi usada para criar um disco por pelo menos 15 dias.
  • A imagem não é usada em nenhum modelo de instância.
Excluir Economize 100% do custo dessa imagem. Para mais informações, consulte Preços de disco e imagem.
Endereço IP externo O endereço IP não foi anexado a nenhum recurso por pelo menos 15 dias. Excluir
Economize 100% do custo desse endereço IP. Para mais informações, consulte Preços de endereços IP externos.

Frequência das recomendações

As recomendações de recursos inativos começam 15 dias após a criação do recurso e são atualizadas uma vez a cada 24 horas.

Como visualizar recomendações

Para ver recomendações sobre recursos inativos, use a CLI gcloud ou o REST.

Console

No Google Cloud console do, acesse a página Todas as recomendações.

Ir para "Recomendações"

Todos os recursos inativos estão listados em Recursos do Compute Engine não utilizados.

gcloud

Use o comando gcloud recommender recommendations list com a sinalização RECOMMENDER_ID --recommender=:

gcloud recommender recommendations list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --recommender=RECOMMENDER_ID \
    --format=yaml

Substitua:

  • PROJECT_ID: ID do projeto.
  • LOCATION: o local que contém os recursos para os quais você quer recomendações.
    • Para volumes de discos permanentes, especifique uma zona ou região, por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, especifique uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte Endereços IP.
    • Para imagens personalizadas, especifique global.
  • RECOMMENDER_ID: o ID do recomendador
    • Para discos, especifique google.compute.disk.IdleResourceRecommender.
    • Para imagens, especifique google.compute.image.IdleResourceRecommender.
    • Para IPs, especifique google.compute.address.IdleResourceRecommender.

Por exemplo, o comando a seguir lista recomendações de Persistent Disk inativos em us-central1-c para test-project:

gcloud recommender recommendations list \
    --project=test-project \
    --location=us-central1-c \
    --recommender=google.compute.disk.IdleResourceRecommender \
    --format=yaml


---
content:
    operationGroups:
    - operations:
      - action: add
        resource: //compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name
        resourceType: compute.googleapis.com/Disk
        path: /
        value:
        - name: $snapshot-name
          sourceDisk: projects/test-project/locations/us-central1-c/disks/pd-name
          storageLocations: us-central1
      - action: remove
        resource: //compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name
        resourceType: compute.googleapis.com/Disk
        path: /
description: Save cost by snapshotting and then deleting idle persistent disk 'pd-name'
name: projects/test-project/locations/us-central1-c/recommenders/google.compute.disk.IdleResourceRecommender/recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1
recommenderSubtype: SNAPSHOT_AND_DELETE_DISK
lastRefreshTime:
  seconds: 1543912652
primaryImpact:
  category: COST
  costProjection:
    cost:
      currencyCode: USD
      units: '-50'
    duration:
      seconds: 2592000
stateInfo: ACTIVE
etag: "cb0e6ac2cfc0b591"

Saiba mais sobre como usar a CLI gcloud para trabalhar com recomendações.

REST

Chame o método recommendations.list e especifique o ID do recomendador. Por exemplo, google.compute.disk.IdleResourceRecommender:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations

Substitua:

  • PROJECT_ID: ID do projeto.
  • LOCATION: o local que contém os recursos para os quais você quer recomendações.
    • Para volumes de discos permanentes, especifique uma zona ou região, por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, especifique uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte Endereços IP.
    • Para imagens personalizadas, especifique global.
  • RECOMMENDER_ID: o ID do recomendador
    • Para discos, especifique google.compute.disk.IdleResourceRecommender.
    • Para imagens, especifique google.compute.image.IdleResourceRecommender.
    • Para IPs, especifique google.compute.address.IdleResourceRecommender.

O exemplo a seguir mostra o envio de uma solicitação com curl e a amostra de resposta associada.

PROJECT_ID=test-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.disk.IdleResourceRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

Exemplo de resposta JSON para uma recomendação Persistent Disk inativo:

{
 "description" : "Save cost by deleting idle persistent disk 'pd-name'",
 "name": "projects/test-project/locations/us-central1-c/recommenders/"
         "google.compute.disk.IdleResourceRecommender/"
         "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1",
 "recommenderSubtype" : "SNAPSHOT_AND_DELETE_DISK",
 "lastRefreshTime": {
   "seconds": 1543912652
 },
 "primaryImpact": {
   "category": COST,
   "costProjection": {
    "cost": {"currencyCode": "USD", "units": -50},
    "duration": { "seconds": 2592000 }
   }
 },
 "stateInfo": ACTIVE,
 "content": {
   "operationGroups" : [
    {
      "operations" : [
       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"],
         }
       },
       {
         "action": "remove",
         "resourceType": "compute.googleapis/Disk",
         "resource": "//compute.googleapis.com/projects/test-project/"
                     "zones/us-central1-c/disks/pd-name"
       }
      ]
    }
   ]
 },
 "associatedInsights": [
    {
      "insight": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/31326443-bcc3-4776-9b86-48879fddb656"
    }
  ],
 "etag": "cb0e6ac2cfc0b591"
}

Como interpretar a resposta da recomendação

Cada recomendação recebida por meio da CLI gcloud ou do REST contém grupos de operações, com operações que podem ser executadas em série para aplicar a recomendação. Por exemplo, os grupos de operações de recomendação Persistent Disk inativos incluem uma ou duas operações:

  • Se o Persistent Disk inativo tiver dados, a recomendação incluirá uma operação add para criar um snapshot e fazer backup do Persistent Disk. Exemplo:

       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "path": "/",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"]
         }
       }
    
  • Uma operação remove para excluir permanentemente o Persistent Disk inativo. Exemplo:

       {
         "action": "remove",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name",
         "path": "/"
       }
    

Como visualizar insights para recomendações de recursos inativos

O recomendador gera recomendações com base nos insights dos recursos de DP. Ao ver insights sobre recursos, é possível saber mais sobre eles, como por quanto tempo um recurso é desanexado de uma VM ou se um Persistent Disk está vazio.

Se você quiser visualizar o insight que gerou a recomendação, use a CLI gcloud ou o REST.

gcloud

Use o comando insights list.

gcloud beta recommender insights list --project=PROJECT_NAME \
  --location=LOCATION --insight-type=INSIGHT_TYPE

Substitua:

  • LOCATION: o local dos recursos de que você quer insights.
    • Para DPs, especifique uma zona ou região, por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, especifique uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte Endereços IP.
    • Para imagens personalizadas, especifique global.
  • INSIGHT_TYPE: o ID do tipo de insight
    • Para discos, especifique google.compute.disk.IdleResourceInsight.
    • Para imagens, especifique google.compute.image.IdleResourceInsight.
    • Para IPs, especifique google.compute.address.IdleResourceInsight.

REST

Use o método insights.list.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights

Substitua:

  • PROJECT_ID: ID do projeto.
  • LOCATION: o local dos recursos de que você quer insights.
    • Para volumes de discos permanentes, especifique uma zona ou região, por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, especifique uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte Endereços IP.
    • Para imagens personalizadas, especifique global.
  • INSIGHT_TYPE: o ID do tipo de insight
    • Para discos, especifique google.compute.disk.IdleResourceInsight.
    • Para imagens, especifique google.compute.image.IdleResourceInsight.
    • Para IPs, especifique google.compute.address.IdleResourceInsight.

Confira um exemplo de resposta de um insight sobre um recurso de Persistent Disk inativo:

{
  "name": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/0ec21a13-bb04-3121-7321-dc43a11cc3e2",
  "description": "Disk 'pd-name' in zone 'us-central1-c' was last used 17 days ago. Consider taking snapshot and delete it.",
  "targetResources": [
    "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name"
  ],
  "insightSubtype": "IDLE_DISK",
  "content": {
    "diskLastUseTime": "2019-10-01 13:00:00",
    "isBlank": false,
  },
  "lastRefreshTime": "2019-10-10 13:00:00",
  "observationPeriod": "15 days",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "COST",
  "etag": "fds421j2349",
  "associatedRecommendations": [
    {
      "projects/test-project/locations/us-central1-c/recommenders/"
      "google.compute.disk.IdleResourceRecommender/"
      "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1"
    }
  ]
}

A resposta inclui os campos a seguir:

  • diskLastUseTime: a última vez em que o disco foi anexado a uma VM. Se o disco nunca tiver sido anexado a uma VM, isso será definido como a data/hora de criação do disco.
  • isBlank: este campo é definido como true se o disco estiver em branco e nunca tiver sido anexado à VM. Caso contrário, será false.

Para mais informações sobre insights, consulte os documentos de referência.

Como aplicar recomendações de recursos inativos

Se você receber uma recomendação sobre um recurso inativo e decidir aplicá-la, siga as instruções nas próximas seções.

Como excluir endereços IP inativos

Consulte o método addresses.delete, comando gcloud compute addresses delete ou a documentação sobre como liberar um endereço IP externo estático.

Como excluir imagens personalizadas ociosas

Consulte o images.delete método, gcloud compute images delete comando, ou a documentação Como excluir uma imagem.

Como aplicar recomendações de Persistent Disk inativos

Se você precisar criar um snapshot de um Persistent Disk antes de excluí-lo, consulte Como criar snapshots de disco permanente.

Para excluir um Persistent Disk inativo, consulte o gcloud compute disks delete comando.

Para informações sobre como recuperar dados com base em um snapshot e recriar o Persistent Disk, consulte Como restaurar snapshots.