Ver e aplicar recomendações de recursos inativos


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

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

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

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte 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 seguintes condições 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 aos pods do GKE.
Excluir Economize 100% do custo desse disco. Para mais informações, consulte Preços de disco e de imagem.
Persistent Disk Todas as seguintes condições precisam ser verdadeiras:
  • O disco permanente foi removido há pelo menos 15 dias.
  • O disco permanente não está vinculado aos pods do GKE.
Crie um snapshot do Persistent Disk e exclua-o Reduz o custo de manutenção desse disco de 35% para 92%. Para mais informações, consulte Preços de disco e de imagem.
Imagem personalizada Todas as seguintes condições 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 de imagem.
Endereço IP externo O endereço IP não foi anexado a nenhum recurso há 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 gcloud CLI ou o REST.

Console

No console do Google Cloud, 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 disco permanente, 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 Persistent Disk inativo 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 disco permanente, 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 ocioso:

{
 "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 gcloud CLI 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 inativo incluem uma ou duas operações:

  • Se o Persistent Disk inativo tiver dados, a recomendação vai incluir uma operação add para criar um snapshot de 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 conferir insights sobre recursos, é possível saber mais sobre eles, como por quanto tempo um recurso foi removido de uma VM ou se um Persistent Disk está em branco.

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

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 disco permanente, 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 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 método images.delete, o comando gcloud compute images delete 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 comando gcloud compute disks delete.

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