컨테이너 분석 업그레이드

컨테이너 분석 일반 안정화 버전이 출시되면서 취약점 스캔이 유료 서비스로 변경되었습니다. 프로모션 기간 동안에는 결제 비용이 줄어 듭니다. 자세한 내용은 가격 책정 페이지를 참조하세요.

프로모션 기간이 종료된 후 컨테이너 스캔 API를 사용 설정하면 결제가 즉시 시작됩니다.

업그레이드

컨테이너 분석은 2019년 9월 20일에 일반 안정화 버전을 출시했습니다. 워크로드가 컨테이너 분석 베타 버전을 사용하는 경우 다음을 고려하여 최신 버전으로 이전하세요.

  • REST API: GA REST API 엔드 포인트 사용

    https://containeranalysis.googleapis.com/v1
    

    다음을 대신해서 사용합니다.

    https://containeranalysis.googleapis.com/v1beta1
    
  • 클라이언트 라이브러리를 최신 버전으로 업그레이드합니다. 자세한 내용은 라이브러리 문서를 참조하세요.

비용 절감을 위한 권장사항

Container Analysis API를 사용 설정하면 푸시하는 모든 새 이미지가 자동으로 스캔됩니다. 비용을 절감하려면 스캔하려는 컨테이너 이미지를 다른 프로젝트로 분리합니다.

  • Google Cloud 프로젝트를 설정하고 해당 프로젝트에 Container Scanning API를 사용 설정합니다. 이 프로젝트에는 Container Registry에 대한 일반적인 청구 요금이 발생합니다. 스캔하려는 이미지를 이 프로젝트로 푸시합니다.

  • 이 프로세스를 자동화하려면 CI/CD 파이프 라인에 단계를 추가하여 태그를 기반으로 이미지를 새 Container Registry 프로젝트에 푸시합니다.

스캔 비용 추정

프로젝트의 이미지에 대한 대략적인 비용을 계산하려면 특정 기간에 푸시하는 이미지 수를 추정하고 이 숫자에 가격 $0.26을 곱합니다. Cloud Shell에서 셸 스크립트를 실행하면 됩니다.

  1. 프로젝트에서 Cloud Shell을 열고 Open Editor 아이콘을 클릭하고 다음 콘텐츠로 새 파일 cost-estimation.sh을 만듭니다.

    
    #!/bin/bash
    
    # Replace with your project data
    GC_PROJECT='[PROJECT_REPOSITORY]'
    START_DATE='[START_DATE]'
    END_DATE='[END_DATE]'
    
    IFS=$'\n'
    FILTER="timestamp.date('%Y-%m-%d', Z)>'$START_DATE' AND timestamp.date('%Y-%m-%d', Z)<'$END_DATE'"
    PRICE="0.26"
    
    images=$( gcloud container images list --repository="$GC_PROJECT" | sed -n '/gcr.io/p' )
    total_digests=0
    
    for image in $images; do
      image_digests=$( gcloud container images list-tags --filter="$FILTER" "$image" | 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 "Number of images: $total_digests"
    echo "Estimated cost: $total_price"
    
    

    각 항목의 의미는 다음과 같습니다.

    • [PROJECT_REPOSITORY]는 프로젝트 저장소입니다. 예를 들면 gcr.io/corp-staging입니다.
    • [START_DATE]는 기간 시작일로 Y-m-d 형식입니다. 예를 들면 2020-03-01입니다.
    • [END_DATE]는 기간 종료일로 Y-m-d 형식입니다. 예를 들면 2020-03-31입니다.
  2. 스크립트를 실행합니다.

    bash cost-estimation.sh
    

    총 이미지 수와 총 예상 비용이 표시됩니다.

    Number of images: 53
    Estimated cost: 13.78
    

이는 예상치일 뿐이며 다른 요소로 인해 실제 비용이 변경될 수 있습니다. 예를 들어,

  • 동일한 프로젝트의 여러 다중 지역에 동일한 이미지를 푸시해도 추가 비용이 발생하지 않습니다.

  • 동일한 이미지를 서로 다른 두 프로젝트 내의 두 저장소에 푸시해도 추가 비용이 발생하지 않습니다.