일정 기반 자동 확장을 사용하면 예상되는 부하보다 앞서 용량을 예약하여 워크로드의 가용성을 개선할 수 있습니다. 관리형 인스턴스 그룹(MIG)에서 워크로드를 실행하는 경우 반복적인 부하 패턴과 일회성 이벤트에 필요한 수의 가상 머신(VM) 인스턴스를 예약할 수 있습니다. 워크로드를 초기화하는 데 시간이 오래 걸리고 예상되는 부하 급증에 앞서 확장하려는 경우 확장 일정을 사용하세요.
이 문서에서는 기존 MIG의 확장 일정을 생성, 나열, 수정, 사용 중지, 다시 사용 설정, 삭제하는 방법을 설명합니다. MIG와 자동 확장에 대한 자세한 내용은 관리형 인스턴스 그룹 만들기 및 인스턴스 그룹 자동 확장을 참조하세요.
시작하기 전에
- 자동 확장 처리 기초에 대해 읽어봅니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- MIG당 최대 128개의 확장 일정을 만들 수 있습니다. 이 한도를 완화하려면
OBSOLETE
상태이고 다시 실행할 계획이 없는 확장 일정을 삭제합니다. - 확장 일정의 최소 시간은 5분입니다.
Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
목록에서 MIG의 이름을 클릭합니다.
수정을 클릭합니다.
자동 확장 구성이 없는 경우:
- 자동 확장에서 자동 확장 구성을 클릭합니다.
- 자동 확장 모드에서 켜기: 그룹에 인스턴스 추가 및 삭제를 선택하여 자동 확장을 사용 설정합니다. 일정에 따라서만 MIG를 확장하려면 일정을 추가한 후 기본 CPU 사용률 측정항목을 삭제합니다.
추가하려는 각 확장 일정에 대해 다음을 수행하세요.
- 자동 확장 일정 섹션을 확장하고, 일정 관리를 클릭한 후 일정 만들기를 클릭합니다.
- 확장 일정 만들기 창에서 이름을 입력합니다.
- 선택사항: 설명을 입력합니다.
- 활성 상태일 때 이 일정이 제공하는 최소 필수 인스턴스 수를 입력합니다.
- 기본 인터페이스를 사용하거나 더 복잡한 시작 시간 및 반복으로 일정을 구성하려는 경우 크론 표현식을 사용하여 확장 일정의 시작 시간 및 반복을 지정합니다.
- 기본 인터페이스
- 시작 시간 필드에 을 입력하거나 클릭하여 시작 시간을 선택합니다.
- 반복 필드에서 일정 반복 빈도를 선택합니다. 매주 또는 매월을 선택한 경우 추가 드롭다운 메뉴를 사용하여 일정이 시작되는 요일 또는 월을 선택합니다.
- 크론 표현식
- 사용 설정하려면 크론 표현식 사용 전환 버튼을 클릭합니다.
- 크론 표현식을 입력합니다.
- 기본 인터페이스
시간대 필드에서 시간대를 선택합니다.
기간 및 시간 단위 필드에 기간을 입력하고 해당 시간 단위를 선택합니다.
저장을 클릭합니다. 확장 일정 창이 열립니다.
선택사항:
일정 만들기를 클릭하여 다른 확장 일정을 만들 수 있습니다.
일정 만들기가 완료되면 완료를 클릭합니다.
인스턴스 그룹 페이지를 닫으려면 저장을 클릭합니다.
MIG_NAME
: 기존 자동 확장 정책이 있는 MIG의 이름MIN_NUM_REPLICAS
(선택사항): 이 MIG에 필요한 최소 인스턴스 수. 확장 일정을 활성화하지 않은 경우 이 값을 필요한 최소 인스턴스 수로 설정하는 것이 좋습니다. 이 값을0
으로 설정하고 그룹당 단일 시계열을 사용하여 일정이나 Cloud Monitoring 측정항목으로 자동 확장을 구성하면 MIG를 VM 0개로 축소할 수 있습니다. 개별 VM의 데이터(예: CPU 사용률)가 필요한 다른 신호가 정책에 있으면 VM 0개로 축소할 수 없습니다.MAX_NUM_REPLICAS
: 이 MIG에 제공할 수 있는 최대 인스턴스 수. 기존 자동 확장 정책이 있는 MIG에는 선택사항입니다.SCHEDULE_NAME
: 새 확장 일정의 이름CRON_EXPRESSION
: 크론 표현식을 사용하여 지정된 이 일정의 시작 시간과 반복DURATION
: 이 일정이 활성화된 기간(초)TIME_ZONE
(선택사항): 일정 시작 시간의 IANA 시간대(예:Europe/Paris
). 기본값은UTC
입니다.MIN_REQ_REPLICAS
: 활성 상태일 때 이 일정이 제공하는 최소 필수 인스턴스 수DESCRIPTION
(선택사항): 새 확장 일정에 대한 설명ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.MIN_NUM_REPLICAS
(선택사항): 이 MIG에 필요한 최소 인스턴스 수. 확장 일정을 활성화하지 않은 경우 이 값을 필요한 최소 인스턴스 수로 설정하는 것이 좋습니다. 이 값을0
으로 설정하고 그룹당 단일 시계열을 사용하여 일정이나 Cloud Monitoring 측정항목으로 자동 확장을 구성하면 MIG를 VM 0개로 축소할 수 있습니다. 개별 VM의 데이터(예: CPU 사용률)가 필요한 다른 신호가 정책에 있으면 VM 0개로 축소할 수 없습니다.MAX_NUM_REPLICAS
: 이 MIG에 제공할 수 있는 최대 인스턴스 수. 기존 자동 확장 정책이 있는 MIG에는 선택사항입니다.SCHEDULE_NAME
: 새 확장 일정의 이름MIN_REQ_REPLICAS
: 활성 상태일 때 이 일정이 제공하는 최소 필수 인스턴스 수CRON_EXPRESSION
: 크론 표현식을 사용하여 지정된 이 일정의 시작 시간과 반복TIME_ZONE
(선택사항): 일정 시작 시간의 IANA 시간대(예:Europe/Paris
). 기본값은UTC
입니다.DURATION
: 이 일정이 활성화된 기간(초)DESCRIPTION
(선택사항): 새 확장 일정에 대한 설명Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
목록에서 MIG의 이름을 클릭합니다.
수정을 클릭합니다.
자동 확장 일정에서 총 일정 수를 확인할 수 있습니다. 기존 확장 일정 목록을 표시하려면 일정 관리를 클릭합니다.
MIG_NAME
: 기존 자동 확장 정책이 있는 MIG의 이름ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
목록에서 MIG의 이름을 클릭합니다.
수정을 클릭합니다.
자동 확장 일정에서 총 일정 수를 확인할 수 있습니다. 기존 확장 일정 목록을 표시하려면 일정 관리를 클릭합니다.
수정할 확장 일정에 대한 체크박스를 선택합니다.
확장 일정 창의 상단에서
수정을 클릭합니다.새 확장 일정 수정 창에서 변경할 필드를 수정합니다. 각 필드에 대한 자세한 내용은 확장 일정 만들기를 참조하세요.
완료하면 저장을 클릭합니다.
MIG_NAME
: 기존 확장 일정이 있는 MIG의 이름SCHEDULE_NAME
: 기존 확장 일정의 이름CRON_EXPRESSION
(선택사항): 크론 표현식을 사용하여 지정된 이 일정의 새로운 시작 시간과 반복DURATION
(선택사항): 이 일정이 활성화된 새로운 기간(초)TIME_ZONE
(선택사항): 일정 시작 시간의 새로운 IANA 시간대(예:Europe/Paris
). 기본값은UTC
입니다.MIN_REQ_REPLICAS
(선택사항): 활성 상태일 때 이 일정이 제공하는 새로운 최소 필수 인스턴스 수DESCRIPTION
(선택사항): 확장 일정에 대한 새로운 설명ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.SCHEDULE_NAME
: 기존 확장 일정의 이름MIN_REQ_REPLICAS
(선택사항): 활성 상태일 때 이 일정이 제공하는 새로운 최소 필수 인스턴스 수CRON_EXPRESSION
(선택사항): 크론 표현식을 사용하여 지정된 이 일정의 새로운 시작 시간과 반복TIME_ZONE
(선택사항): 일정 시작 시간의 새로운 IANA 시간대(예:Europe/Paris
). 기본값은UTC
입니다.DURATION
(선택사항): 이 일정이 활성화된 새로운 기간(초)DESCRIPTION
(선택사항): 확장 일정에 대한 새로운 설명Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
목록에서 MIG의 이름을 클릭합니다.
수정을 클릭합니다.
자동 확장 일정에서 총 일정 수를 확인할 수 있습니다. 기존 확장 일정 목록을 표시하려면 일정 관리를 클릭합니다.
사용 중지하거나 사용 설정하려는 확장 일정에 대한 체크박스를 선택합니다.
선택한 일정을 사용 중지하거나 사용 설정합니다.
- 선택한 일정을 사용 중지하려면 다음을 수행하세요.
- 확장 일정 창의 상단에서 사용 중지를 클릭합니다.
- 새 일정 사용 중지 대화상자에서 사용 중지를 클릭합니다.
- 선택한 일정을 사용 설정하려면 다음을 수행하세요.
- 확장 일정 창의 상단에서 사용 설정을 클릭합니다.
- 새 일정 사용 설정 대화상자에서 사용 설정을 클릭합니다.
- 선택한 일정을 사용 중지하려면 다음을 수행하세요.
MIG_NAME
: 기존 확장 일정이 있는 MIG의 이름SCHEDULE_NAME
: 사용 중지할 확장 일정의 이름ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전MIG_NAME
: 기존 확장 일정이 있는 MIG의 이름SCHEDULE_NAME
: 다시 사용 설정할 확장 일정의 이름ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.SCHEDULE_NAME
: 사용 중지할 확장 일정의 이름PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.SCHEDULE_NAME
: 다시 사용 설정할 확장 일정의 이름Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
목록에서 MIG의 이름을 클릭합니다.
수정을 클릭합니다.
자동 확장 일정에서 총 일정 수를 확인할 수 있습니다. 기존 확장 일정 목록을 표시하려면 일정 관리를 클릭합니다.
삭제할 확장 일정에 대한 체크박스를 선택합니다.
확장 일정 창의 상단에서
삭제를 클릭합니다.새 일정 삭제 대화상자에서 삭제를 클릭합니다.
MIG_NAME
: 기존 확장 일정이 있는 MIG의 이름SCHEDULE_NAME
: 삭제할 확장 일정의 이름ZONE
또는REGION
(선택사항): MIG가 있는 영역 또는 리전PROJECT
: 프로젝트 IDZONE
: MIG가 있는 영역AUTOSCALER_NAME
: 기존 자동 확장 처리의 이름. 이 이름은 MIG의 이름과 동일한 경우가 많습니다.SCHEDULE_NAME
: 삭제할 확장 일정의 이름최소 필수 인스턴스: 이 확장 일정이 활성 상태일 때 MIG에 필요한 VM 수입니다.
이 일정이 활성 상태일 때 MIG에는 이 수 이상의 VM이 있지만 다른 자동 확장 설정에 따라 더 많은 VM이 있을 수 있습니다. 또한 MIG 크기는 항상 MIG의 자동 확장 설정에서 구성된 최소 및 최대 인스턴스 수로 제한됩니다.
시간대: 일정 시작 시간을 해석하는 위치 기반 IANA 시간대입니다.
사용 가능한 값 목록은 IANA 시간대 데이터베이스(예:
Europe/Paris
)로 정의됩니다. 시간대를 제공하지 않으면 기본 시간대인UTC
가 사용됩니다. 일부 IANA 시간대는 일광 절약 시간을 관찰합니다. 일광 절약 시간이 확장 일정에 어떻게 영향을 미치는지 알아보려면 일광 절약 시간을 참조하세요.기간: 확장 일정을 활성화하려는 시간입니다.
확장 일정은 구성된 기간 동안 시작 시간부터 활성화됩니다. 최소 기간은 5분입니다. 이 시간 동안 자동 확장 처리는 일정의 필수 인스턴스에서 정의한 수보다 많은 VM을 갖도록 MIG를 확장합니다. 지정된 기간이 지난 후 현재 용량이 더 이상 필요하지 않으면 자동 확장 처리가 기본값인 10분 안정화 기간 후 구성된 모든 수평 축소 제어에 따라 VM 인스턴스를 제거하기 시작합니다.
일정 확장은 양방향입니다. 지정된 중지 시간에 VM이 삭제되고, 다른 자동 확장 신호를 지정하지 않았으면 그룹 크기는 설정한 최소 그룹 크기로 줄어듭니다.
시작 시간: 확장 일정을 활성화하려는 시간입니다.
시작 시간에 MIG 크기가 일정의 필수 인스턴스보다 적으면 확장 일정이 VM을 만들기 시작합니다. 새 VM을 부팅하고 초기화할 수 있는 시간이 충분하도록 시작 시간을 설정합니다. 예를 들어 워크로드가 VM 생성에서 제공을 시작하는 데 10분이 걸리는 경우 시작 시간을 VM을 준비하는 데 필요한 시간보다 10분 이른 시간으로 설정합니다.
반복: 다음 옵션에 정의된 대로 확장 일정이 반복되는지 여부 및 빈도입니다.
- 한번: 선택한 날짜에만 시작되는 일회성 일정입니다.
- 매일: 매일 시작하는 반복 일정입니다.
- 매주: 매주 선택한 요일마다 시작되는 반복 일정(예: 매주 월요일~금요일)입니다.
- 매월: 매월 선택한 일마다 시작되는 반복 일정(예: 매월 1일)입니다. 매월 말일(29~31일)은 해당 일이 있는 월에만 유효합니다.
- 공백은 크론 표현식의 필드를 구분하는 데 사용됩니다. 특수문자를 사용하는 필드에는 공백을 추가하지 마세요.
- 요일과 날짜를 모두 지정한 경우(어떤 필드도
*
로 설정되어 있지 않은 경우) 일정은 이러한 값이 교집합이 아닌 합집합을 사용합니다. 예를 들어0 8 1 * Mon
일정은 매주 월요일과 매월 1일 오전 8시에 시작합니다. 이 일정은 월의 첫 번째 날짜가 월요일인 경우에만 오전 8시에 시작하는 것이 아닙니다. - 크론 표현식의 각 필드에 0개 이상의 특수 문자를 사용할 수 있습니다.
예를 들어 5월을 제외하고 매월 일정을 시작하려면 월 필드를
1-4,6-12
(공백 없는 두 범위 목록)으로 설정하면 됩니다. - 범위(
-
)를 사용할 때는 요일 필드에0-7
또는Sun-Sun
을 사용할 수 없습니다. 요일을 지정하려면*
,0-6
,1-7
,Sun-Sat
,Mon-Sun
을 대신 사용하세요. - 단계(
/
)를 사용하는 경우 크론 표현식이 스테이트리스(Stateless)여서 단계가 균등하지 않을 수 있습니다. 예를 들어 6시간마다 일정을 실행하려면 시간 필드를*/6
으로 설정하면 됩니다. 그러면 6의 배수(0,6,12,18
) 값을 모두 나열하는 것과 동일하게 작동합니다. 24시간은 6시간으로 쉽게 나눠지므로 각 단계는 정확히 균등합니다. 그러나 시간 필드를*/7
로 설정하면 일정이 항상 7시간 간격으로 시작되지 않습니다. 대신*/7
은 7의 배수(0,7,14,21
) 값을 모두 나열하는 것과 동일하게 작동합니다. 즉, 일정은 오전 12시, 오전 7시, 오후 2시, 오후 9시 중에 시작될 수 있습니다. - 상태(
state
): 다음 상태 중 하나로 표시되는 확장 일정의 현재 상태입니다.- 준비(
READY
): 일정이 준비되었지만 아직 활성 상태가 아닙니다. 자동 확장 처리가 이 일정의 다음 어커런스까지 대기합니다. - 활성(
ACTIVE
): 일정이 현재 활성 상태입니다. 자동 확장 처리가 이 일정이 지정한 최소 필수 인스턴스를 이 MIG에 제공하려고 합니다. - 만료(
OBSOLETE
): 일정이 만료되었으며 다시 활성 상태가 되지 않습니다. 더 이상 일치하는 항목이 없으므로 자동 확장 처리가 이 일정을 무시합니다. - 사용 중지(
DISABLED
): 일정은 수동으로 사용 중지되었으므로 활성화할 수 없습니다. 다시 사용 설정할 때까지 자동 확장 처리가 이 일정을 무시합니다.
- 준비(
- 마지막 어커런스(
lastStartTime
): 이 확장 일정이 마지막으로 활성화된 시간의 타임스탬프로, 마지막 활성 상태의 실제 날짜 및 시간입니다. 예를 들어 매일 반복, 오전 10시 시작 시간, 2시간 길이의 확장 일정을 사용 중지한 경우 오늘 오전 11시에 일정을 다시 사용 설정하면lastStartTime
는 오늘 오전 11시입니다. - 다음 어커런스(
nextStartTime
): 이 일정이 활성 상태가 되도록 설정된 다음 시간의 타임스탬프입니다. - 건너뛴 1시간 동안 활성화된 일정은 전체 기간 동안 여전히 실행되지만, 건너뛴 시간을 보충하기 위해 이 일정은 DST 전환 없는 날의 종료 시간보단 1시간 늦게 끝납니다. 일반적으로 일정의 종료 시간은 일정의 시작 시간과 지속 시간의 합입니다. 그러나 일정이 활성 상태인 동안 DST가 1시간을 건너뛰고 지속 시간과 시작 시간이 변하지 않는 경우, 해당 일정의 종료 시간은 일정의 시작 시간과 지속 시간의 합보다 1시간 큽니다.
- 건너뛴 1시간 동안 시작하도록 구성된 일정은 DST 전환이 없는 날의 시작 시간보다 1시간 늦게 시작됩니다.
- 반복된 1시간 동안 활성 상태인 일정은 전체 기간 동안 계속 실행되지만 반복된 1시간을 보충하기 위해 이 일정은 DST가 없는 날의 종료 시간보다 1시간 늦게 끝납니다. 일반적으로 일정의 종료 시간은 일정의 시작 시간과 지속 시간의 합입니다. 그러나 일정이 활성 상태인 동안 DST가 1시간을 반복하고 지속 시간과 시작 시간이 변하지 않는 경우, 해당 일정의 종료 시간은 일정의 시작 시간과 지속 시간의 합보다 1시간 작습니다.
- 전환 기간 중에 시작하도록 구성된 일정은 구성된 시간에 시작되지만, 시작 시간이 두 번째로 반복되는 동안에는 일정이 다시 시작되지 않습니다.
- 여러 신호로 자동 확장 정책 사용 알아보기
- 자동 확장 처리 관리 알아보기
- 자동 확장 처리 의사 결정 이해 알아보기
- 다른 유형의 자동 확장 정책을 기반으로 MIG를 자동 확장하는 방법 알아보기
Terraform
로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
제한사항
확장 일정에는 모든 자동 확장 처리의 제한사항과 다음 제한사항이 적용됩니다.
확장 일정 만들기
MIG당 최대 128개의 확장 일정을 만들 수 있습니다. 자세한 내용은 확장 일정 설정을 참조하세요.
다음 안내에서는 MIG의 확장 일정을 만드는 방법을 설명합니다.
콘솔
gcloud
기존 자동 확장 정책이 없는 MIG에 확장 일정을 추가하려면
gcloud compute instance-groups managed set-autoscaling
명령어를 사용합니다.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ --max-num-replicas=MAX_NUM_REPLICAS \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
기존 자동 확장 정책으로 MIG에 확장 일정을 추가하려면
gcloud compute instance-groups managed update-autoscaling
명령어를 사용합니다.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ [--max-num-replicas=MAX_NUM_REPLICAS] \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
한 번 실행되거나 주기적으로 반복되는 일정을 만들 수 있습니다.
반복 일정
이 명령어 예시는 반복되는 일정을 만듭니다. 이 일정은 MIG에 매주 월요일, 화요일, 수요일, 목요일, 금요일 오전 8시 30분부터 오후 5시(UTC)까지 VM 인스턴스를 10개 이상 포함하도록 지정합니다. 또한 이 명령어는
--min-num-replicas
및--max-num-replicas
플래그를 사용하여 선택한 MIG의 모든 자동 확장 신호에 대해 최소 인스턴스 수를 0으로, 최대 인스턴스 수를 30개로 업데이트합니다. 이 명령어는 기존 자동 확장 정책이 포함된example-mig
라는 기존 MIG가 있다고 가정합니다.gcloud compute instance-groups managed update-autoscaling example-mig \ --min-num-replicas=0 \ --max-num-replicas=30 \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
일회성 일정
이 명령어 예시에서는 한 번 실행되는 일정을 만듭니다. 이 일정은 MIG에 2030년 1월 30일
America/New_York
시간대에 하루 30개 이상의 VM 인스턴스를 포함하도록 지정합니다. 이 명령어는us-east1-b
에 있고 기존 자동 확장 정책이 있는example-mig
이라는 기존 MIG가 있다고 가정합니다.gcloud compute instance-groups managed update-autoscaling example-mig \ --set-schedule=example-onetime-schedule \ --schedule-cron="0 0 30 1 * 2030" \ --schedule-duration-sec=86400 \ --schedule-time-zone="America/New_York" \ --schedule-min-required-replicas=30 \ --schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \ --zone=us-east1-b
Terraform
MIG에 확장 일정을 추가하려면
google_compute_autoscaler
리소스를 사용합니다.Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
REST
MIG의 확장 일정을 사용하여 자동 확장 처리를 만들려면 영역 MIG에
autoscalers.insert
메서드를 사용하거나 리전 MIG에regionAutoscalers.insert
메서드를 사용합니다.기존 자동 확장 정책이 없는 영역 MIG의 일정을 만들려면 다음 호출을 수행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/ { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME", "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
기존 자동 확장 정책이 있는 MIG의 일정을 만들려면 영역 MIG에
autoscalers.patch
메서드를 사용하거나 리전 MIG에regionAutoscalers.patch
메서드를 사용합니다.예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 만들려면 다음 호출을 수행합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
다음을 바꿉니다.
한 번 실행되거나 주기적으로 반복되는 일정을 만들 수 있습니다.
반복 일정
이 API 호출 예시는 반복되는 일정을 만듭니다. 이 일정은 영역 MIG에 매주 월요일, 화요일, 수요일, 목요일, 금요일 오전 8시 30분부터 오후 5시(UTC)까지 VM 인스턴스를 10개 이상 포함하도록 지정합니다. 또한 이 API 호출은
minNumReplicas
및maxNumReplicas
플래그를 사용하여 선택한 MIG의 모든 자동 확장 신호에 대해 최소 인스턴스 수를 0으로, 최대 인스턴스 수를 30개로 업데이트합니다. 이 API 호출은us-east1-b
에 있고 기존 자동 확장 정책이 있는example-autoscaler
라는 자동 확장 처리가 있는 영역 MIG에example-project
라는 기존 프로젝트가 있다고 가정합니다.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "minNumReplicas": 0, "maxNumReplicas": 30, "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" } } } }
리전 MIG에 이 예시를 사용하려면
regionAutoscalers.patch
메서드를 사용하여 유사한 요청을 수행하고 영역 대신 리전을 지정합니다.일회성 일정
이 API 호출 예시는 한 번 실행되는 일정을 만듭니다. 이 일정은 영역 MIG에 2030년 1월 30일
America/New_York
시간대에 하루 30개 이상의 VM 인스턴스를 포함하도록 지정합니다. 이 API 호출은us-east1-b
에 있고 기존 자동 확장 정책이 있는example-autoscaler
라는 자동 확장 처리가 있는 영역 MIG에example-project
라는 기존 프로젝트가 있다고 가정합니다.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "scalingSchedules": { "example-onetime-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } } } }
리전 MIG에 이 예시를 사용하려면
regionAutoscalers.patch
메서드를 사용하여 유사한 요청을 수행하고 영역 대신 리전을 지정합니다.여러 일정
이 API 호출 예시는 한 번의 호출로
workday-capacity
및january-30-2030-schedule
두 개의 일정에autoscalers.patch
메서드를 사용합니다. 이 API 호출은us-east1-b
에 있고 기존 자동 확장 정책이 있는example-autoscaler
라는 자동 확장 처리가 있는 영역 MIG에example-project
라는 기존 프로젝트가 있다고 가정합니다.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } } } }
리전 MIG에 이 예시를 사용하려면
regionAutoscalers.patch
메서드를 사용하여 유사한 요청을 수행하고 영역 대신 리전을 지정합니다.일정이 생성된 후 상태 정보가 표시될 때까지 몇 분 정도 기다려야 할 수 있습니다.
확장 일정 나열
MIG의 일정 목록을 볼 수 있습니다. 이 목록에는 각 일정의 설정 및 상태 정보가 표시됩니다.
콘솔
완료되면 완료를 클릭하여 목록을 닫을 수 있습니다.
gcloud
확장 일정의 구성 및 상태를 포함하여 MIG에 대한 세부정보를 가져오려면
gcloud compute instance-groups managed describe
명령어를 사용합니다.gcloud compute instance-groups managed describe MIG_NAME \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
MIG의 확장 일정은 다음 예시와 같이 출력에 나열됩니다.
... autoscalingPolicy: ... maxNumReplicas: 30 minNumReplicas: 0 ... scalingSchedules: example-onetime-schedule: description: Schedule a minimum of 30 VMs all day for January 30, 2030 disabled: false durationSec: 86400 minRequiredReplicas: 30 schedule: 0 0 30 1 * 2030 timeZone: America/New_York workday-capacity: description: Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC disabled: false durationSec: 30600 minRequiredReplicas: 10 schedule: 30 8 * * Mon-Fri timeZone: UTC ... scheduledScalingStatus: example-onetime-schedule: state: READY nextStartTime: '2030-01-30T00:00:00.000-05:00' lastStartTime: '' workday-capacity: state: READY nextStartTime: '2020-11-04T08:30:00.000-00:00' lastStartTime: '2020-11-03T08:30:00.000-00:00' ...
REST
확장 일정의 구성과 상태를 포함하여 자동 확장 처리의 세부정보를 가져오려면 영역 MIG에
autoscalers.get
메서드를 사용하거나 리전 MIG에regionAutoscalers.get
메서드를 사용합니다.예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 나열하려면 다음 호출을 수행합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
다음을 바꿉니다.
MIG의 확장 일정은 다음 예시와 같이 출력에 나열됩니다.
{ ... "autoscalingPolicy": { ... "minNumReplicas": 0, "maxNumReplicas": 30, ... "scalingSchedules": { "example-onetime-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030", "disabled": false }, "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "timeZone": "", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC", "disabled": false }, ... } }, "scheduledScalingStatus": { "example-onetime-schedule": { "state": "READY", "nextStartTime": "2030-01-30T00:00:00.000-05:00", "lastStartTime": '' }, "workday-capacity": { "state": "READY", "nextStartTime": "2020-11-04T08:30:00.000", "lastStartTime": "2020-11-03T08:30:00.000" }, ... }, ... }
확장 일정 수정
기존 확장 일정을 수정하여 일정 이름을 제외한 모든 설정을 변경할 수 있습니다. 확장 일정을 사용 중지하거나 다시 사용 설정할 수도 있습니다.
콘솔
변경사항이 적용되려면 몇 분 정도 기다려야 할 수 있습니다. 확장 일정 창 상단의
새로고침을 클릭하여 일정 상태를 모니터링할 수 있습니다.완료되면 완료를 클릭하여 목록을 닫을 수 있습니다.
gcloud
기존 확장 일정을 업데이트하려면
gcloud compute instance-groups managed update-autoscaling
명령어를 사용합니다.--update-schedule
플래그를 사용하여 업데이트할 일정의 이름을 표시합니다. 필요에 따라 변경사항에 다른 플래그를 포함합니다.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --update-schedule=SCHEDULE_NAME \ [--schedule-cron="CRON_EXPRESSION"] \ [--schedule-duration-sec=DURATION] \ [--schedule-time-zone="TIME_ZONE"] \ [--schedule-min-required-replicas=MIN_REQ_REPLICAS] \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
REST
MIG의 기존 확장 일정을 업데이트하려면 영역 MIG에
autoscalers.patch
메서드를 사용하거나 리전 MIG에regionAutoscalers.patch
메서드를 사용합니다.예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 수정하려면 다음 호출을 수행합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
다음을 바꿉니다.
확장 일정 사용 중지 및 다시 사용 설정
확장 일정은 기본적으로 사용 설정되어 있습니다. 일정이 활성 상태가 되지 않도록 방지하고 구성을 저장하려면 일정을 사용 중지합니다. 사용 중지된 일정을 다시 사용하려면 다시 사용 설정하세요.
일정을 저장할 필요가 없거나 이 MIG에 대한 128개 일정 제한에 도달한 경우 일정을 삭제합니다. MIG의 자동 확장을 사용 중지하려면 자동 확장을 사용 중지하세요.
콘솔
변경사항이 적용되려면 몇 분 정도 기다려야 할 수 있습니다. 확장 일정 창 상단의
새로고침을 클릭하여 일정 상태를 모니터링할 수 있습니다.완료되면 완료를 클릭하여 목록을 닫을 수 있습니다.
gcloud
확장 일정을 사용 중지하거나 다시 사용 설정하려면
gcloud compute instance-groups managed update-autoscaling
명령어를 사용합니다.확장 일정 사용 중지
확장 일정을 사용 중지하려면
--disable-schedule
플래그를 사용합니다.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --disable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
확장 일정 다시 사용 설정
확장 일정을 다시 사용 설정하려면
--enable-schedule
플래그를 사용합니다.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --enable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
REST
MIG의 확장 일정을 사용 중지하거나 다시 사용 설정하려면 영역 MIG에
autoscalers.patch
메서드를 사용하거나 리전 MIG에regionAutoscalers.patch
메서드를 사용합니다.확장 일정 사용 중지
사용 중지할 각 확장 일정에 대해
disabled
필드를true
로 설정합니다. 예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 사용 중지하려면 다음 호출을 수행합니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": true }, ... } } }
다음을 바꿉니다.
확장 일정 다시 사용 설정
다시 사용 설정할 각 확장 일정에 대해
disabled
필드를false
로 설정합니다. 예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 다시 사용 설정하려면 다음 호출을 수행합니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": false }, ... } } }
다음을 바꿉니다.
확장 일정 삭제
MIG에서 확장 일정을 삭제하여 제거합니다.
OBSOLETE
상태로 지정된 일정과 같이 더 이상 필요하지 않은 일정을 삭제합니다.자동 확장 정책에는 항상 확장 신호가 하나 이상 있어야 합니다. 다른 자동 확장 신호가 없는 경우 전체 자동 확장 정책을 삭제하지 않고는 모든 확장 일정을 삭제할 수 없습니다. 모든 확장 일정을 삭제하되 자동 확장 정책은 유지하려면 모든 일정을 삭제하기 전에 확장 신호를 하나 이상 추가해야 합니다.
일정이 활성 상태가 되지 않도록 방지하고 나중에 사용하기 위해 저장하려면 일정을 사용 중지합니다. MIG의 자동 확장 구성을 삭제하려면 자동 확장 처리를 삭제합니다.
콘솔
변경사항이 적용되려면 몇 분 정도 기다려야 할 수 있습니다. 확장 일정 창 상단의
새로고침을 클릭하여 일정 상태를 모니터링할 수 있습니다.완료되면 완료를 클릭하여 목록을 닫을 수 있습니다.
gcloud
확장 일정을 삭제하려면
gcloud compute instance-groups managed update-autoscaling
명령어를--remove-schedule
플래그와 함께 사용합니다.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --remove-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
다음을 바꿉니다.
REST
MIG의 확장 일정을 삭제하려면 영역 MIG에
autoscalers.patch
메서드를 사용하거나 리전 MIG에regionAutoscalers.patch
메서드를 사용합니다. 삭제할 각 확장 일정에 대해 일정 구성을null
로 설정합니다.예를 들어 기존 자동 확장 정책이 있는 영역 MIG의 일정을 삭제하려면 다음 호출을 수행합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": null ... } } }
다음을 바꿉니다.
개념
이 섹션에서는 일정 설정 및 작업 방식에 대한 세부정보를 포함하여 확장 일정을 만들고 사용하는 것과 관련된 개념을 설명합니다.
확장 일정 설정
MIG의 확장 일정을 만들고 수정할 때 각 확장 일정에는 다음 설정이 포함됩니다.
Google Cloud CLI 또는 REST를 사용할 때는 크론 표현식을 사용해서 확장 일정의 시작 시간과 반복 횟수를 구성해야 합니다. 하지만 Google Cloud 콘솔을 사용하는 경우 크론 표현식 또는 다음 설정을 사용하여 일정의 시작 시간 및 반복을 구성할 수 있습니다.
크론 표현식
확장 일정의 시작 시간과 반복은 크론 표현식을 사용하여 구성할 수 있습니다. 크론은 Unix와 유사한 컴퓨터 운영체제에서 원래 사용되었던 시간 기반 작업 스케줄러입니다.
구문
크론 표현식은 공백으로 구분된 5개 또는 6개의 필드로 구성된 문자열입니다. 다음 표에서는 크론 표현식의 필드와 각 필드에 사용할 수 있는 값을 정의합니다.
분 시간 일 월 요일 연도(선택사항) 0-59 0-23 1-31 1~12(1월~12월)
여기서1
=Jan
,2
=Feb
, ...12
=Dec
0~6(일~토) 또는 1~7(월~일)
여기서0
=Sun
,1
=Mon
, ...6
=Sat
,7
=Sun
2000~2036
또는 제공되지 않으면 매해(*
)이러한 값을 사용하는 것 외에 크론 표현식의 모든 필드에 특수문자를 사용해도 됩니다.
특수문자 의미 예 *
모두 월 필드, 요일 필드, 연도 필드(포함된 경우)가 각각 *
로 설정된 경우 일정이 매일 시작됩니다.-
범위 요일 필드를 1-5
또는Mon-Fri
로 설정된 경우 일정은 매주 월요일부터 금요일까지 시작됩니다.,
list 월 필드가 5,7,9
또는May,Jul,Sep
로 설정된 경우 일정은 5월, 7월, 9월마다 시작됩니다./
단계 월 필드가 */3
로 설정된 경우 일정은 첫째 달과 이후 3개월마다 시작됩니다(1월, 4월, 7월, 10월).크론 표현식을 작성할 때 다음 사항을 고려하세요.
반복 일정 및 일회성 일정
크론 표현식 작성 방법에 따라 일정이 한 번 실행되거나 주기적으로 반복될 수 있습니다. 한 번만 실행되는 일정을 만들려면 연도 필드를 지정해야 합니다. 예를 들어 크론 표현식
0 0 30 1 * 2030
은 2030년 1월 30일 자정에 한 번만 시작되도록 일정을 구성합니다. 반복되는 일정을 만들려면 특수문자를 사용하여 해당 일정을 반복할 시점을 설명하세요. 예를 들어 크론 표현식30 8 * * Mon-Fri
는 매주 월요일, 화요일, 수요일, 목요일, 금요일 오전 8시 30분에 시작하도록 일정을 구성합니다.일정 상태 정보
상태를 확인할 확장 일정을 나열합니다. 확장 일정의 상태 정보를 다음과 같습니다.
중복 일정
시작 시간, 반복, 지속 시간, 시간대에 따라 둘 이상의 확장 일정이 중복될 수 있습니다. 둘 이상의 일정이 활성 상태인 경우 자동 확장 처리는 모든 활성 상태 확장 일정 중 가장 큰 수의 필수 VM 인스턴스를 사용합니다. 이렇게 하면 활성 일정의 요구사항을 충족하기에 충분한 용량을 항상 확보할 수 있습니다. 예를 들어 매일 오전 8시부터 10시까지 10개 이상의 VM이 필요한 일정과 하루 종일 20개 이상의 VM이 필요한 일정이 있으면 자동 확장 처리는 해당 날짜의 MIG를 20개 이상의 VM으로 확장합니다. 이 방법은 주기적으로 반복되는 용량 요구사항이 있지만 일회성 이벤트를 처리하는 데 더 많은 용량이 필요한 경우에 유용합니다. 이 동작 덕분에 VM 요구사항이 더 작은 다른 일정에 의해 재정의될 걱정 없이 용량을 예약할 수 있습니다.
또한 자동 확장 처리는 활성 자동 확장 신호에 필요한 가장 큰 수의 VM 인스턴스를 제공합니다. 자세한 내용은 여러 신호로 자동 확장 정책 사용을 참조하세요.
일광 절약 시간
일광 절약 시간(DST)의 세부정보는 확장 일정의 위치 기반 IANA 시간대에 따라 다릅니다. 일정의 시간대가 DST를 준수하는 경우 일정의 시작 시간이 자동으로 조정되어 선택된 위치의 시간과 동기화된 상태로 유지됩니다. 예를 들어
America/New_York
시간대에 대해 매일 오전 7시에 시작하는 확장 일정을 만들면 이 일정은 동부 하계 표준시 또는 동부 표준시를 따라 뉴욕의 오전 7시에 시작됩니다.확장 일정은 항상 구성한 전체 기간 동안 실행되지만 DST가 전환되는 날에는 시작 및 종료 시간이 약간 다를 수 있습니다. 이는 DST 스위치에 전환 기간(DST의 첫날에는 건너뛰고 DST의 마지막 날에 두 번 오는 기간)이 있기 때문입니다. 예를 들어 해당 시간대의 DST가 오전 2시에 시작하고 1시간의 전환 기간이 있는 경우 시계는 오전 1시 59분 59초에서 오전 3시로 변경되므로 오전 2시부터 2시 59분 59초까지의 시간은 건너뜁니다. 해당 시간대에 대한 DST가 오전 2시에 끝나면 시계가 오전 2시 59분 59초에서 2시로 변경되므로, 오전 2시부터 오전 2시 59분 59초까지의 시간이 반복됩니다. 다음 문은 해당 일정의 시간대가 1시간 DST 전환을 사용한다고 가정합니다.
DST 첫날(1시간을 건너뛰는 경우)의 확장 일정은 다음과 같이 변경됩니다.
DST의 마지막 날(1시간이 반복되는 경우)에 확장 일정은 다음과 같이 변경됩니다.
DST를 준수하는 대부분의 시간대는 1시간의 전환 기간을 사용합니다. 그러나 일정의 시간대가 다른 전환 기간(예:
Australia/Lord_Howe
30분의 시간대 전환을 사용하는 시간대)을 사용하는 경우에도 동일한 동작이 발생할 수 있습니다. 1시간을 해당 DST 전환 시간으로 바꾸면 됩니다.다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-