Ver y aplicar recomendaciones de recursos inactivos


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

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

Si te interesan las recomendaciones de instancias de máquina virtual (VM) inactivas, consulta Ver y aplicar recomendaciones de máquinas virtuales inactivas.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Precios

No hay ningún coste asociado al uso de las recomendaciones de recursos inactivos.

Generación de recomendaciones

Si un recurso no se ha asociado a una VM u otro recurso durante 15 días, el recomendador lo clasificará 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 un recurso se clasifique como inactivo Acción recomendada Ahorro
Persistent Disk Deben cumplirse todas las condiciones siguientes:
  • El Persistent Disk se creó hace al menos 15 días.
  • El disco persistente nunca se ha asociado a una VM.
  • El Persistent Disk está vacío.
  • El disco persistente no está vinculado a los pods de GKE.
Eliminar Ahorra el 100% del coste de ese disco. Para obtener más información, consulta los precios de discos e imágenes.
Persistent Disk Deben cumplirse todas las condiciones siguientes:
  • El disco persistente se desvinculó hace al menos 15 días.
  • El disco persistente no está vinculado a los pods de GKE.
Crea una captura del Persistent Disk y, a continuación, elimínala.
Reduce el coste de mantenimiento de ese disco entre un 35% y un 92%. Para obtener más información, consulta los precios de discos e imágenes.
Imagen personalizada Deben cumplirse todas las condiciones siguientes:
  • La imagen no se ha usado para crear un disco durante al menos 15 días.
  • La imagen no se usa en ninguna plantilla de instancia.
Eliminar Ahorra el 100% del coste de esa imagen. Para obtener más información, consulta los precios de discos e imágenes.
Dirección IP externa La dirección IP no se ha asociado a ningún recurso durante al menos 15 días. Eliminar
Ahorrarte el 100% del coste de esa dirección IP. Para obtener más información, consulta los precios de las direcciones IP externas.

Frecuencia de las recomendaciones

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

Ver recomendaciones

Para ver recomendaciones sobre recursos inactivos, usa la CLI de gcloud o la API REST.

Consola

En la Google Cloud consola, ve a la página Todas las recomendaciones.

Ir a Recomendaciones

Todos los recursos inactivos se muestran en Recursos de Compute Engine que no se han usado.

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: la ubicación que contiene los recursos de los que quieres recibir recomendaciones.
    • En el caso de los volúmenes de disco persistente, especifica una zona o una región. Por ejemplo, us-central1-c.
    • Para IPs:
      • Para enumerar las IPs regionales, debes especificar una región.
      • Para enumerar las IPs globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta el artículo Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • RECOMMENDER_ID: el ID del recomendador
    • En el caso de los discos, especifique google.compute.disk.IdleResourceRecommender.
    • En el caso de las imágenes, especifique google.compute.image.IdleResourceRecommender.
    • En el caso de las IPs, especifique google.compute.address.IdleResourceRecommender.

Por ejemplo, el siguiente comando muestra una lista de recomendaciones de discos persistentes 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"

Consulta más información sobre cómo usar la CLI de gcloud para trabajar con recomendaciones.

REST

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

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: la ubicación que contiene los recursos de los que quieres recibir recomendaciones.
    • En el caso de los volúmenes de disco persistente, especifica una zona o una región. Por ejemplo, us-central1-c.
    • Para IPs:
      • Para enumerar las IPs regionales, debes especificar una región.
      • Para enumerar las IPs globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta el artículo Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • RECOMMENDER_ID: el ID del recomendador
    • En el caso de los discos, especifique google.compute.disk.IdleResourceRecommender.
    • En el caso de las imágenes, especifique google.compute.image.IdleResourceRecommender.
    • En el caso de las IPs, especifique google.compute.address.IdleResourceRecommender.

En el siguiente ejemplo se muestra cómo enviar una solicitud con curl y la respuesta de ejemplo 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 de una recomendación de disco persistente inactivo:

{
 "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 la respuesta de la recomendación

Cada recomendación que recibas a través de la CLI de gcloud o de la API REST contiene grupos de operaciones con operaciones que puedes realizar en serie para aplicar la recomendación. Por ejemplo, los grupos de operaciones de recomendaciones de discos persistentes inactivos incluyen una o dos operaciones:

  • Si tu disco persistente inactivo tiene datos, la recomendación incluye una operación add para crear una captura y hacer una copia de seguridad del disco persistente. 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 eliminar de forma permanente el disco persistente inactivo. Por ejemplo:

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

Ver estadísticas de recomendaciones de recursos inactivos

Recomendador genera recomendaciones basadas en estadísticas de recursos. Si consultas las estadísticas de los recursos, puedes obtener más información sobre ellos, como cuánto tiempo lleva un recurso separado de una máquina virtual o si un disco persistente está vacío.

Si quieres ver la estadística que ha generado la recomendación, puedes usar la CLI de gcloud o REST.

gcloud

Usa el comando insights list.

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

Haz los cambios siguientes:

  • LOCATION: la ubicación que contiene los recursos de los que quiere obtener estadísticas.
    • En el caso de los discos persistentes, especifica una zona o una región, como us-central1-c.
    • Para IPs:
      • Para enumerar las IPs regionales, debes especificar una región.
      • Para enumerar las IPs globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta el artículo Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • INSIGHT_TYPE: el ID del tipo de estadística
    • En el caso de los discos, especifique google.compute.disk.IdleResourceInsight.
    • En el caso de las imágenes, especifique google.compute.image.IdleResourceInsight.
    • En el caso de las IPs, especifique 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

Haz los cambios siguientes:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: la ubicación que contiene los recursos de los que quieres obtener estadísticas.
    • En el caso de los volúmenes de disco persistente, especifica una zona o una región. Por ejemplo, us-central1-c.
    • Para IPs:
      • Para enumerar las IPs regionales, debes especificar una región.
      • Para enumerar las IPs globales, especifica global. Para obtener más información sobre los recursos de direcciones IP regionales y globales, consulta el artículo Direcciones IP.
    • Para las imágenes personalizadas, especifica global.
  • INSIGHT_TYPE: ID del tipo de estadística
    • En el caso de los discos, especifique google.compute.disk.IdleResourceInsight.
    • En el caso de las imágenes, especifique google.compute.image.IdleResourceInsight.
    • En el caso de las IPs, especifique google.compute.address.IdleResourceInsight.

A continuación, se muestra un ejemplo de respuesta de una estadística sobre un recurso de disco persistente 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: La última vez que el disco se adjuntó a una VM. Si el disco nunca se ha adjuntado a una VM, se asigna la hora de creación del disco.
  • isBlank: este campo se define como true si el disco está vacío y nunca se ha adjuntado a una VM. De lo contrario, es false.

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

Aplicar recomendaciones de recursos inactivos

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

Eliminando dirección IP inactiva

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

Eliminar imágenes personalizadas inactivas

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

Aplicar recomendaciones de discos persistentes inactivos

Si necesitas crear una captura de un disco persistente antes de eliminarlo, consulta Crear capturas de disco persistente.

Para eliminar un disco persistente inactivo, consulta el comando gcloud compute disks delete.

Para obtener información sobre cómo recuperar datos de una captura y volver a crear tu disco persistente, consulta Restaurar capturas.