Visualizar y aplicar recomendaciones de recursos inactivos


En este documento, se explica cómo ver y aplicar recomendaciones de recursos inactivos para los volúmenes de Persistent Disk, las direcciones IP y las imágenes de disco personalizadas.

Compute Engine te ayuda a identificar volúmenes de Persistent Disk, direcciones IP y imágenes de disco personalizadas inactivos, y proporciona recomendaciones para ayudarte a minimizar el desperdicio y evitar cargos innecesarios.

Si te interesan las recomendaciones para instancias de máquina virtual (VM) inactivas, consulta Consulta y aplica recomendaciones de VM inactivas.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. 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 seleccionando una de las siguientes opciones:

    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

No hay costos asociados con el uso de las recomendaciones de recursos inactivos.

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. Para obtener más información sobre las condiciones para clasificar un recurso como inactivo y las acciones recomendadas, consulta la siguiente tabla:

Recurso Condición para que el recurso se clasifique como inactivo Acción recomendada Ahorros
Persistent Disk Se deben cumplir todas las siguientes condiciones:
  • El disco persistente se creó hace al menos 15 días.
  • El disco persistente nunca se conectó a una VM.
  • El disco persistente está en blanco.
  • El disco persistente no está vinculado a los pods de GKE.
Borrar Ahorra el 100% del costo de ese disco. Para obtener más información, consulta Precios de imágenes y discos.
Persistent Disk Se deben cumplir todas las siguientes condiciones:
  • El disco persistente estuvo desconectado durante al menos 15 días.
  • El disco persistente no está vinculado a los pods de GKE.
Crea una instantánea del Persistent Disk y, luego, bórrala Se reduce el costo de mantenimiento de ese disco entre un 35% y un 92%. Para obtener más información, consulta Precios de imágenes y discos.
Imagen personalizada Se deben cumplir todas las siguientes condiciones:
  • La imagen no se usó para crear un disco durante al menos 15 días.
  • La imagen no se usa en ninguna plantilla de instancias.
Borrar Se ahorra el 100% del costo de esa imagen. Para obtener más información, consulta Precios de imágenes y discos.
Dirección IP externa La 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. Para obtener más información, consulta Precios de direcciones IP externas.

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 Todas las 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 volúmenes de disco persistente, 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 recomendador.
    • 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 Persistent Disk inactivo 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 volúmenes de disco persistente, 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 recomendador.
    • 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 Persistent Disk 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 Persistent Disk inactivo incluyen una o dos operaciones:

  • Si el Persistent Disk inactivo tiene datos, la recomendación incluye una operación add para crear una instantánea para hacer una copia de seguridad del Persistent Disk. 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 Persistent Disk 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": "/"
       }
    

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 Persistent Disk 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 volúmenes de disco persistente, 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 sobre un recurso de Persistent Disk 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

Si recibes una recomendación sobre un recurso inactivo y decides aplicarla, sigue las instrucciones de las siguientes secciones.

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 Persistent Disk inactivos

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

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

Para obtener información sobre cómo recuperar datos de una instantánea y volver a crear tu Persistent Disk, consulta Restablece instantáneas.