관리형 인스턴스 작업

관리형 인스턴스 그룹(MIG)과 해당 가상 머신(VM) 인스턴스를 단일 항목으로 제어합니다. 예를 들어 그룹에 자동 복구, 자동 확장, 자동 업데이트 정책을 설정할 수 있습니다. MIG는 사양에 따라 인스턴스에서 자동으로 작동하여 원하는 상태를 달성합니다.

예를 들어 특정 이름의 인스턴스를 만들거나 삭제하기 위해 MIG의 특정 관리형 인스턴스에서 작업해야 하는 경우에도 그룹 항목을 통해 이러한 인스턴스에서 작업해야 합니다. 이 페이지의 메서드를 사용합니다(예: instanceGroupManager 또는 regionInstanceGroupManager API 메서드).

그룹 메서드 이외의 메서드를 사용하여 관리형 인스턴스에서 작업하는 경우 이 작업이 그룹의 작업과 중복될 수 있습니다. 예를 들어 그룹에 속한 인스턴스를 삭제하되 그룹의 인스턴스 삭제 메서드를 사용한 경우가 아니라면 MIG는 그룹의 사양에 따라 이 인스턴스를 자동으로 다시 만들 수 있습니다.

시작하기 전에

관리형 인스턴스란 무엇인가요?

관리형 인스턴스는 실제 VM 인스턴스의 현재 상태와 원하는 상태가 포함된 MIG 내 데이터 항목입니다. 구체적으로는 다음과 같습니다.

  • 현재 상태에는 다음이 포함됩니다.
    • 인스턴스 수명 주기 상태(예: RUNNING, STOPPING)
    • 인스턴스에서 MIG가 수행하는 현재 작업(예: RESTARTING, VERIFYING, NONE)
    • 인스턴스 상태(예: HEALTHY, UNHEALTHY)
  • 원하는 상태에는 다음이 포함됩니다.
    • 원하는 버전. 즉, 인스턴스에 사용할 버전 이름과 인스턴스 템플릿
    • 보존할 항목(디스크, 메타데이터)의 보존 상태

MIG의 관리형 인스턴스마다 MIG는 실제 VM을 유지하고 관리형 인스턴스 사양에 따라 실행합니다.

관리형 인스턴스 사양을 보려면 MIG의 관리형 VM에 대한 정보 가져오기를 참조하세요.

MIG에 인스턴스 추가

MIG에 인스턴스를 추가하는 방법은 다음과 같습니다.

새로 추가된 인스턴스가 준비되고 실행 중인지 확인하려면 그룹의 상태를 확인하거나 관리형 인스턴스의 상태를 확인하세요.

수동 크기 조절

관리형 인스턴스 그룹이 자동 확장하도록 설정되지 않은 경우 그룹의 크기를 수동으로 조절하여 그룹에 속한 인스턴스 수를 변경할 수 있습니다. 수동으로 MIG 크기 조절을 참조하세요.

자동 확장

워크로드에 따라 자동으로 인스턴스를 추가하거나 삭제하도록 관리형 인스턴스 그룹을 구성할 수 있습니다. 그러면 애플리케이션에서 트래픽 증가 처리가 원활해지고, 컴퓨팅 리소스에 대한 요구가 줄면 비용을 절감할 수 있습니다. MIG를 자동으로 확장하려면 인스턴스 그룹 자동 확장을 참조하세요.

특정 이름으로 인스턴스 추가

특정 이름에 의존하는 시스템을 사용하는 경우 gcloud 도구 또는 API를 사용하여 특정 이름을 가진 VM을 기존 MIG에 추가합니다.

이러한 관리형 인스턴스에 할당한 이름은 MIG가 VM을 다시 만드는 경우 그대로 유지됩니다. MIG 인스턴스 상태 보존에 대한 자세한 내용은 스테이트풀(Stateful) MIG를 참조하세요.

제한사항

특정 이름으로 인스턴스를 만드는 경우:

  • 인스턴스 생성 프로세스 동안 자동 확장을 사용 중지해야 합니다.
  • MIG의 업데이트 정책을 상황별로 설정해야 합니다.
  • 리전 MIG를 업데이트하는 경우:
  • 프로젝트 내에서 중복 VM 인스턴스 이름을 사용할 수 없습니다.

gcloud

create-instances 하위 명령어를 사용합니다.

gcloud compute instance-groups managed create-instance instance-group-name \
    --instance managed-instance-name \
    [--region region | --zone zone]

