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
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo 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:
|
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:
|
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:
|
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.
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.
- Para volumes de discos permanentes, especifique uma zona ou região, por exemplo,
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.
- Para discos, especifique
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.
- Para volumes de discos permanentes, especifique uma zona ou região, por exemplo,
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.
- Para discos, especifique
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
addpara 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
removepara 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.
- Para DPs, especifique uma zona ou região, por exemplo,
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.
- Para discos, especifique
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.
- Para volumes de discos permanentes, especifique uma zona ou região, por exemplo,
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.
- Para discos, especifique
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 comotruese 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.