Como visualizar e aplicar recomendações de recursos inativos


O Compute Engine fornece recomendações para ajudar você a identificar recursos como discos permanentes (DPs), endereços IP e imagens de disco personalizadas que não são usados. É possível usar recomendações de recursos inativos para ajudar a minimizar o desperdício de recursos e reduzir sua fatura de computação. Para DPs que não são usados ativamente, crie um snapshot de backup e exclua o recurso. Para DPs, imagens e endereços IP não utilizados, é possível excluí-los se você não precisa deles.

Se você tiver interesse em recomendações de VM inativas, consulte Como visualizar 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 da seguinte maneira.

    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

As recomendações de DPs inativos estão disponíveis gratuitamente.

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.

Uma das condições a seguir precisa ser atendida para classificar um recurso como inativo e gerar a ação recomendada correspondente:

Recurso Condição para um recurso ser classificado como inativo Ação recomendada Poupança
PD Criado há pelo menos 15 dias atrás E
Nunca foi anexado a uma VM E
Está em branco
Excluir Economize 100% do custo desse disco (consulte os preços de disco)
PD Removido há pelo menos 15 dias Criar snapshot e excluir Reduz o custo de manutenção desse disco em 35% para 92% (consulte os preços de disco)
Imagem personalizada Não usado para criar um disco por pelo menos 15 dias E não usado em qualquer modelo de instância Excluir Economize 100% do custo dessa imagem (consulte os preços da imagem)
Endereço IP Não anexado a nenhum recurso há pelo menos 15 dias Excluir Economize 100% do custo desse endereço IP (consulte Preços de IP)

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 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 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.
  • RECOMMENDER_ID: o ID do recommender
    • 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 DPs 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 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.
  • RECOMMENDER_ID: o ID do recommender
    • 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 de DP 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 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 de DPs inativos incluem uma ou duas operações:

  • Se o DP inativo tiver dados, a recomendação incluirá uma operação add para criar um snapshot e fazer backup do DP. 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 DP inativo. Exemplo:

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

Consulte Como aplicar recomendações de DPs inativos para criar um snapshot de e excluir um DP, excluir IPs inativos para remover endereços IP não utilizados e excluir imagens personalizadas inativas para remover imagens de disco personalizadas não usadas.

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 DP está vazio.

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 código 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 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 código 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.

Veja um exemplo de resposta de um insight sobre um recurso de DP 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 que quer segui-la, siga as instruções abaixo.

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 DPs inativos

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

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

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