Consulta y aplica recomendaciones de recursos inactivos


Compute Engine proporciona recomendaciones para identificar recursos que no se usan, como discos persistentes (PD), imágenes de disco personalizadas y direcciones IP. Puedes usar recomendaciones de recursos inactivos para minimizar el desperdicio de recursos y reducir la factura de procesamiento. Para los PD que no se usan de forma activa, puedes crear una instantánea de copia de seguridad y borrar el recurso. Puedes borrar PD, imágenes y direcciones IP que no usas si no los necesitas.

Si te interesan las recomendaciones de VM inactivas, lee Consulta y aplica recomendaciones de VM inactivas.

Antes de empezar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    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 las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

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

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Precios

Las recomendaciones de recursos inactivos están disponibles de forma gratuita.

Generación de recomendaciones

Si no se vinculó un recurso a una VM o a algún otro recurso durante 15 días, el recomendador clasifica ese recurso como inactivo.

Se debe cumplir una de las siguientes condiciones para clasificar un recurso como inactivo y generar la acción recomendada correspondiente:

Recurso Condición para que el recurso se clasifique como inactivo Acción recomendada Ahorros
PD Se creó hace al menos 15 días,
nunca se conectó a una VM,
está en blanco Y
no está vinculado a un pod de GKE
Borrar Se ahorra el 100% del costo de ese disco (consulta Precios de discos)
PD Estuvo desconectado durante al menos 15 días Y
No está vinculado al pod de GKE
Crear una instantánea y borrarlo Se reduce el costo de mantenimiento de ese disco entre un 35% y un 92% (consulta Precios de discos)
Imagen personalizada No se usó para crear un disco durante al menos 15 días Y no se usó en ninguna plantilla de instancias Borrar Se ahorra el 100% del costo de esa imagen (consulta Precios de imágenes)
Dirección IP No se vinculó a ningún recurso durante al menos 15 días Borrar Se ahorra el 100% del costo de esa dirección IP (consulta Precios de IP)

Frecuencia de recomendaciones

Las recomendaciones de recursos inactivos comienzan 15 días después de la creación de recursos y se actualizan una vez cada 24 horas.

Visualiza las recomendaciones

Para ver las recomendaciones para los recursos inactivos, usa gcloud CLI o REST.

Console

En la consola de Google Cloud, ve a la página Recomendaciones.

Ir a Recomendaciones

Todos los recursos inactivos se muestran en la sección Recursos de Compute Engine sin usar.

gcloud

Usa el comando gcloud recommender recommendations list con la marca --recommender=RECOMMENDER_ID:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • LOCATION: Es la ubicación que contiene los recursos para los que deseas obtener recomendaciones.
    • Para los PD, especifica una zona o región, por ejemplo, us-central1-c.
    • Para IP:
      • Para enumerar las IP regionales, debes especificar una región.
      • Para enumerar IP globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • RECOMMENDER_ID: Es el ID del recommender.
    • Para los discos, especifica google.compute.disk.IdleResourceRecommender.
    • Para las imágenes, especifica google.compute.image.IdleResourceRecommender.
    • Para las IP, especifica google.compute.address.IdleResourceRecommender.

Por ejemplo, el siguiente comando enumera las recomendaciones de PD inactivos en 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"

Obtén más información sobre cómo usar gcloud CLI para trabajar con recomendaciones.

REST

Llama al método recommendations.list y especifica el ID del recomendador, por ejemplo google.compute.disk.IdleResourceRecommender:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • LOCATION: Es la ubicación que contiene los recursos para los que deseas obtener recomendaciones.
    • Para los PD, especifica una zona o región, por ejemplo, us-central1-c.
    • Para IP:
      • Para enumerar las IP regionales, debes especificar una región.
      • Para enumerar IP globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • RECOMMENDER_ID: Es el ID del recommender.
    • Para los discos, especifica google.compute.disk.IdleResourceRecommender.
    • Para las imágenes, especifica google.compute.image.IdleResourceRecommender.
    • Para las IP, especifica google.compute.address.IdleResourceRecommender.

En el siguiente ejemplo, se muestra cómo enviar una solicitud con curl y la respuesta de muestra asociada.

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