다음을 바꿉니다.

  • instance-group-name은 새 인스턴스를 추가할 리전 또는 영역 MIG의 이름입니다.
  • managed-instance-name은 새 인스턴스에 할당할 이름입니다.

API

API에서 regionInstanceGroupManagers.createInstances 메서드에 대한 POST 요청을 실행합니다. 영역 관리형 인스턴스 그룹의 경우 instanceGroupManagers.createInstances 메서드를 사용합니다. 요청 본문에 하나 이상의 인스턴스 이름과 함께 instances 필드를 포함합니다.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/createInstances
{
  "instances": [
    {
      "name": "instance-name-1"
    },
    {
      "name": "instance-name-2"
    }
  ]
}

그룹에서 선택한 인스턴스 업데이트

MIG에 업데이트 롤아웃을 참조하세요.

MIG에서 인스턴스 삭제

관리형 인스턴스를 삭제할 때 MIG는 그룹의 targetSize를 줄이고 해당하는 VM 인스턴스를 삭제합니다. MIG는 인스턴스가 속한 모든 대상 풀에서 인스턴스를 삭제합니다.

관리형 인스턴스 그룹에서 인스턴스를 삭제해도 지정된 자동 확장 처리 설정은 변경되지 않습니다. 관리형 인스턴스 그룹에서 인스턴스를 삭제하면 자동 확장 처리에서 그룹에 있는 다른 인스턴스의 워크로드 증가를 감지하고 그룹 크기를 이전 수준으로 다시 늘릴 수 있습니다. 이를 방지하려면 인스턴스를 삭제하기 전에 자동 확장 처리를 중지하세요.

그룹이 연결 드레이닝을 사용 설정백엔드 서비스의 일부인 경우 연결 드레이닝 기간 경과 후 VM 인스턴스가 삭제될 때까지 최대 60초가 소요될 수 있습니다.

관리형 인스턴스를 삭제하고 해당 VM 인스턴스를 삭제하려면 다음을 수행하면 됩니다.

특정 인스턴스 삭제

관리형 인스턴스 그룹에서 특정 인스턴스를 삭제할 수 있습니다. 인스턴스를 삭제하면 인스턴스 그룹의 지정된 targetSize가 줄어들고 인스턴스가 속한 대상 풀에서 인스턴스가 삭제됩니다. 스테이트풀(Stateful) MIG를 설정하면 MIG가 인스턴스의 보존된 상태 구성도 삭제합니다.

관리형 인스턴스 그룹에서 인스턴스를 삭제해도 지정된 자동 확장 처리 설정은 변경되지 않습니다. 관리형 인스턴스 그룹에서 인스턴스를 삭제하면 자동 확장 처리에서 그룹에 있는 다른 인스턴스의 워크로드 증가를 감지하고 그룹 크기를 이전 수준으로 다시 늘릴 수 있습니다. 이를 방지하려면 인스턴스를 삭제하기 전에 자동 확장 처리를 중지하세요.

그룹이 연결 드레이닝을 사용하도록 설정백엔드 서비스의 일부일 경우 연결 드레이닝 기간 경과 후 VM 인스턴스가 제거 또는 삭제될 때까지 최대 60초가 소요될 수 있습니다.

Google Cloud Console, gcloud 명령줄 도구 또는 API를 사용하여 관리형 인스턴스 그룹에서 인스턴스를 삭제합니다.

Console

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

    인스턴스 그룹 페이지로 이동

  2. 목록의 이름 열에서 개별 인스턴스를 삭제할 인스턴스 그룹 이름을 클릭합니다. 인스턴스 그룹 속성과 그룹에 포함된 인스턴스 목록이 표시된 페이지가 열립니다.
  3. 인스턴스 목록에서 삭제할 인스턴스를 한 개 이상 선택합니다.
  4. 삭제를 클릭합니다. 선택한 인스턴스가 삭제됩니다.

gcloud

gcloud 도구로 인스턴스를 삭제하려면 instance-groups managed delete-instances 하위 명령어를 사용합니다.

gcloud compute instance-groups managed delete-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

API에서 regionInstanceGroupManagers.deleteInstances 메서드에 대해 POST 요청을 실행합니다. 영역 관리형 인스턴스 그룹의 경우 instanceGroupManagers.deleteInstances 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/deleteInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

관리형 인스턴스 그룹의 인스턴스 삭제를 요청한 후 시스템에서 인스턴스를 삭제할 수 있게 되면 인스턴스가 즉시 중지됩니다. 이 프로세스는 그룹에서 삭제하는 인스턴스 수에 따라 상당한 시간이 걸릴 수 있습니다. 그룹의 상태를 확인하거나 해당 인스턴스의 상태를 확인하세요.

