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:
Agrega una etiqueta correspondiente al proyecto de Artifact Registry o Container Registry en el que está habilitado el análisis de contenedores.
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.
Abre Cloud Shell en tu proyecto.
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 formatoY-m-d
. Por ejemplo,2020-03-01
.END_DATE
: Es la fecha de finalización del período para obtener una estimación, en formatoY-m-d
. Por ejemplo,2020-03-31
.
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?
- Obtén más información sobre el análisis de vulnerabilidades.