다음 섹션에서는 다양한 구성, 관리형 인스턴스 그룹(MIG) 작업 또는 인스턴스 수명 주기 이벤트가 어떻게 스테이트풀(Stateful) MIG에 있는 관리형 인스턴스의 보존 상태에 영향을 미치는지 알아봅니다.
자동 복구 시 보존 상태 처리 방법
가상 머신 (VM) 인스턴스가 실행을 중지하거나 비정상 상태가 되면 자동 복구가 VM을 다시 만들고 구성된 항목의 보존 상태를 유지합니다.
- MIG는 스테이트풀(Stateful) 디스크 및 IP 주소를 보존하고 VM 재생성 시 다시 연결합니다.
- MIG는 인스턴스별 구성에서 구성된 스테이트풀(Stateful) 메타데이터를 보존하고 VM을 다시 만들 때 설정합니다.
손상된 스테이트풀(Stateful) 부팅 디스크로 인한 VM 인스턴스 재생성 실패를 방지하려면 자동 복구가 원본 이미지를 사용하여 디스크를 처음부터 다시 만들 수 있도록 부팅 디스크를 스테이트리스(Stateless)로 유지합니다.
인스턴스 업데이트 시 보존 상태 처리 방법
인스턴스를 업데이트하면 MIG는 인스턴스의 보존 상태(디스크, IP 주소, 메타데이터)를 유지합니다.
- MIG는 스테이트풀(Stateful) 디스크 및 IP 주소를 보존하고 업데이트 중에 VM 인스턴스가 재생성되거나 다시 시작되면 다시 연결합니다.
- MIG는 인스턴스별 구성에서 구성된 스테이트풀(Stateful) 메타데이터를 보존하고 업데이트 시 인스턴스에 설정합니다.
새 인스턴스 템플릿을 설정할 경우 지정한 모든 디스크를 스테이트풀(Stateful) 정책에 정의해야 합니다. 스테이트풀(Stateful) 정책에 정의한 디스크가 생략된 새 인스턴스 템플릿을 설정할 수 없습니다. 따라서 실수로 인해 스테이트풀(Stateful) 디스크가 삭제되는 것을 방지할 수 있습니다.
스테이트풀(Stateful) 정책에 정의된 스테이트풀(Stateful) 디스크를 MIG에서 삭제하려면 다음 절차를 사용합니다.
- 스테이트풀(Stateful) 정책에서 디스크 구성을 삭제합니다.
- (선택사항) 디스크를 계속 유지하려면 VM 인스턴스에서 디스크를 분리합니다.
- 더 이상 디스크를 정의하지 않는 새 인스턴스 템플릿을 출시합니다.
스테이트풀(Stateful) 디스크를 새 이미지로 업데이트할 수 없습니다. 업데이트하는 동안 이러한 디스크를 보존해야 하는데 새 이미지로 업데이트하려면 디스크를 다시 만들어야 하기 때문입니다.
부팅 디스크와 바이너리 또는 임시 파일이 있는 디스크를 스테이트리스(Stateless)로 유지하고 스테이트풀(Stateful) 디스크에 데이터를 보관하는 것이 좋습니다. 이러한 구성은 다음 동작을 지원합니다.
- 부팅 디스크와 바이너리가 있는 디스크를 새 버전과 보안 패치가 포함된 최신 이미지로 간편하게 자동으로 업데이트할 수 있습니다. 자동 업데이트를 사용하거나 인스턴스를 수동으로 업데이트하여 스테이트리스(Stateless) 디스크를 다시 만들 수 있고 데이터를 별도의 스테이트풀(Stateful) 디스크에 그대로 유지할 수 있습니다.
- 다른 업데이트를 인스턴스에 출시할 경우 스테이트풀(Stateful) 디스크에 데이터를 보존할 수 있습니다.
예를 들어 동일한 디스크에 바이너리와 데이터를 보관하는 기존 애플리케이션을 호스팅하도록 부팅 디스크를 스테이트풀(Stateful)로 구성할 수 있습니다. 이렇게 하면 애플리케이션을 MIG로 이동하여 자동 복구의 이점을 누릴 수 있습니다. 하지만 이러한 경우에는 Debian 시스템에서 apt와 같은 패키지 관리자를 사용하여 개별 패키지를 업데이트하거나 구성 관리 도구를 사용하여 소프트웨어와 운영체제를 직접 업데이트해야 합니다.
스테이트풀(Stateful) 디스크 또는 메타데이터를 구성하지 않고 커스텀 인스턴스 이름만 구성한 경우 자동 순차적 업데이트를 사용할 수 있습니다. 자동 순차적 업데이트의 경우 업데이터의 대체 정책을 RECREATE
로 설정해야 합니다.
SUBSTITUTE
대체 메서드를 사용하여 스테이트풀(Stateful) MIG의 인스턴스를 자동 업데이트할 수 없습니다. 이 메서드는 각 기존 VM을 다른 이름과 보존 상태를 가진 새 VM으로 대체하기 때문입니다.
그룹 크기 조절이 보존 상태에 미치는 영향
그룹 크기 줄이기
MIG가 삭제할 VM 인스턴스를 선택하고 보존해야 할 VM을 선택할 수 있으므로 스테이트풀(Stateful) MIG의 크기를 줄이지 않는 것이 좋습니다. 더 이상 필요하지 않은 특정 인스턴스를 삭제하여 MIG VM 인스턴스를 통제된 방식으로 삭제할 수 있습니다.
MIG 크기를 줄이면 MIG는 모든 추가 VM 인스턴스를 연결된 보존 상태와 함께 삭제합니다. 이를 방지하려면 영구 VM 인스턴스를 삭제할 때 MIG가 스테이트풀(Stateful) 디스크와 IP 주소를 분리하고 보존하도록 구성하면 됩니다. 스테이트풀(Stateful) 메타데이터는 보존 상태와 함께 삭제됩니다. 자세한 내용은 인스턴스 삭제가 보존 상태에 미치는 영향을 참조하세요.
그룹 크기 늘리기
스테이트풀(Stateful) MIG 크기를 늘리면 그룹은 자동으로 생성된 이름(기본 인스턴스 이름 + 서픽스)으로 현재 인스턴스 템플릿에서 VM을 만듭니다. 해당 관리형 인스턴스의 preservedStateFromPolicy
에서 적용된 스테이트풀(Stateful) 구성을 확인할 수 있습니다. MIG가 인스턴스를 만들면 이러한 인스턴스의 인스턴스별 구성에서 스테이트풀(Stateful) 메타데이터와 추가 스테이트풀(Stateful) 디스크 또는 IP 주소를 정의할 수 있습니다.
커스텀 인스턴스 이름을 선택하고 직접 인스턴스를 만들어 그룹 크기를 늘릴 수 있습니다. 이때 각 인스턴스에 스테이트풀(Stateful) 메타데이터, IP 주소, 디스크가 포함된 인스턴스별 구성을 제공하여 상태를 부트스트랩할 수 있습니다.
인스턴스 삭제가 보존 상태에 미치는 영향
MIG의 VM은 다음 경우에 영구 삭제됩니다.
- 그룹 크기를 줄일 때 MIG에서 이 VM 인스턴스를 삭제할 인스턴스로 선택한 경우
- 전체 그룹을 삭제한 경우
- MIG에서 구체적으로 인스턴스를 삭제한 경우
VM이 영구 삭제되면 MIG는 보존 상태 구성을 비롯해 해당 인스턴스별 구성과 관리형 인스턴스도 삭제합니다.
영구 VM을 삭제하면 모든 스테이트풀(Stateful) 메타데이터 키-값 쌍이 손실됩니다.
스테이트풀(Stateful) 정책 또는 인스턴스별 구성에서 각 리소스에 autoDelete
플래그를 설정하면 영구 디스크를 삭제할 때 스테이트풀(Stateful) 디스크와 IP 주소 유지 또는 삭제 여부를 구성할 수 있습니다. 이 플래그는 다음 두 가지 옵션을 지원합니다.
NEVER
: (기본값) MIG가 디스크를 삭제하지 않습니다.ON_PERMANENT_INSTANCE_DELETION
: 인스턴스가 영구 삭제되면 MIG가 디스크를 삭제합니다.
인스턴스가 자동 복구, 업데이트 또는 재생성되면 MIG는 스테이트풀(Stateful) 리소스를 삭제하지 않습니다.
다음 예시에서 MIG에는 인스턴스별 구성으로 정의된 보존 상태의 단일 VM node-1
이 있습니다. 보존 상태에는 디스크 두 개(파란색 및 녹색)와 id:xyz273
메타데이터가 포함됩니다. MIG 크기를 0으로 조절하면 MIG는 node-1
인스턴스를 영구 삭제하여 다음과 같은 결과가 발생합니다.
- MIG는 관리형 인스턴스와 보존 상태 구성을 삭제합니다.
- MIG는 인스턴스의 인스턴스별 구성을 삭제합니다.
- MIG는 실제 VM 인스턴스 리소스를 삭제합니다.
- VM 인스턴스와 보존 상태 구성이 삭제되므로
id:xyz273
메타데이터가 손실됩니다. - 이 디스크에서는 인스턴스별 구성에
autoDelete: ON_PERMANENT_INSTANCE_DELETION
이 있으므로 스테이트풀(Stateful) 파란색 디스크가 삭제됩니다. - 이 디스크에서는 인스턴스별 구성에
autoDelete:NEVER
가 있으므로 스테이트풀(Stateful) 녹색 디스크가 분리됩니다.
인스턴스 중단이 보존 상태에 미치는 영향
MIG에서 VM 인스턴스를 폐기하면 스테이트풀(Stateful) 메타데이터, IP 주소, 디스크가 포함된 VM 상태가 MIG 외부에 있는 인스턴스에 남게 됩니다. VM이 더 이상 MIG에서 관리되지 않으므로 MIG는 인스턴스의 보존 상태 구성을 비롯해 해당 인스턴스별 구성과 관리형 인스턴스를 삭제합니다.
다음 예시에서 VM node-1
에는 스테이트풀(Stateful) 정책(파란색 디스크)과 인스턴스별 구성(녹색 디스크 및 메타데이터 id:xyz273
)에서 정의된 보존 상태가 있습니다. MIG에서 node-1
인스턴스를 폐기하면 보존 상태가 다음과 같이 됩니다.
- 독립형 VM 인스턴스
node-1
상태가 유지됩니다. 모든 디스크가 연결된 상태로 유지되고 메타데이터id:xyz273
은 VM에 설정된 상태로 유지됩니다. - MIG는 관리형 인스턴스와 보존 상태 구성을 삭제합니다.
- MIG는 인스턴스의 인스턴스별 구성을 삭제합니다.
- 스테이트풀(Stateful) 정책은 MIG의 모든 인스턴스에 적용될 수 있으므로 변경되지 않습니다.
리전 그룹에서 보존 상태 처리 방법
스테이트풀(Stateful) 리전 MIG는 여러 영역에 VM 인스턴스를 만든다는 점을 제외하고 영역 MIG와 동일한 방식으로 인스턴스의 보존 상태를 처리합니다.
- 인스턴스를 만들 때 리전 MIG는 리전의 영역 간에 VM을 균등하게 배포하여 영역 수준 장애 발생 시 앱의 가용성을 극대화합니다.
- 기존 인스턴스에서 스테이트풀(Stateful) 리전 MIG는 영역 간에 기존 VM을 자동으로 재배포하거나 이동할 수 없습니다. 보존 상태가 특정 영역에 저장되고 이동할 수 없기 때문입니다. 따라서 스테이트풀(Stateful) 리전 MIG는
NONE
의 인스턴스 재배포 유형 설정만 지원합니다.
의견 보내기
스테이트풀(Stateful) MIG에 대한 사용 사례, 문제 또는 의견을 알고 싶습니다. mig-discuss@google.com으로 저희 팀에 의견을 공유해 주세요.
다음 단계
- 스테이트풀(Stateful) MIG의 작동 방식 알아보기
- 스테이트풀(Stateful) MIG 구성을 참조하여 관리형 인스턴스에서 인스턴스 이름, 영구 디스크, 메타데이터를 보존하여 스테이트풀(Stateful) 워크로드를 지원하는 방법 알아보기
- 관리형 인스턴스 그룹 자세히 알아보기
- 관리형 인스턴스 작업