스테이트풀(Stateful) 관리형 인스턴스 그룹(MIG)에 스테이트풀(Stateful) 구성을 만들거나 업데이트한 후에는 다음을 수행할 수 있습니다.
시작하기 전에
- 스테이트풀(Stateful) MIG를 사용하는 경우 및 스테이트풀(Stateful) 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.
- 스테이트풀(Stateful) 정책의 구성 변경사항은 자동으로 모든 관리형 인스턴스에 적용됩니다.
- 인스턴스별 구성의 구성 변경사항을 수동 또는 자동으로 적용할 수 있습니다.
- 업데이트된 구성을 특정 인스턴스에 선택적으로 적용: 이 접근 방법을 사용하면 중단 수준, 타이밍, 업데이트 순서를 제어할 수 있습니다.
- 순차적 업데이트로 업데이트된 구성을 자동으로 적용: 이 접근 방법을 사용하면 자동화된 순차적인 방식으로 관리되는 인스턴스에 구성 변경사항을 적용할 수 있습니다.
- 자동 사전 업데이트와 경합을 방지하기 위해 낙관적 업데이트 정책을 구성합니다.
- 인스턴스별 구성을 만들거나 업데이트합니다.
- VM을 선택적으로 업데이트하여 업데이트된 구성을 특정 VM에 적용합니다.
- gcloud CLI로 인스턴스별 구성을 만들거나 업데이트하는 경우
--update-instance
플래그를 사용하여 구성을 연결된 관리형 인스턴스에 즉시 적용합니다. - 새 인스턴스를 수동으로 만드는 경우 만들 때 이름 및 인스턴스별 구성을 지정합니다. MIG는 VM을 만들 때 즉시 구성을 적용합니다.
RECREATE
에 대해 대체 메서드를 설정해야 합니다.- 최대 초과 개수를
0
으로 설정해야 합니다. - 리전 MIG의 경우 영역 간에 사전적인 인스턴스 재배포를 사용 중지해야 합니다.
true
: 그룹의 모든 인스턴스별 구성이 적용되어 유효하거나 그룹에 인스턴스별 구성이 없습니다.false
: 그룹에 아직 유효하지 않은 인스턴스별 구성이 최소 한 개 이상 있습니다. 이는 아직 적용되지 않았거나 적용이 진행 중인 상태입니다.UNAPPLIED
: 인스턴스별 구성이 생성되거나 업데이트되었으며 수동 인스턴스 업데이트로 VM에 적용해야 합니다.APPLYING
: MIG가 현재 새로운 인스턴스별 구성 또는 업데이트된 인스턴스별 구성을 VM에 적용하고 있습니다.EFFECTIVE
: 인스턴스별 구성이 VM에 성공적으로 적용되어 유효합니다.UNAPPLIED_DELETION
: 인스턴스별 구성이 삭제되도록 설정됩니다. 이 업데이트를 적용하려면 수동 인스턴스 업데이트를 사용하여 VM에 업데이트를 적용해야 합니다.DELETING
: 인스턴스별 구성이 삭제되고 변경사항이 VM에 적용됩니다.- MIG에 스테이트풀(Stateful) 구성이 있는지와 이 구성이 적용되고 유효한지 확인
- 스테이트풀(Stateful) 정책에 저장된 MIG의 모든 인스턴스에 공통적으로 적용되는 스테이트풀(Stateful) 구성 보기
- 인스턴스별 구성에 저장된 개별 인스턴스에 대한 스테이트풀(Stateful) 구성을 보고 이 구성이 적용되고 유효한지 확인
- 스테이트풀(Stateful) 정책과 적용된 인스턴스별 구성에 따라 MIG에서 각 인스턴스의 유효한 보존 상태 보기
hasStatefulConfig
:true
: 그룹에 스테이트풀(Stateful) 구성이 있습니다. 즉, 그룹에 비어 있지 않은 스테이트풀(Stateful) 정책이 있거나 비어 있지 않은 인스턴스별 구성이 최소 한 개 이상 있습니다.false
: 스테이트풀(Stateful) 구성이 없습니다.
perInstanceConfigs.allEffective
:true
: 그룹의 모든 인스턴스별 구성이 적용되어 유효하거나 그룹에 인스턴스별 구성이 없습니다.false
: 그룹에 아직 유효하지 않은 인스턴스별 구성이 최소 한 개 이상 있습니다. 이는 아직 적용되지 않았거나 적용이 진행 중인 상태입니다.
hasStatefulConfig
:true
: 그룹에 스테이트풀(Stateful) 구성이 있습니다. 즉, 그룹에 비어 있지 않은 스테이트풀(Stateful) 정책이 있거나 비어 있지 않은 인스턴스별 구성이 최소 한 개 이상 있습니다.false
: 스테이트풀(Stateful) 구성이 없습니다.
perInstanceConfigs.allEffective
:true
: 그룹의 모든 인스턴스별 구성이 적용되어 유효하거나 그룹에 인스턴스별 구성이 없습니다.false
: 그룹에 아직 유효하지 않은 인스턴스별 구성이 최소 한 개 이상 있습니다. 이는 아직 적용되지 않았거나 적용이 진행 중인 상태입니다.
Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
스테이트풀(Stateful) 정책을 보려는 인스턴스 그룹의 이름을 클릭합니다.
세부정보 탭으로 이동합니다.
스테이트풀(Stateful) 리소스 아래에 스테이트풀(Stateful) 정책의 모든 리소스가 나열됩니다.
NAME
: 인스턴스별 구성을 나열할 MIG의 이름입니다.PROJECT_ID
: 요청의 프로젝트 ID입니다.ZONE
: MIG가 위치한 영역입니다(영역 MIG에 적용).- 리전 MIG의 경우
zones/ZONE
을regions/REGION
으로 바꾸고 MIG의 리전을 지정합니다.
- 리전 MIG의 경우
NAME
: 인스턴스별 구성을 나열할 MIG의 이름입니다.preservedStateFromPolicy
: 인스턴스별 구성으로 재정의된 스테이트풀(Stateful) 구성을 제외하고 스테이트풀(Stateful) 정책에 따라 생성된 보존 상태를 포함합니다.preservedStateFromConfig
: 관리형 인스턴스에 이미 적용된 인스턴스별 구성에 따라 생성된 보존 상태를 포함합니다.POLICY
: 스테이트풀(Stateful) 정책에 따라 관리형 인스턴스에 보존 상태가 있습니다.CONFIG
: 인스턴스별 구성에 따라 관리형 인스턴스에 보존 상태가 있습니다.- 값 없음: 관리형 인스턴스에 보존 상태가 없으며 스테이트리스(Stateless)입니다.
INSTANCE_GROUP_NAME
: MIG 이름입니다.INSTANCE_NAME
: 그룹의 관리형 인스턴스 이름입니다.- 독립형 VM을 스테이트풀(Stateful) MIG로 마이그레이션했고 이제 스테이트풀(Stateful) 구성을 인스턴스별 구성에서 공통 스테이트풀(Stateful) 정책으로 이동하려는 경우
- 워크로드를 다시 설계했으며 더 이상 VM 인스턴스에서 상태를 유지할 필요가 없는 경우
- 만들었던 테스트용 스테이트풀(Stateful) 구성을 정리하려는 경우
- MIG의 모든 VM에 이전 스테이트풀(Stateful) 영구 디스크를 스테이트리스(Stateless)로 선언
- MIG의 모든 VM에 대해 이전 스테이트풀(Stateful) 네트워크 인터페이스를 스테이트리스(Stateless)로 선언
- MIG의 특정 VM에 대해 스테이트풀(Stateful) 디스크 분리 또는 스테이트리스(Stateless)로 선언
- MIG의 특정 VM에 대해 스테이트풀(Stateful) 메타데이터 삭제
- MIG의 특정 VM에 대해 고정 IP 주소 연결 해제
- 디스크를 인스턴스 템플릿에서 정의된 소스에서 삭제하고 다시 만들 수 있습니다.
- IP 주소가 변경될 수 있습니다.
--remove-stateful-disks
: 삭제 후 구성된 모든 스테이트풀(Stateful) 디스크의 기기 이름을 나열합니다.--remove-stateful-internal-ips
: 삭제 후 구성된 모든 스테이트풀(Stateful) 내부 IP 주소의 네트워크 인터페이스 이름을 나열합니다.--remove-stateful-external-ips
: 삭제 후 구성된 모든 스테이트풀(Stateful) 외부 IP 주소의 네트워크 인터페이스 이름을 나열합니다.- 연결된 인스턴스별 구성을 삭제합니다.
- 변경사항을 관리형 인스턴스에 적용합니다. 변경사항을 수동으로 적용할지 또는 자동으로 적용할지 선택할 수 있습니다.
- 디스크가 인스턴스 템플릿의 소스에서 분리되거나 재생성될 수 있습니다.
- 메타데이터가 삭제되거나 인스턴스 템플릿에서 정의된 값으로 재설정됩니다.
- IP 주소가 변경될 수 있습니다.
INSTANCE_GROUP_NAME
: MIG의 이름입니다.INSTANCE_NAME
: 인스턴스별 구성을 삭제할 인스턴스의 이름입니다.MINIMAL_ACTION
: 인스턴스별 구성 업데이트를 VM에 적용할 때 수행할 최소 작업입니다. 이 값은 다음 중 하나여야 합니다.none
: 적용할 작업이 없습니다.refresh
: VM을 중지하지 않고 적용할 수 있는 업데이트를 적용합니다.restart
: VM을 중지했다가 다시 시작합니다.replace
: VM을 다시 만듭니다.
PROJECT_ID
: 요청의 프로젝트 ID입니다.ZONE
: MIG가 위치한 영역입니다(영역 MIG에 적용).- 리전 MIG의 경우
zones/ZONE
을regions/REGION
으로 바꾸고 MIG의 리전을 지정합니다.
- 리전 MIG의 경우
INSTANCE_GROUP_NAME
: MIG 이름입니다.INSTANCE_NAME
: 인스턴스별 구성을 삭제할 인스턴스의 이름입니다.- 스테이트풀(Stateful) MIG 구성
- VM 상태 및 속성을 포함한 특정 MIG 및 관리형 인스턴스에 대한 정보 보기
- 스테이트풀(Stateful) MIG 자세히 알아보기
- MIG 및 관리형 인스턴스 작업 자세히 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
관리형 인스턴스에 스테이트풀(Stateful) 구성 적용
스테이트풀(Stateful) 구성은 사용자 또는 MIG가 적용해야 효력이 발생됩니다.
보다 개념적인 정보는 관리되는 인스턴스에 스테이트풀(Stateful) 구성이 적용되는 방법을 참조하세요.
스테이트풀(Stateful) 정책에서 구성 적용
스테이트풀(Stateful) 정책의 모든 구성 변경사항은 자동으로 모든 관리형 인스턴스에 적용됩니다. 스테이트풀(Stateful) 정책을 업데이트해도 실행 중인 가상 머신(VM) 인스턴스는 중단되지 않습니다.
스테이트풀(Stateful) 정책이 적용되었는지 확인
모든 VM 확인
변경 후 MIG가 안정화되었는지 확인하여 스테이트풀(Stateful) 정책 변경사항이 모든 VM에 적용되었는지 확인합니다.
특정 VM 확인
관리형 인스턴스 보존 상태를 확인하고 스테이트풀(Stateful) 정책의 모든 디스크가 관리형 인스턴스의
preservedStateFromPolicy
또는preservedStateFromConfig
에 있는지 확인하여 스테이트풀(Stateful) 정책 변경사항이 MIG의 특정 VM에 적용되었는지 확인합니다.인스턴스별 구성에서 스테이트풀(Stateful) 구성 적용
신규 또는 업데이트된 인스턴스별 구성을 수동 또는 자동으로 적용할 수 있습니다. 다음 방법 중 하나를 사용하세요.
위 방법 모두 인스턴스별 구성과 적용되지 않은 버전 또는 인스턴스 템플릿 둘 다에 미적용 업데이트를 적용합니다(해당되는 경우).
업데이트된 구성을 특정 인스턴스에 선택적으로 적용
인스턴스별 구성을 특정 인스턴스에 수동으로 적용하려면 다음 단계를 수행합니다.
또는 다음 접근 방법을 사용할 수 있습니다.
순차적 업데이트로 업데이트된 구성 자동 적용
MIG가 순차적인 방식으로 해당 관리되는 인스턴스에 구성 업데이트를 자동으로 적용하도록 사전적인 순차적 업데이트를 구성합니다.
스테이트풀(Stateful) MIG는 사전적인 업데이트 정책을 위해 다음 구성이 필요합니다.
이러한 구성은 MIG가 기존 스테이트풀(Stateful) 인스턴스를 다시 만들고 이를 다른 항목으로 대체하지 않도록 보장합니다.
또한 가능한 경우 그룹의 업데이트 정책에서 최소 작업을
REFRESH
로 설정하여 인스턴스를 중지하지 않고 인스턴스별 구성의 변경사항이 적용되도록 보장할 수 있습니다.인스턴스별 구성 적용 여부 확인
모든 인스턴스별 구성 확인
MIG의 모든 인스턴스별 구성이 적용되었는지 확인하려면 MIG의 스테이트풀(Stateful) 상태를 보고
status.stateful.perInstanceConfigs.allEffective
를 확인합니다.특정 인스턴스별 구성 확인
특정 인스턴스별 구성의 변경사항이 해당 VM에 적용되었는지 확인하려면 모든 인스턴스별 구성을 보고 특정 인스턴스별 구성의
status
필드를 확인합니다.스테이트풀(Stateful) 구성 및 보존 상태 보기
다음 태스크에서 스테이트풀(Stateful) MIG에 대한 정보를 가져옵니다.
MIG의 스테이트풀(Stateful) 구성 상태 보기
스테이트풀(Stateful) 구성, 즉, 스테이트풀(Stateful) 정책이 있거나 인스턴스별 비어 있지 않은 구성이 최소 한 개 이상 있으면 MIG는 스테이트풀(Stateful)로 간주됩니다.
스테이트풀(Stateful) 정책을 만들면 MIG가 자동으로 적용합니다. 인스턴스별 구성을 만들 때 나중에 적용하도록 결정할 수 있습니다.
MIG에 스테이트풀(Stateful) 구성이 있고 모든 인스턴스별 구성이 적용되는지 확인하려면 gcloud CLI 또는 REST를 사용하여 MIG의 스테이트풀(Stateful) 상태를 봅니다.
gcloud
MIG에 스테이트풀(Stateful) 구성이 있는지 확인하려면
gcloud compute instance-groups managed describe
명령어를 실행하여 스테이트풀(Stateful) 상태를 봅니다. 예를 들면 다음과 같습니다.gcloud compute instance-groups managed describe NAME baseInstanceName node ... name example-group ... status: isStable: true stateful: hasStatefulConfig: true perInstanceConfigs: allEffective: true versionTarget: isReached: true targetSize: 3 ...
이 출력에서 각 항목의 의미는 다음과 같습니다.
REST
MIG에 스테이트풀(Stateful) 구성이 있는지 확인하려면
instanceGroupManagers.get
메서드 또는regionInstanceGroupManagers.get
메서드를 사용하고status.stateful
필드를 확인합니다. 예를 들면 다음과 같습니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
이 메서드는
instanceGroupManagers
객체를 반환합니다.{ "name": "example-group", "baseInstanceName": "node", ... "status": { "isStable": true, "stateful": { "hasStatefulConfig": true, "perInstanceConfigs": { "allEffective": true } }, "versionTarget": { "isReached": true } }, "targetSize": 3, ... }
이 출력에서 각 항목의 의미는 다음과 같습니다.
MIG의 스테이트풀(Stateful) 정책 보기
Google Cloud 콘솔, gcloud CLI 또는 REST로 그룹의 세부정보를 확인하여 MIG의 스테이트풀(Stateful) 정책을 확인합니다.
콘솔
gcloud
MIG의 스테이트풀(Stateful) 정책을 보려면
gcloud compute instance-groups managed describe
명령어를 실행합니다. 예를 들면 다음과 같습니다.gcloud compute instance-groups managed describe NAME baseInstanceName node ... name example-group ... statefulPolicy: preservedState: disks: data-disk: autoDelete: NEVER logs-disk: autoDelete: ON_PERMANENT_INSTANCE_DELETION internalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: autoDelete: NEVER status: isStable: true stateful: hasStatefulConfig: true perInstanceConfigs: allEffective: true versionTarget: isReached: true targetSize: 3 ...
REST
MIG의 스테이트풀(Stateful) 정책을 보려면
instanceGroupManagers.get
또는regionInstanceGroupManagers.get
메서드를 사용하고statefulPolicy
필드를 확인합니다. 예를 들면 다음과 같습니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
이 메서드는
instanceGroupManagers
객체를 반환합니다.{ "name": "example-group", "baseInstanceName": "node", ... "status": { "isStable": true, "versionTarget": { "isReached": true }, "stateful": { "hasStatefulConfig": true, "perInstanceConfigs": { "allEffective": true } } ... "statefulPolicy": { "preservedState": { "disks": { "data-disk": { "autoDelete": "NEVER" }, "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, "internalIPs": { "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"} }, "externalIPs": { "nic0" : { "autoDelete": "NEVER"} }, } }, "targetSize": 3, ... }
MIG의 인스턴스별 구성 보기
MIG의 모든 인스턴스별 구성을 나열하여 인스턴스별 구성을 봅니다. gcloud CLI 또는 REST를 사용합니다.
인스턴스별 구성을 수동으로 적용하도록 결정할 경우 일부 인스턴스별 구성이 아직 연결된 인스턴스에 적용되지 않을 수 있으므로 인스턴스 보존 상태가 아직 인스턴스별 구성을 반영하지 못할 수 있습니다. 자세한 내용은 인스턴스별 구성 적용 및 인스턴스별 구성 적용 여부 확인을 참조하세요.
gcloud
gcloud compute instance-groups managed instance-configs list
명령어를 실행하여 MIG의 인스턴스별 구성을 모두 나열합니다.gcloud compute instance-groups managed instance-configs list NAME
다음을 바꿉니다.
표준
--filter
플래그를 사용하여 목록을 필터링합니다.예를 들어
example-group
의 모든 인스턴스별 구성을 나열하려면 다음을 실행합니다.gcloud compute instance-groups managed instance-configs list example-group --- fingerprint: JxPvsKOywuY= name: node-1 preservedState: disks: data-disk: autoDelete: NEVER mode: rw source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1 metadata: role: primary internalIPs: nic0: ipAddress: address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: ipAddress: literal: 130.211.181.55 autoDelete: NEVER status: EFFECTIVE --- fingerprint: IbGmJBqqEkk= name: node-2 preservedState: ...
REST
instanceGroupManagers.listPerInstanceConfigs
또는regionInstanceGroupManagers.listPerInstanceConfigs
메서드를 호출하여 MIG의 모든 인스턴스별 구성을 나열합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs
다음을 바꿉니다.
예를 들어
example-group
의 모든 인스턴스별 구성을 나열하려면 다음을 실행합니다.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs
이 메서드는 그룹의 인스턴스별 구성 목록을 반환합니다.
{ "items": [ { "fingerprint": "JxPvsKOywuY=", "name": "node-1", "preservedState" : { "disks": { "data-disk" : { "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1", "mode": "READ_WRITE", "autoDelete": "NEVER" } }, "metadata": { "role": "primary" }, "internalIPs": { "nic0" : { "ipAddress" : { "address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip" }, "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, "externalIPs": { "nic0": { "ipAddress" : { "literal": "54.2.3.4" }, "autoDelete": "NEVER" } } }, "status": "EFFECTIVE" }, { "fingerprint": "IbGmJBqqEkk=", "name": "node-2", "preservedState" : { ... } ... }, ... ] }
관리형 인스턴스의 보존 상태 보기
스테이트풀(Stateful) 구성이 적용되면 MIG는 두 필드에서 각 관리형 인스턴스의 유효한 보존 상태를 생성하고 설정합니다.
MIG에서 각 관리형 인스턴스의 유효한 보존 상태를 확인하려면 gcloud CLI 또는 REST를 사용하여 관리형 인스턴스를 나열합니다.
gcloud
gcloud compute instance-groups managed list-instances
명령어를 사용하고PRESERVED_STATE
열의 값을 확인하여 보존 상태를 가진 관리형 인스턴스를 확인합니다. 예를 들면 다음과 같습니다.gcloud compute instance-groups managed list-instances NAME NAME ZONE STATUS HEALTH_STATE ACTION PRESERVED_STATE INSTANCE_TEMPLATE ... node-1 us-east1-c RUNNING NONE POLICY,CONFIG example-template node-2 us-east1-c RUNNING NONE POLICY,CONFIG example-template
PRESERVED_STATE
열에는 다음 값이 포함될 수 있습니다.gcloud compute instance-groups managed describe-instance
명령어를 실행하여 특정 관리형 인스턴스의 보존 상태를 봅니다.gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME
다음을 바꿉니다.
예를 들어
example-group
에서node-1
관리형 인스턴스의 보존 상태를 보려면 다음을 실행합니다.gcloud compute instance-groups managed describe-instance example-group \ --instance node-1 instance: .../example-project/zones/us-east1-c/instances/node-1 instanceStatus: RUNNING currentAction: NONE id: 123456789012345678 version: instanceTemplate: .../example-project/global/instanceTemplates/example-template preservedStateFromPolicy: disks: data-disk: autoDelete: NEVER mode: rw source: .../example-project/zones/us-east1-c/disks/data-disk-1 internalIPs: nic0: ipAddress: literal: 10.0.0.1 address: .../example-project/regions/us-east1/addresses/node-1-int-ip autoDelete: ON_PERMANENT_INSTANCE_DELETION preservedStateFromConfig: metadata: role: primary my-key: my-value externalIPs: nic0: ipAddress: literal: 130.211.181.55 address: .../example-project/regions/us-east1/addresses/node-1-nat-ip autoDelete: NEVER
REST
instanceGroupManagers.listManagedInstances
또는regionInstanceGroupManagers.listManagedInstances
메서드를 호출하여 관리형 인스턴스를 나열하여 각 인스턴스의 보존 상태를 확인합니다.예를 들어 모든 관리형 인스턴스를 나열하려면 다음을 실행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances
이 메서드는 보존 상태에 대한 정보가 포함된 그룹의 관리형 인스턴스 목록을 반환합니다.
{ "managedInstances": [ { "instance": ".../example-project/zones/us-east1-c/instances/node-1", "instanceStatus": "RUNNING", "currentAction": "NONE", "id": "123456789012345678", "version": { "instanceTemplate":".../example-project/global/instanceTemplates/example-template" }, "preservedStateFromPolicy": { "disks": { "data-disk" : { "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1", "mode": "rw", "autoDelete": "NEVER" }, }, "internalIPs": { "nic0" : { "ipAddress": { "literal": "10.0.0.1", "address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip" }, "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, }, "preservedStateFromConfig": { "metadata": { "role": "primary", "my-key": "my-value" }, "externalIPs": { "nic0": { "ipAddress": { "literal": "130.211.181.55", "address": "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip" }, "autoDelete": "NEVER" } }, } }, { "instance": ".../example-project/zones/us-east1-c/instances/node-2", "instanceStatus": "RUNNING", ... "preservedStateFromPolicy": { ... }, "preservedStateFromConfig": { ... } }, ... ] }
연결된 고정 IP 주소 리소스 보기
MIG에서 관리형 인스턴스에 할당된 고정 IP 주소(
Address
리소스)를 검색하려면 이러한 인스턴스의 예약된 상태를 확인합니다. 고정 주소는ipAddress.address
필드에서 확인할 수 있습니다.MIG 또는 인스턴스가 더 이상 존재하지 않지만 IP 주소 예약은 여전히 존재하는 경우 고정 내부 또는 외부 주소 예약을 나열하면 됩니다.
스테이트풀(Stateful) 구성 삭제
다음 상황에서는 스테이트풀(Stateful) 구성을 삭제하는 것이 유용합니다.
이 섹션에서는 인스턴스별 구성에서 스테이트풀(Stateful) 정책을 완전히 삭제하는 방법을 설명합니다. 스테이트풀(Stateful) 정책 또는 인스턴스별 구성의 일부만 삭제해야 하는 경우에는 다음 섹션을 참조하세요.
스테이트풀(Stateful) 정책 삭제
스테이트풀(Stateful) 정책을 삭제하면 MIG의 모든 VM이 영향을 받습니다. MIG는 스테이트풀(Stateful) 정책에서 구성된 모든 스테이트풀(Stateful) 리소스를 스테이트리스(Stateless)로 취급합니다. 단, 이러한 리소스가 개별 인스턴스의 인스턴스별 구성에서 구성된 경우는 예외입니다. 이후 인스턴스 재생성, 자동 복구 또는 업데이트 작업 시 현재 스테이트리스(Stateless) 리소스는 상태를 잃을 수 있습니다.
개념 정보는 스테이트풀(Stateful) 정책에서 리소스 삭제가 보존 상태에 미치는 영향을 참조하세요.
gcloud
스테이트풀(Stateful) 정책에서 모든 구성을 삭제하려면 적용 가능한 플래그를 사용해서
gcloud compute instance-groups managed update
명령어를 실행합니다. 적용 가능한 플래그는 다음과 같습니다.예를 들어 스테이트풀(Stateful) 정책에 기기 이름이
data-disk
및logs-disk
인 스테이트풀(Stateful) 디스크 두 개의 구성이 포함되어 있고nic0
네트워크 인터페이스의 스테이트풀(Stateful) 내부 및 외부 IP 주소의 구성이 포함된 경우 다음 명령어를 실행하여 정책을 삭제합니다.gcloud compute instance-groups managed update example-group \ --zone us-east1-c \ --remove-stateful-disks data-disk,logs-disk \ --remove-stateful-internal-ips nic0 \ --remove-stateful-external-ips nic0
MIG가 스테이트풀(Stateful) 정책에서
data-disk
및logs-disk
스테이트풀(Stateful) 구성과nic0
네트워크 인터페이스의 스테이트풀(Stateful) 내부 및 외부 IP 구성을 삭제합니다. 그러면 인스턴스별 구성에 디스크 또는 IP 주소도 구성되어 있지 않는 한 MIG에서 그룹에 있는 모든 관리형 인스턴스의 보존 상태에서 이러한 디스크와 고정 IP 주소를 비동기식으로 자동 삭제합니다.REST
스테이트풀(Stateful) 정책의 모든 구성을 삭제하려면
instanceGroupManagers.patch
메서드 또는regionInstanceGroupManagers.patch
메서드를 사용하여statefulPolicy
필드를null
로 있습니다.예를 들어 다음 호출은 스테이트풀(Stateful) 정책 구성을 삭제합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": null }
MIG는 스테이트풀(Stateful) 정책 구성을 지우고 그룹의 모든 관리형 인스턴스의 보존 상태에서 스테이트풀(Stateful) 리소스를 비동기식으로 자동 삭제합니다. 단, 리소스가 인스턴스별 구성에서 구성된 경우는 예외입니다.
특정 VM의 스테이트풀(Stateful) 구성 삭제
특정 VM의 스테이트풀(Stateful) 구성 삭제는 두 단계로 진행됩니다.
변경사항이 적용된 후에는 이전에 인스턴스별 구성에서 구성된 모든 스테이트풀(Stateful) 항목이 그룹의 스테이트풀(Stateful) 정책에서도 구성되어 있지 않으면 이제 스테이트리스(Stateless)로 처리됩니다. 이후에 VM을 다시 만들거나 업데이트하면 항목 상태를 잃게 됩니다.
자세한 내용은 인스턴스별 구성에서 항목 삭제 시 보존 상태에 미치는 영향을 참조하세요.
gcloud
인스턴스별 구성을 완전히 삭제하려면
gcloud compute instance-groups managed instance-configs delete
명령어를 실행합니다.선택사항인
--update-instance
플래그를 사용하여 변경사항을 인스턴스에 즉시 적용합니다(기본값).--no-update-instance
플래그를 설정하면 다음에 인스턴스를 다시 만들거나 업데이트할 때 변경사항이 적용됩니다.--instance-update-minimal-action
플래그만--update-instance
플래그와 함께 사용할 수 있습니다.gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \ --instances INSTANCE_NAME[,INSTANCE_NAME,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
다음을 바꿉니다.
예를 들어
example-group
에서node-1
의 인스턴스별 구성을 삭제하려면 다음 명령어를 실행합니다.gcloud compute instance-groups managed instance-configs delete example-group \ --instances node-1 \ --update-instance
MIG가
node-1
의 인스턴스별 구성을 삭제하고 더 이상 이전 스테이트풀(Stateful) 항목을 스테이트풀(Stateful)로 취급하지 않습니다. VM이 업데이트되고 구성 변경사항이 적용되었기 때문입니다.REST
인스턴스 한 개 이상에서 인스턴스별 구성을 완전히 삭제하려면
instanceGroupManagers.deletePerInstanceConfigs
또는regionInstanceGroupManagers.deletePerInstanceConfigs
메서드를 사용합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs { "names": ["INSTANCE_NAME",...] }
다음을 바꿉니다.
deletePerInstanceConfig
메서드는 지정된 인스턴스별 구성을 삭제하지만 변경사항을 연결된 VM에 적용하지 않습니다. 변경사항은 인스턴스를 다시 만들거나 업데이트할 때 VM에 적용됩니다. 선택한 VM을 수동으로 업데이트하여 변경사항을 적용합니다.예를 들어
example-group
에서node-1
의 인스턴스별 구성을 삭제하려면 다음 메서드를 호출합니다.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs { "names": ["node-1"] }
이 메서드는
example-group
에서node-1
인스턴스의 인스턴스별 구성을 삭제합니다. 변경사항은 인스턴스를 다시 만들거나 업데이트할 때 관리형 인스턴스에 적용됩니다.구성 변경사항을 적용하려면
instanceGroupManagers.applyUpdatesToInstances
메서드를 호출합니다.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
이 메서드는 관리형 인스턴스의 보존 상태에서 스테이트풀(Stateful) 항목을 삭제합니다.
의견
스테이트풀(Stateful) MIG에 대한 사용 사례, 문제 또는 의견을 알고 싶습니다. mig-discuss@google.com으로 저희 팀에 의견을 공유해 주세요.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-25(UTC)
-