Consulte a página de preços para mais informações.
Práticas recomendadas para manter seus custos baixos
Quando você ativa a API Container Analysis, todas as novas imagens enviadas são verificadas automaticamente. Para manter seus custos baixos, tente o seguinte:
Ativar a verificação em repositórios únicos dentro de um projeto.
Separe as imagens de contêiner que você quer verificar em um projeto diferente.
Configure um novo projeto doGoogle Cloud e ative a API Container Scanning para ele. Esse projeto vai gerar cobranças normais para o Artifact Registry. Envie as imagens que você quer verificar para este projeto.
Adicione as seguintes etapas no seu pipeline de CI/CD:
Adicione uma tag correspondente ao projeto do Artifact Registry em que o Container Scanning está ativado.
Envie as imagens para o projeto.
Estimar seus custos de verificação
Para calcular o custo aproximado das imagens em um projeto, estime o número de imagens enviadas em um período e multiplique esse número pelo preço por verificação. Para isso, execute um script de shell no Cloud Shell.
Abra um Cloud Shell no projeto.
Clique no ícone Abrir editor e crie um novo arquivo
cost-estimation.sh
com o seguinte conteúdo:#!/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"
Substitua:
PRICE
: o preço da verificação automática de vulnerabilidades encontrado em Preços.PROJECT_REPOSITORY
: o repositório do projeto. Por exemplo,gcr.io/corp-staging
.START_DATE
: a data de início do período a ser estimado, no formatoY-m-d
. Por exemplo,2020-03-01
.END_DATE
: a data de término do período a ser estimado, no formatoY-m-d
. Por exemplo,2020-03-31
.
Execute o script:
bash cost-estimation.sh
Ele mostra o número total de imagens e o custo total estimado:
Number of images: 53 Estimated cost: 13.78
Esta é apenas uma estimativa. O custo real pode mudar devido a outros fatores, por exemplo:
Enviar a mesma imagem para diferentes regiões do mesmo projeto não gera custos adicionais.
Enviar a mesma imagem para dois repositórios diferentes em dois projetos diferentes não gera custos adicionais.
Verificar os custos atuais de verificação de vulnerabilidades
Você pode ver essas informações no seu relatório de faturamento.
A seguir
- Saiba mais sobre a verificação de vulnerabilidades.