게스트 정책 관리(베타)

게스트 정책을 만든 후 다음 절차에 따라 정책을 검토하고 관리할 수 있습니다.

OS 구성 에이전트는 10~15분마다 실행되므로 정책 업데이트 또는 삭제를 설정하면 적용하는 데 약 10~15분이 소요됩니다.

Google Cloud CLI 또는 OS Config API를 사용하여 게스트 정책을 관리할 수 있습니다.

Google Cloud CLI 및 OS Config API에서 게스트 정책 이름은 POLICY_ID로 참조됩니다.

시작하기 전에

게스트 정책 업데이트

게스트 정책을 업데이트하려면 다음 단계를 완료하세요.

  1. YAML 또는 JSON 파일을 업데이트합니다.
  2. update 또는 patch 명령을 실행합니다. update 프로세스는 동시성 및 일관성 제어를 허용하는 etag에 대한 지원이 추가된 create 프로세스와 유사합니다.

gcloud

os-config guest-policies update 명령어를 사용하여 게스트 정책을 업데이트합니다.

gcloud beta compute os-config guest-policies update POLICY_ID \
     --file=FILE

다음을 바꿉니다.

  • POLICY_ID: 업데이트할 게스트 정책의 이름입니다.
  • FILE: 업데이트된 게스트 정책 사양이 포함된 JSON 또는 YAML 파일입니다.

API

API에서 projects.guestPolicies.patch 메서드에 대한 PATCH 요청을 만듭니다.

PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

{
  For more information, see Guest policy JSON
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • POLICY_ID: 게스트 정책의 이름입니다.

게스트 정책 설명

gcloud

게스트 정책에 대한 세부정보를 보려면 os-config guest-policies describe 명령어를 실행합니다. POLICY_ID를 설명하려는 게스트 정책의 이름으로 바꿉니다.

gcloud beta compute os-config guest-policies describe POLICY_ID

API

API에서 projects.guestPolicies.get 메서드에 대한 GET 요청을 만듭니다.

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • POLICY_ID: 게스트 정책의 이름입니다.

게스트 정책 나열

gcloud

프로젝트의 게스트 정책 목록을 보려면 os-config guest-policies list 명령어를 실행합니다.

gcloud beta compute os-config guest-policies list

API

API에서 projects.guestPolicies.list 메서드에 대한 GET 요청을 만듭니다. PROJECT_ID를 프로젝트 ID로 바꿉니다.

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies

게스트 정책 삭제

OS Config 에이전트가 게스트 정책 삭제가 트리거된 것을 감지하면 시스템의 현재 상태는 유지되지만 해당 구성에 대한 추가 유지보수는 수행되지 않습니다. 예를 들어 게스트 정책이 있다고 가정하면 package-update-zone2bus-west2-b 영역의 모든 VM에서 my-package 패키지를 설치하고 UPDATED 패키지는 보관하도록 설정합니다.

package-update-zone2b 정책을 삭제하면 다음과 같은 변경사항이 적용됩니다.

  • my-package가 설치된 us-west2-b의 모든 VM은 my-package 설치를 유지합니다. 현재 시스템 상태는 되돌릴 수 없습니다.
  • OS 구성 에이전트의 이후 모든 실행에서 정책이 삭제되면 다음이 수행됩니다.

    • 새 VM이 us-west2-b에 추가되면 이 새 VM에 my-package가 설치되지 않습니다.
    • my-package가 설치된 인스턴스의 경우 패키지가 업데이트되지 않습니다.

gcloud

게스트 정책을 삭제하려면 os-config guest-policies delete 명령어를 사용합니다. POLICY_ID를 삭제하려는 게스트 정책의 이름으로 바꿉니다.

gcloud beta compute os-config guest-policies delete POLICY_ID

API

API에서 projects.guestPolicies.delete 메서드에 대한 DELETE 요청을 만듭니다.

DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • POLICY_ID: 게스트 정책의 이름입니다.

VM 인스턴스의 구성 보기

gcloud

단일 VM 인스턴스에 적용되는 정책을 확인하려면 os-config guest-policies lookup 명령어를 실행합니다.

gcloud beta compute os-config guest-policies lookup VM_NAME \
    --zone=ZONE

다음을 바꿉니다.

  • VM_NAME: VM 인스턴스의 이름입니다.
  • ZONE: VM 인스턴스의 영역입니다.

API

단일 VM 인스턴스에 적용되는 정책을 보려면 다음 POST 요청을 사용합니다.

POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM 인스턴스의 영역입니다.
  • VM_NAME: VM 인스턴스의 이름입니다.

문제 해결

게스트 정책 검사

Cloud Console 또는 Google Cloud CLI를 사용하여 프로젝트와 관련된 게스트 정책을 검사할 수 있습니다.

Console

  1. Google Cloud Console에서 OS 게스트 정책 페이지로 이동합니다.

    OS 게스트 정책 페이지로 이동

  2. 검사할 게스트 정책을 선택한 다음 세부정보 보기를 클릭합니다.

gcloud

  1. os-config guest-policies list 명령어를 사용하여 모든 게스트 정책을 나열합니다.

    gcloud beta compute os-config guest-policies list
    
  2. 게스트 정책 목록에서 검사할 게스트 정책의 ID를 복사한 후 다음 명령어를 실행하여 각 게스트 정책을 검사합니다. POLICY_ID를 검토할 정책 ID로 바꿉니다.

    gcloud beta compute os-config guest-policies describe POLICY_ID
    

특정 VM의 게스트 정책 검사

지정된 VM에 대해 lookup 명령어를 실행하여 해당 VM에 적용되는 구성을 볼 수 있습니다.

VM에 예상 게스트 정책의 요구사항이 적용되지 않은 것처럼 보이면 특정 VM 인스턴스가 포함된 할당의 게스트 정책 목록을 검사하는 것이 좋습니다. 이렇게 하면 게스트 정책의 Assignment 필드가 이 특정한 VM과 일치하는지 확인할 수 있습니다.

os-config guest-policies lookup 명령어를 사용하여 특정 VM을 타겟팅할 수 있는 게스트 정책을 나열합니다. VM_NAME을 검사할 VM의 이름으로 바꿉니다.

gcloud beta compute os-config guest-policies lookup VM_NAME

자세한 내용은 VM 인스턴스의 구성 보기를 참조하세요.

명령어의 출력에서 VM이 게스트 정책의 VM 할당 속성에 실제로 타겟팅되지 않았음을 확인할 수 있습니다. 예를 들어 Labels 목록 또는 VM 이름 프리픽스 목록에 나열되지 않을 수 있습니다.

오류에서 복구

실패한 소프트웨어 레시피 설치는 재시도되지 않습니다. 이는 시스템이 실패한 소프트웨어 레시피의 상태를 알지 못하기 때문입니다.

실패한 소프트웨어 레시피를 디버깅할 경우 다음 단계를 수행하는 것이 좋습니다.

  1. 소프트웨어 레시피 이름을 바꿉니다.
  2. 게스트 정책을 삭제하고 이름이 변경된 소프트웨어 레시피를 사용하여 다시 만듭니다.

추가 문제 해결 단계는 VM Manager 문제 해결을 참조하세요.

다음 단계