안녕하세요,

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "Compute Engine 리소스 할당 에러 "ZONE_RESOURCE_POOL_EXHAUSTED" 해결 방법"을 다루고자 합니다.



Compute Engine 리소스 할당 에러 "ZONE_RESOURCE_POOL_EXHAUSTED"


원인


"ZONE_RESOURCE_POOL_EXHAUSTED" 에러[1]는 현재 해당 영역의 여유 리소스가 부족하여 Compute Engine 리소스를 할당 할 수 없는 상태에 발생하는 에러입니다.


해결 방법


Google Cloud 측에서는 아래와 같은 해결 방법을 제시하고 있습니다.


  • 해당 리전 혹은 다른 리전의 다른 영역(Zone)에서 리소스 생성을 시도
  • 리소스 생성 시 더 작은 사양의 리소스로 생성을 시도
  • 현재 오류가 일시적인 상황일 수 있음으로 나중에 다시 리소스 생성을 시도


만약 해당 영역에 반드시 리소스를 생성하여야 하는 경우에는, 위 오류를 사전에 방지하기 위해 Compute Engnine 영역 리소스 예약[2]을 사용할 수 있습니다.

※ 리소스 예약을 사용 시에는 자동 삭제 설정 등을 통해 사용하지 않는 리소스로 인한 불필요한 비용이 발생하지 않도록 방지해야 합니다.



지속적인 생성 시도 스크립트


혹은 아래와 같이 생성을 계속 시도하는 스크립트를 구성하여 지속적인 생성 시도를 진행하실 수도 있습니다.


1. 생성 시도할 GPU VM에 대한 생성 명령어 확인


Google Cloud 콘솔에서 VM 생성 시 하단의 "EQUIVALENT CODE"를 클릭하시면 해당 VM을 생성할 수 있는 gcloud 명령어를 확인하실 수 있습니다.

해당 명령어를 복사하여 스크립트에 사용합니다.

※ 이때 이름, 위치 및 네트워크 등 세부내용을 정확하게 설정하시기 바랍니다.



2. 스크립트 실행용 VM에 접속 후 스크립트 생성


복사해둔 gcloud 명령어를 사용해서 아래와 같이 스크립트 파일을 생성합니다.

아래 스크립트는 VM 생성 시도를 5초 간격으로 지속적으로 시도하고 성공 시 종료됩니다.


-----------------------------

#!/bin/bash


while true

do

  [복사한 gcloud 명령어]

  if [ $? -eq 0 ]; then

    echo "VM 생성 성공"

    break

  else

    echo "VM 생성 실패, 재시도 중..."

    sleep 5

  fi

done

-----------------------------


3. 생성한 스크립트 파일을 지속적으로 시도할 수 있는 환경에서 실행합니다.(GCE VM에 백그라운드 등)



참조 링크


[1] VM 생성 트러블슈팅 : 리소스 가용성

https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-vm-creation#resource_availability

[2] Compute Enigne 영역 리소스 예약

https://cloud.google.com/compute/docs/instances/reservations-overview



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.

감사합니다.