Controla los costos del análisis de vulnerabilidades

El análisis de vulnerabilidades pasó a ser un servicio pagado con la versión de disponibilidad general de Artifact Analysis. Cuando habilitas la API de escaneo, la facturación comienza de inmediato.

Consulta la página de precios para obtener más información.

Prácticas recomendadas para mantener los costos bajos

Cuando habilitas la API de Container Scanning, cada imagen nueva que envíes se analizará de forma automática. Para mantener tus costos bajos, separa las imágenes de contenedor que deseas analizar en un proyecto diferente.

  • Configura un proyecto de Google Cloud nuevo y habilita la API de Container Scanning para ese proyecto. Este proyecto generará cargos de facturación normales por Artifact Registry y Container Registry (obsoleto). Envía las imágenes que deseas analizar a este proyecto.

  • Agrega los siguientes pasos a tu canalización de CI/CD:

    1. Agrega una etiqueta correspondiente al proyecto de Artifact Registry o Container Registry en el que está habilitado el análisis de contenedores.

    2. Envía las imágenes al proyecto.

Estima los costos de análisis

Para calcular el costo aproximado de las imágenes en un proyecto, calcula la cantidad de imágenes que envías en un período y multiplica esa cantidad por el precio por análisis. Para ello, ejecuta una secuencia de comandos de shell en Cloud Shell.

  1. Abre Cloud Shell en tu proyecto.

    Abra Cloud Shell

  2. Haz clic en el ícono Abrir editor y crea un archivo nuevo cost-estimation.sh con el siguiente contenido:

        #!/bin/bash
    
        # Replace with price from https://cloud.google.com/artifact-analysis/pricing
        PRICE='PRICE'
    
        # Replace with your project data
        GC_PROJECT='PROJECT_REPOSITORY'
        START_DATE='START_DATE'
        END_DATE='END_DATE'
    
        REGION=$(echo $GC_PROJECT | sed -n 's/\/.*//p')
    
        if [ -z "$REGION" ];
        then
            printf "'GC_PROJECT' value must be a valid GCR or AR repository (e.g. gcr.io/corp-staging or us-central1-docker.pkg.dev/myproj/myrepo"
            exit 1
        fi
    
        IFS=$'\n'
        FILTER="timestamp.date('%Y-%m-%d', Z)>'$START_DATE' AND timestamp.date('%Y-%m-%d', Z)<'$END_DATE'"
    
        images=$( gcloud container images list --repository="$GC_PROJECT" | sed -n "/$REGION/p" | sed 's/NAME: //' )
    
        num_images=$(echo $images | wc -w)
    
        printf "Using gcloud to filter $num_images images from $START_DATE to $END_DATE (takes about 1 second per image)\n\n"
    
        total_digests=0
    
        for image in $images; do
        printf "querying $image\n"
        image_digests=$( gcloud container images list-tags --filter="$FILTER" "$image" 2> >(sed "s/Listed 0 items.//" | sed -n "/.\+/p" >&2) | wc -l)
    
        if [[ "$image_digests" -gt 1 ]]; then
            total_digests=$(( total_digests + $image_digests - 1 ))
        fi
        done
    
        total_price=$( python -c "print($total_digests * $PRICE)" )
    
        echo ''
        echo "Number of images: $total_digests"
        echo "Estimated cost: $total_price"
    

    Reemplaza lo siguiente:

    • PRICE: El precio del análisis de vulnerabilidades automático que se encuentra en Precios.
    • PROJECT_REPOSITORY: Es el repositorio de tu proyecto. Por ejemplo, gcr.io/corp-staging.
    • START_DATE: Es la fecha de inicio del período a calcular, en formato Y-m-d. Por ejemplo, 2020-03-01.
    • END_DATE: Es la fecha de finalización del período para obtener una estimación, en formato Y-m-d. Por ejemplo, 2020-03-31.
  3. Ejecuta la secuencia de comandos:

    bash cost-estimation.sh
    

    Muestra la cantidad total de imágenes y el costo total estimado:

    Number of images: 53
    Estimated cost: 13.78
    

Este es solo un cálculo; el costo real puede cambiar debido a otros factores, por ejemplo:

  • Enviar la misma imagen a diferentes regiones en el mismo proyecto no genera costos adicionales.

  • Enviar la misma imagen a dos repositorios distintos dentro de dos proyectos diferentes no genera costos adicionales.

Cómo consultar los costos actuales del análisis de vulnerabilidades

Puedes ver esta información en tu informe de facturación.

¿Qué sigue?