복구 중 구성 업데이트 적용


이 문서에서는 복구 작업 중에 VM을 다시 만들 때 최신 인스턴스 템플릿 및 인스턴스별 구성을 적용하도록 MIG를 구성하는 방법을 설명합니다. 복구 작업 중에 사용 가능한 최신 구성을 적용하는 것을 복구 시 업데이트라고도 합니다. 또한 이 문서에서는 MIG에서 복구 시 업데이트가 사용 설정되었는지 확인하고 사용 설정된 경우 복구 시 업데이트를 사용 중지하는 방법을 설명합니다.

기본적으로 복구 중에 MIG는 VM을 만드는 데 원래 사용했던 동일한 인스턴스 구성을 사용하여 VM을 다시 만듭니다. 그룹의 인스턴스 템플릿 또는 인스턴스별 구성에 대한 업데이트를 사용할 수 있으면 이러한 변경사항을 복구 중인 VM에 적용할 수 있습니다.

구성 업데이트를 전체 또는 일부 VM에 자동으로 적용(PROACTIVE)하려고 하거나 특정 인스턴스를 선택적으로 업데이트(OPPORTUNISTIC)하려는 경우 MIG의 VM에 새 구성 적용을 참조하세요.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

복구 시 업데이트 구성

복구 시 업데이트를 구성하려면 Google Cloud 콘솔, gcloud CLI, REST를 사용합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 복구 시 업데이트를 구성할 MIG의 이름을 클릭합니다.

  3. 수정을 클릭하여 MIG를 수정합니다.

  4. VM 인스턴스 수명 주기 섹션의 VM 인스턴스 복구 중 업데이트에서 인스턴스 구성 업데이트를 선택합니다.

  5. 저장을 클릭합니다.

gcloud

기존 MIG의 경우 update 명령어를 사용합니다.

gcloud compute instance-groups managed update MIG_NAME \
    --force-update-on-repair

새 MIG의 경우 create 명령어를 사용합니다.

gcloud compute instance-groups managed create MIG_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --force-update-on-repair

다음을 바꿉니다.

  • MIG_NAME: 인스턴스 그룹의 이름입니다.
  • INSTANCE_TEMPLATE: 그룹에 사용할 인스턴스 템플릿의 이름입니다.
  • SIZE: 인스턴스 그룹의 대상 크기입니다.

REST

기존 영역 MIG의 경우에는 instanceGroupManagers.patch 메서드를 사용하고 기존 리전 MIG의 경우에는 regionInstanceGroupManagers.patch 메서드를 사용합니다.

기존 영역 MIG 복구 시 업데이트를 구성하려면 다음 호출을 수행합니다.

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
"instanceLifecyclePolicy":
  { "forceUpdateOnRepair": YES
  }
}

새 영역 MIG의 경우에는 instanceGroupManagers.insert 메서드를 사용하고 새 리전 MIG의 경우에는 regionInstanceGroupManagers.insert 메서드를 사용합니다.

영역 MIG를 만들 때 복구 시 업데이트를 구성하려면 다음 호출을 수행합니다.

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE",
"targetSize": SIZE,
"instanceLifecyclePolicy":
  { "forceUpdateOnRepair": YES
  }
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • ZONE: MIG가 있는 영역입니다.
  • MIG_NAME: 인스턴스 그룹의 이름입니다.
  • INSTANCE_TEMPLATE: 그룹에 사용할 인스턴스 템플릿의 이름입니다.
  • SIZE: 인스턴스 그룹의 대상 크기입니다.

복구 시 업데이트가 사용 설정되었는지 확인

기본적으로 MIG는 복구 중에 VM을 업데이트하지 않습니다. MIG에 복구 시 업데이트가 사용 설정되었는지 확인하려면 Google Cloud 콘솔, gcloud CLI, REST를 사용하여 복구 시 업데이트 구성을 확인합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 구성을 확인할 MIG의 이름을 클릭합니다.

  3. 세부정보 탭을 클릭합니다.

  4. VM 인스턴스 수명 주기 섹션에서 VM 인스턴스 복구 중 업데이트에 대해 선택된 옵션을 선택합니다. 인스턴스 구성 업데이트를 선택하면 복구 시 업데이트가 사용 설정됩니다.

gcloud

다음과 같이 describe 명령어를 사용합니다.

gcloud compute instance-groups managed describe MIG_NAME \
--format="(instanceLifecyclePolicy)"

응답 본문에서 다음 값 중 하나가 있는 forceUpdateOnRepair 필드를 확인합니다.

  • NO: 기본값입니다. MIG는 복구된 VM을 업데이트하지 않습니다.
  • YES: MIG가 복구 중에 VM을 업데이트합니다.

다음은 샘플 출력입니다.

instanceLifecyclePolicy:
 forceUpdateOnRepair: YES

REST

영역 MIG의 경우에는 instanceGroupManagers.get 메서드를 사용하고 리전 MIG의 경우에는 regionInstanceGroupManagers.get 메서드를 사용합니다.

예를 들어 영역 MIG에서는 다음 명령어를 사용합니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

응답 본문에서 다음 값 중 하나가 포함된 instanceLifecyclePolicy.forceUpdateOnRepair 필드를 확인합니다.

  • NO: 기본값입니다. MIG는 복구된 VM을 업데이트하지 않습니다.
  • YES: MIG가 복구 중에 VM을 업데이트합니다.

다음은 샘플 응답입니다.

{
...
"name": "example-mig",
"targetSize": 12,
...
"instanceLifecyclePolicy": {
  "forceUpdateOnRepair": "YES"
  },
...
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • ZONE: MIG가 있는 영역입니다.
  • MIG_NAME: 인스턴스 그룹의 이름입니다.

복구 시 업데이트 사용 중지

MIG가 VM을 복구할 때 MIG에서 VM을 만드는 데 사용된 원래 인스턴스 템플릿 또는 인스턴스별 구성을 사용하려면 복구 시 업데이트를 사용 중지해야 합니다. 기본적으로 MIG의 복구 시 업데이트는 사용 중지됩니다.

Google Cloud 콘솔, gcloud CLI, REST를 사용하여 복구 시 업데이트를 사용 중지합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 복구 시 업데이트를 사용 중지하려는 MIG의 이름을 클릭합니다.

  3. 수정을 클릭하여 MIG를 수정합니다.

  4. VM 인스턴스 수명 주기 섹션의 VM 인스턴스 복구 중 업데이트에서 동일한 인스턴스 구성 유지를 선택합니다.

  5. 저장을 클릭합니다.

gcloud

update 명령어를 사용하여 다음과 같이 --no-force-update-on-repair 플래그를 설정합니다.

gcloud compute instance-groups managed update MIG_NAME \
    --no-force-update-on-repair

REST

영역 MIG의 경우에는 instanceGroupManagers.patch 메서드를 사용하고 리전 MIG의 경우에는 regionInstanceGroupManagers.patch 메서드를 사용합니다.

예를 들어 영역 MIG의 복구 시 업데이트를 중지하려면 다음 명령어를 사용합니다.

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy":
{ "forceUpdateOnRepair": NO
}
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • ZONE: MIG가 있는 영역입니다.
  • MIG_NAME: 인스턴스 그룹의 이름입니다.

다음 단계