Veja e aplique recomendações de recursos inativos


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

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

Se tiver interesse em recomendações para instâncias de máquinas virtuais (VM) inativas, consulte Veja e aplique recomendações de VMs inativas.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Preços

Não existem custos associados à utilização das recomendações de recursos inativos.

Geração de recomendações

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

Recurso Condição para o recurso ser classificado como inativo Ação recomendada Poupança
Persistent Disk Todas as seguintes condições têm de ser verdadeiras:
  • O disco persistente foi criado há, pelo menos, 15 dias.
  • O disco persistente nunca foi anexado a uma VM.
  • O Persistent Disk está em branco.
  • O disco persistente não está associado a pods do GKE.
Eliminar Poupe 100% do custo desse disco. Para mais informações, consulte o artigo Preços de discos e imagens.
Persistent Disk Todas as seguintes condições têm de ser verdadeiras:
  • O disco persistente foi separado durante, pelo menos, 15 dias.
  • O disco persistente não está associado a pods do GKE.
Crie um instantâneo do Persistent Disk e, em seguida, elimine-o.
Reduzir o custo de manutenção desse disco de 35% para 92%. Para mais informações, consulte os preços de discos e imagens.
Imagem personalizada Todas as seguintes condições têm de ser verdadeiras:
  • A imagem não foi usada para criar um disco durante, pelo menos, 15 dias.
  • A imagem não é usada em nenhum modelo de instância.
Eliminar Poupar 100% do custo dessa imagem. Para mais informações, consulte o artigo Preços de discos e imagens.
Endereço IP externo O endereço IP não está associado a nenhum recurso há, pelo menos, 15 dias. Eliminar
Poupe 100% do custo desse endereço IP. Para mais informações, consulte os preços dos endereços IP externos.

Frequência das recomendações

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

Ver recomendações

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

Consola

Na Google Cloud consola, aceda à página Todas as recomendações.

Aceda a Recomendações

Todos os recursos inativos são apresentados em Recursos do Compute Engine não usados.

gcloud

Use o gcloud recommender recommendations list comando com a flag --recommender=RECOMMENDER_ID:

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

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • LOCATION: a localização que contém os recursos para os quais quer recomendações.
    • Para volumes de discos persistentes, especifique uma zona ou uma região; por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, tem de especificar uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte o artigo 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 seguinte lista as recomendações de discos persistentes 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 como usar a CLI gcloud para trabalhar com recomendações.

REST

Chame o método recommendations.list e especifique o ID do motor de recomendações, por exemplo, google.compute.disk.IdleResourceRecommender:

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

Substitua o seguinte:

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

O exemplo seguinte mostra como enviar um pedido com curl e a resposta de exemplo 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 a recomendação de disco persistente 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"
}

Interpretar a resposta da recomendação

Cada recomendação que recebe através da CLI gcloud ou da API REST contém grupos de operações, com operações que pode realizar em série para aplicar a recomendação. Por exemplo, os grupos de operações de recomendações de discos persistentes inativos incluem uma ou duas operações:

  • Se o disco persistente inativo tiver dados, a recomendação inclui uma operação add para criar um instantâneo para fazer uma cópia de segurança do disco persistente. Por 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 eliminar permanentemente o disco persistente inativo. Por exemplo:

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

Visualizar estatísticas para recomendações de recursos inativos

O Recomendador gera recomendações com base em estatísticas de recursos. Ao ver estatísticas sobre recursos, pode saber mais sobre esses recursos, como há quanto tempo um recurso está desanexado de uma VM ou se um disco persistente está em branco.

Se quiser ver a estatística que gerou a recomendação, pode usar a CLI gcloud ou a API REST.

gcloud

Use o comando insights list

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

Substitua o seguinte:

  • LOCATION: a localização que contém os recursos para os quais quer estatísticas.
    • Para PDs, especifique uma zona ou uma região, por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, tem de especificar uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte o artigo Endereços IP.
    • Para imagens personalizadas, especifique global.
  • INSIGHT_TYPE: o ID do tipo de estatísticas
    • 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 o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • LOCATION: a localização que contém os recursos para os quais quer estatísticas.
    • Para volumes de discos persistentes, especifique uma zona ou uma região; por exemplo, us-central1-c.
    • Para IPs:
      • Para listar IPs regionais, tem de especificar uma região.
      • Para listar IPs globais, especifique global. Para mais informações sobre recursos de endereços IP regionais e globais, consulte o artigo Endereços IP.
    • Para imagens personalizadas, especifique global.
  • INSIGHT_TYPE: o ID do tipo de estatísticas
    • Para discos, especifique google.compute.disk.IdleResourceInsight.
    • Para imagens, especifique google.compute.image.IdleResourceInsight.
    • Para IPs, especifique google.compute.address.IdleResourceInsight.

Segue-se um exemplo de uma resposta de uma estatística sobre um recurso de disco persistente 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 de exemplo inclui os seguintes campos:

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

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

Aplicar recomendações de recursos inativos

Se receber uma recomendação sobre um recurso inativo e decidir que quer aplicar a recomendação, siga as instruções nas secções seguintes.

A eliminar endereço IP inativo

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

Eliminar imagens personalizadas inativas

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

Aplicar recomendações de Persistent Disk inativo

Se precisar de criar um instantâneo de um disco persistente antes de o eliminar, consulte o artigo Criar instantâneos de discos persistentes.

Para eliminar um disco persistente inativo, consulte o comando gcloud compute disks delete.

Para obter informações sobre como recuperar dados de uma captura instantânea e recriar o seu disco persistente, consulte o artigo Restaurar capturas instantâneas.