Ver e aplicar recomendações de recursos inativos

Neste documento, explicamos 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 você a identificar volumes inativos do Persistent Disk, endereços IP e imagens de disco personalizadas, 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 Ver 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 Trusted Cloud by S3NS . 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

    REST

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

      Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Trusted 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 opçõ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 opçõ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.
Reduz o custo de manutenção desse disco em 35% para 92%. Para mais informações, consulte Preços de disco e imagem.
Imagem personalizada Todas as opçõ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 está 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 Trusted 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 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 Persistent Disk inativo 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 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 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 método images.delete, o comando gcloud compute images delete ou a documentação Como excluir uma imagem.

Como aplicar recomendações Persistent Disk inativo

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.