Ejemplo de respuesta JSON para recomendaciones de PD inactivos:

{
 "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"
}

Interpreta la respuesta de las recomendaciones

Cada recomendación que recibes a través de gcloud CLI o de la API contiene grupos de operaciones, con operaciones que puedes hacer en serie para aplicar la recomendación. Por ejemplo, los grupos de operaciones de recomendación de PD inactivos incluyen una o dos operaciones:

  • Si el PD inactivo tiene datos, la recomendación incluye una operación add para crear una instantánea para hacer una copia de seguridad del PD. Por ejemplo:

       {
         "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"]
         }
       }
    
  • Una operación remove para borrar el PD inactivo de forma permanente. Por ejemplo:

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

Consulta Aplica recomendaciones de PD inactivos para crear una instantánea y borrar un PD, Borra las IP inactivas para quitar las direcciones IP que no se usan y Borra imágenes personalizadas inactivas si deseas quitar las imágenes de disco personalizadas que no se usan.

Visualiza las estadísticas de las recomendaciones de recursos inactivos

El recomendador genera recomendaciones en función de las estadísticas de los recursos. Cuando visualizas estadísticas sobre los recursos, puedes obtener más información acerca de estos, como cuánto tiempo se desvinculó un recurso de una VM o si un PD está en blanco.

Si deseas ver las estadísticas que generó la recomendación, puedes usar la API o gcloud CLI

gcloud

Usa el comando insights list

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

Reemplaza lo siguiente:

  • LOCATION: Es la ubicación que contiene los recursos para los que deseas obtener estadísticas.
    • Para los PD, especifica una zona o región, por ejemplo, us-central1-c.
    • Para IP:
      • Para enumerar las IP regionales, debes especificar una región.
      • Para enumerar IP globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • INSIGHT_TYPE: Es el ID del tipo de estadísticas.
    • Para los discos, especifica google.compute.disk.IdleResourceInsight.
    • Para las imágenes, especifica google.compute.image.IdleResourceInsight.
    • Para las IP, especifica google.compute.address.IdleResourceInsight.

REST

Usa el método insights.list.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • LOCATION: Es la ubicación que contiene los recursos para los que deseas obtener estadísticas.
    • Para los PD, especifica una zona o región, por ejemplo, us-central1-c.
    • Para IP:
      • Para enumerar las IP regionales, debes especificar una región.
      • Para enumerar IP globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • INSIGHT_TYPE: Es el ID del tipo de estadísticas.
    • Para los discos, especifica google.compute.disk.IdleResourceInsight.
    • Para las imágenes, especifica google.compute.image.IdleResourceInsight.
    • Para las IP, especifica google.compute.address.IdleResourceInsight.

A continuación, se muestra un ejemplo de respuesta de una estadística en un recurso de PD inactivo:

{
  "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"
    }
  ]
}

La respuesta de ejemplo incluye los siguientes campos:

  • diskLastUseTime: Es la última vez que se conectó el disco a una VM. Si el disco nunca se conectó a una VM, se establece en la hora de creación del disco.
  • isBlank: Este campo se establece en true si el disco está en blanco y nunca se conectó a la VM. De lo contrario, es false.

Para obtener más información sobre las estadísticas, consulta los documentos de referencia.

Aplica las recomendaciones de recursos inactivos

Sigue las instrucciones que se encuentran a continuación si recibes una recomendación sobre un recurso inactivo y decides seguirla.

Borra la dirección IP inactiva

Consulta la documentación sobre el método addresses.delete, el comando gcloud compute addresses delete o la página Libera una dirección IP externa estática.

Borra las imágenes personalizadas inactivas

Consulta la documentación sobre el método images.delete, el comando gcloud compute images delete o la página Borra una imagen.

Aplica recomendaciones de PD inactivos

Si necesitas crear una instantánea de un PD antes de borrarlo, consulta Crea instantáneas de discos persistentes.

Para borrar un PD inactivo, consulta el comando gcloud compute disks delete.

Si deseas obtener información para recuperar datos de una instantánea y volver a crear tu PD, consulta Restablece instantáneas.