MIG에서 인스턴스 폐기

관리형 인스턴스 그룹에서 VM 인스턴스를 분리하여 그룹 전체에 영향을 미치지 않고 개별 인스턴스의 문제를 간편하게 디버그할 수 있습니다. 그룹에서 인스턴스를 폐기하면 관리형 인스턴스 그룹에 할당된 부하 분산기에서도 인스턴스가 삭제됩니다. 특정한 개별 인스턴스에 수동으로 할당된 대상 풀은 삭제되지 않습니다.

인스턴스를 폐기하면 인스턴스 그룹의 지정된 targetSize가 줄어들지만 지정된 자동 확장 처리 설정은 변경되지 않습니다. 자동 확장 처리를 사용하는 관리형 인스턴스 그룹은 필요에 따라 자동으로 계속해서 인스턴스를 추가하거나 제거합니다.

그룹이 연결 드레이닝을 사용하도록 설정백엔드 서비스의 일부일 경우 연결 드레이닝 기간 경과 후 VM 인스턴스가 제거 또는 삭제될 때까지 최대 60초가 소요될 수 있습니다.

Google Cloud Console, gcloud 도구 또는 API를 사용하여 관리형 인스턴스 그룹의 인스턴스를 폐기할 수 있습니다.

Console

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

    인스턴스 그룹 페이지로 이동

  2. 목록의 이름 열에서, 제거할 인스턴스가 속한 인스턴스 그룹의 이름을 클릭합니다. 인스턴스 그룹 속성과 그룹에 포함된 인스턴스의 목록이 표시된 페이지가 열립니다.
  3. 인스턴스 목록에서, 그룹에서 제거할 인스턴스를 하나 이상 선택합니다.
  4. 그룹에서 제거를 클릭합니다. 선택한 인스턴스는 그룹에 더 이상 속하지 않지만 그룹 밖에서 계속 실행됩니다.

gcloud

인스턴스 그룹에서 인스턴스를 삭제하되 VM을 삭제하지 않으려면 abandon-instances 하위 명령어를 사용합니다.

gcloud compute instance-groups managed abandon-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

API에서 regionInstanceGroupManagers.abandonInstances 메서드에 대해 POST 요청을 실행합니다. 영역 관리형 인스턴스 그룹의 경우 instanceGroupManagers.abandonInstances 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/abandonInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

관리형 인스턴스 그룹의 인스턴스 폐기를 요청하면 가능한 즉시 그룹에서 인스턴스가 제거됩니다. 그룹의 상태를 확인하거나 해당 인스턴스의 상태를 확인하세요.

MIG에서 인스턴스 다시 만들기

인스턴스를 다시 만들면 지정된 VM이 삭제되고 관리형 인스턴스에 할당된 구성을 통해 새 VM이 생성됩니다.

선택한 VM이 최신 인스턴스 템플릿과 스테이트풀(Stateful) 구성을 사용하도록 업데이트하려면 이 방법을 사용합니다. 관리형 인스턴스 그룹의 모든 VM을 다시 만들어야 하는 경우에는 대신 순차적 업데이트를 시작합니다.

그룹이 연결 드레이닝을 사용하도록 설정백엔드 서비스의 일부일 경우 연결 드레이닝 기간 경과 후 VM 인스턴스가 제거 또는 삭제될 때까지 최대 60초가 소요될 수 있습니다.

gcloud 도구 또는 API를 사용하여 관리형 인스턴스 그룹에서 선택한 VM 인스턴스를 다시 만듭니다.

gcloud

instance-groups managed recreate-instances 하위 명령어를 사용합니다.

gcloud compute instance-groups managed recreate-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

API에서 regionInstanceGroupManagers.recreateInstances 메서드에 대해 POST 요청을 실행합니다. 영역 관리형 인스턴스 그룹의 경우 instanceGroupManagers.recreateInstances 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/recreateInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

관리형 인스턴스 그룹에서 인스턴스 다시 만들기를 요청한 후 시스템에서 VM을 프로비저닝할 수 있게 되면 새 VM이 즉시 시작됩니다. 이 프로세스는 다시 만드는 인스턴스 수에 따라 상당한 시간이 걸릴 수 있습니다. 그룹의 상태를 확인하거나 해당 인스턴스의 상태를 확인하세요.

MIG에 인스턴스에 대한 정보 가져오기

MIG에 관리형 인스턴스에 대한 정보 가져오기를 참조하세요.

다음 단계