Ver e aplicar recomendações de reservas inativas


Esta página descreve como usar as recomendações de reserva para identificar e excluir reservas imediatas ociosas e evitar cobranças por recursos que você não usa.

Antes de começar

  • Analise as limitações. para verificar se sua reserva é compatível com recomendações de reserva inativa.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-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. 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 as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

        gcloud init

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

Mostrar recomendações de reserva inativas

Para ver recomendações sobre reservas inativas, use uma destas opções: de status.

Conclua esta tarefa usando um dos métodos a seguir.

Console

No console do Google Cloud, acesse o hub de FinOps.

Acessar o hub do FinOps

gcloud

Para ver recomendações sobre reservas inativas, use o Comando gcloud recommender recommendations list com a flag --recommender=google.compute.IdleResourceRecommender:

gcloud recommender recommendations list \
  --location=ZONE \
  --recommender=google.compute.IdleResourceRecommender \
  --format=yaml \
  --project=PROJECT_ID

Substitua:

  • ZONE pela zona que contém reservas. para listar as recomendações.
  • PROJECT_ID pelo código do projeto;

Exemplo:

gcloud recommender recommendations list \
  --location=us-central1-c \
  --recommender=google.compute.IdleResourceRecommender \
  --format=yaml \
  --project=my-project

Se não houver reservas inativas no local, a resposta será vazia. Caso contrário, a resposta incluirá os seguintes campos para cada recomendação:


---
associatedInsights:
- insight: projects/953727763714/locations/us-central1-f/insightTypes/google.compute.IdleResourceInsight/insights/ecf77776-4a2a-4e6e-aad2-b7f9c632e5f9
content:
operationGroups:
- operations:
  - action: remove
    path: /
    resource: //compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation
    resourceType: compute.googleapis.com/Reservation
overview:
  currentReservation:
    machineType: n1-standard-1
    reservationName: test-reservation
    reservedMachineCount: '1'
    zone: us-central1-f
description: Save cost by deleting the idle reservation test-reservation
etag: '"aff724ab8e40e1ef"'
lastRefreshTime: '2024-06-10T07:00:00Z'
name: projects/953727763714/locations/us-central1-f/recommenders/google.compute.IdleResourceRecommender/recommendations/56f8ac5d-8380-4cb8-a76f-bbc270fb4b8e
primaryImpact:
category: COST
costProjection:
  cost:
    currencyCode: USD
    nanos: -199820000
    units: '-1072'
  costInLocalCurrency:
    currencyCode: USD
    nanos: -199820000
    units: '-1072'
  duration: 2592000s
priority: P2
recommenderSubtype: DELETE_RESERVATION
stateInfo:
state: ACTIVE
targetResources:
- //compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation

Saiba mais sobre como trabalhar com recomendações usando a CLI do Google Cloud em Exemplos da gcloud.

REST

Para acessar recomendações sobre reservas inativas, faça uma solicitação GET para o Método recommendations.list e use o seguinte tipo de recomendação:

  • google.compute.IdleResourceRecommender

A chamada da API tem esta aparência:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/recommendations

Faça as seguintes substituições: - PROJECT_ID: o ID do projeto. - ZONE: a zona que contém as instâncias que receberão a lista de recomendações.

O exemplo a seguir mostra o envio de uma solicitação com curl e a amostra de resposta associada.

PROJECT_ID=my-project
ZONE=us-central1-c
RECOMMENDER_ID=google.compute.IdleResourceRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/$RECOMMENDER_ID/recommendations

Exemplo de resposta JSON para uma recomendação de reserva inativa:

{
  "associatedInsights": [
    {
      "insight": "projects/9531234763714/locations/us-central1-f/insightTypes/google.compute.IdleResourceInsight/insights/ecf77776-4a2a-4e6e-aad2-b7f9c632e5f9"
    }
  ],
  "content": {
    "operationGroups": [
      {
        "operations": [
          {
            "action": "remove",
            "path": "/",
            "resource": "//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation",
            "resourceType": "compute.googleapis.com/Reservation"
          }
        ]
      }
    ],
    "overview": {
      "currentReservation": {
        "machineType": "n1-standard-1",
        "reservationName": "test-reservation",
        "reservedMachineCount": "1",
        "zone": "us-central1-f"
      }
    }
  },
  "description": "Save cost by deleting the idle reservation test-reservation",
  "etag": "\"8d5603cac8fa9342\"",
  "lastRefreshTime": "2024-06-11T07:00:00Z",
  "name": "projects/9531234763714/locations/us-central1-f/recommenders/google.compute.IdleResourceRecommender/recommendations/56f8ac5d-8380-4cb8-a76f-bbc270fb4b8e",
  "primaryImpact": {
    "category": "COST",
    "costProjection": {
      "cost": {
        "currencyCode": "USD",
        "nanos": -199820000,
        "units": "-1072"
      },
      "costInLocalCurrency": {
        "currencyCode": "USD",
        "nanos": -199820000,
        "units": "-1072"
      },
      "duration": "2592000s"
    }
  },
  "priority": "P2",
  "recommenderSubtype": "DELETE_RESERVATION",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "targetResources": [
    "//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation"
  ]
}

Encontre mais detalhes sobre cada campo na documentação da API Recommender.

Como interpretar a resposta da recomendação

Cada recomendação recebida por meio da CLI gcloud ou da REST contém um grupo de operações, com operações que podem ser executadas em série para aplicar a recomendação. Para reservas inativas, o grupos de operações incluem uma operação remove para excluir a reserva:

{
  "action": "remove",
  "path": "/",
  "resource": "//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation",
  "resourceType": "compute.googleapis.com/Reservation"
}

Aplicar recomendações de reserva inativas

Com base nas recomendações de reserva inativa, ajuste o tamanho da reserva ou exclua a reserva se você não precisar mais dela.

A seguir