운영 에이전트 OS 정책이 적용되는 VM 관리

생성 중에 운영 에이전트가 설치된 Compute Engine VM을 만들었거나 경우에 따라 Google Cloud 콘솔을 사용하여 기존 VM에 에이전트를 설치한 경우 Google Cloud에서 운영 에이전트를 설치하고 모니터링하는 VM Manager OS 정책도 만듭니다. 이 문서에서는 이러한 운영 에이전트 OS 정책을 쿼리하고 정책이 적용되는 VM에서 운영 에이전트를 관리하는 방법을 설명합니다. 운영 에이전트가 자동으로 설치된 VM을 만드는 방법에 대한 자세한 내용은 VM 생성 중에 운영 에이전트 설치를 참조하세요.

운영 에이전트 OS 정책을 만든 후 다음을 수행할 수 있습니다.

  • 정책이 적용되는 VM을 결정합니다.
  • 정책이 적용되는 영역을 결정합니다.
  • 정책 적용 범위를 기존 VM으로 확장합니다.
  • 정책이 적용되는 VM에서 에이전트를 제거합니다.

운영 에이전트 OS 정책이 적용되는 VM 찾기

Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 OS 정책 할당을 통해 운영 에이전트 OS 정책이 적용되는 Google Cloud 프로젝트의 VM을 확인할 수 있습니다. VM에 적용 범위가 누락되었다고 생각되면 다음을 수행하여 문제를 해결할 수 있습니다.

영역의 VM에 운영 에이전트 OS 정책이 할당되어 있는지 확인

영역의 VM에 운영 에이전트 OS 정책이 적용되는지 확인하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용하여 VM이 운영 에이전트 OS 정책 할당과 관련이 있는지 확인합니다.

콘솔

  1. Google Cloud 콘솔에서 OS 정책 페이지로 이동합니다.

    OS 정책으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.

  2. VM 인스턴스 탭에서 확인할 VM을 선택합니다.

  3. VM에 운영 에이전트 OS 정책이 적용되는 경우 OS 정책 ID 열에 goog-ops-agent-policy가 포함되고 상태는 'Compliant'로 표시됩니다.

gcloud

영역의 운영 에이전트 OS 정책 할당 목록을 표시하려면 다음 명령어를 실행합니다.

gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"

출력에 운영 에이전트 OS 정책 할당이 포함된 VM 목록이 표시됩니다. 운영 에이전트가 VM에 설치된 경우 요약 열에 '1/1 policies compliant' 값이 포함됩니다.

INSTANCE    ASSIGNMENT_ID                                    LOCATION    UPDATE_TIME                  SUMMARY
instance-1  goog-ops-agent-v2-x86-template-1-0-0-us-east4-c  us-east4-c  2023-04-28T02:11:15.118088Z  1/1 policies compliant
instance-3  goog-ops-agent-v2-x86-template-1-0-0-us-east4-c  us-east4-c  2023-04-28T02:11:15.118088Z  1/1 policies compliant

VM에 운영 에이전트 OS 정책 라벨이 있는지 확인

Google Cloud 프로젝트의 VM에 운영 에이전트 OS 정책 라벨인 goog-ops-agent-policy가 있는지 확인하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용합니다.

콘솔

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

    VM 인스턴스로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.

  2. VM의 이름을 선택합니다.

  3. 기본 정보 패널에서 라벨 항목을 찾습니다.

    VM에 운영 에이전트 OS 정책이 적용되는 경우 goog-ops-agent-policy:v2-x86-template-1-0-0과 같은 라벨이 표시됩니다.

gcloud

운영 에이전트 OS 정책 라벨 goog-ops-agent-policy가 있는 모든 VM을 보려면 다음 명령어를 실행합니다.

gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"

출력에 VM의 이름, 영역, 라벨이 표시됩니다. 예를 들면 다음과 같습니다.

NAME                  ZONE           LABELS
test-vm1              us-central1-a  {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}
test-vm1              us-east4-c     {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}

특정 VM에 운영 에이전트 OS 정책 라벨이 있는지 확인하려면 다음 명령어를 실행합니다.

gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME

VM의 라벨 목록이 출력에 표시됩니다. VM에 운영 에이전트 OS 정책 라벨이 있으면 goog-ops-agent-policylabels 목록에 표시됩니다. 예를 들면 다음과 같습니다.

labels:
  goog-ops-agent-policy: v2-x86-template-1-0-0

운영 에이전트 OS 정책 할당이 성공적으로 적용되었는지 확인

Google Cloud 프로젝트 OS 정책 할당을 보고 운영 에이전트 OS 정책 할당이 특정 영역에 올바르게 배포되었는지 확인합니다.

콘솔

  1. Google Cloud 콘솔에서 OS 정책 페이지로 이동합니다.

    OS 정책으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.

  2. OS 정책 적용 상태를 보려면 OS 정책 할당 탭을 클릭합니다.

    운영 에이전트 OS 정책 할당에는 'goog-ops-agent' 문자열로 시작하는 ID가 있습니다. 할당이 성공적으로 출시되었으면 출시 상태가 'Succeeded'로 표시됩니다.

gcloud

영역의 모든 운영 에이전트 OS 정책 할당을 보려면 다음 명령어를 실행합니다.

gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"

영역의 운영 에이전트 OS 정책 할당 목록이 출력에 표시됩니다. 할당이 성공적으로 출시되었으면 출시 상태가 'SUCCEEDED'로 표시됩니다. 예를 들면 다음과 같습니다.

ASSIGNMENT_ID                                       ROLLOUT_STATE    REVISION_CREATE_TIME       REVISION_ID
goog-ops-agent-v2-x86-template-1-4-0-us-central1-b  SUCCEEDED        2023-01-28T05:23:41Z.      940df3e9-77fd-470b-84df-53fb24825c4a
goog-ops-agent-v2-x86-template-1-0-0-us-central1-b  SUCCEEDED        2022-01-28T05:23:41Z.      qwareaff-efte-erew-aeet-faer234t4gga

특정 운영 에이전트 OS 정책 할당의 세부정보를 보려면 다음 명령어를 실행합니다.

gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE

운영 에이전트 OS 정책이 적용되는 VM에서 운영 에이전트 제거

운영 에이전트 OS 정책이 적용되는 VM에서 수동으로 운영 에이전트를 제거하면 정책에서 이를 다시 설치합니다. 운영 에이전트를 제거하려면 먼저 VM에서 goog-ops-agent-policy 라벨을 삭제해야 합니다. VM에서 운영 에이전트 OS 정책 라벨을 삭제한 후에 운영 에이전트를 영구적으로 제거할 수 있습니다.

특정 VM에서 운영 에이전트 제거

특정 VM에서 정책을 삭제하고 운영 에이전트를 제거하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용하면 됩니다.

콘솔

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

    VM 인스턴스로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.

  2. 수정할 VM의 이름을 선택합니다.

  3. 수정을 클릭합니다.

  4. 라벨 섹션으로 이동한 다음 + 라벨 추가를 클릭합니다.

  5. goog-ops-agent-policy 키가 있는 라벨을 찾아 항목 삭제를 클릭합니다.

  6. 에이전트를 제거합니다.

gcloud

  1. VM에서 goog-ops-agent-policy 라벨을 제거하려면 다음 명령어를 실행합니다.

    gcloud compute instances update VM_NAME \
      --remove-labels=goog-ops-agent-policy
    
  2. 에이전트를 제거합니다.

모든 VM에서 운영 에이전트 제거

운영 에이전트 OS 정책 할당이 있는 영역의 VM에서 운영 에이전트를 제거하려면 Cloud Monitoring에서 제공하는 스크립트를 사용합니다. Google Cloud 콘솔을 사용하여 VM 그룹에서 에이전트를 제거할 수 없습니다.

스크립트를 실행하려면 GuestPolicy 편집자 역할(roles/osconfig.guestPolicyEditor)이 있어야 합니다.

Cloud Shell에서 다음 스크립트를 실행합니다. 원하는 수만큼 영역을 제공할 수 있습니다.

curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh
bash undo-ops-agent-policies.sh ZONE1 ZONE2

스크립트는 각 영역에서 다음 태스크를 수행합니다.

  1. 모든 운영 에이전트 OS 정책을 찾습니다.
  2. 적용되는 VM에서 운영 에이전트를 제거하도록 각 정책을 수정합니다.
  3. 운영 에이전트 OS 정책을 삭제합니다.
  4. 적용되는 각 VM에서 goog-ops-agent-policy 라벨을 삭제합니다.

기존 VM에 운영 에이전트 OS 정책 적용 범위 추가

운영 에이전트 OS 정책은 goog-ops-agent-policy 라벨이 있고 기존 운영 에이전트 OS 정책 할당과 동일한 영역에 있는 VM에만 적용됩니다. 그러나 운영 에이전트 OS 정책을 할당하지 않고 만든 다른 VM으로 적용 범위를 확장할 수 있습니다.

정책 적용 범위를 특정 VM 하나로 확장하려면 영역에 있는 운영 에이전트 OS 정책 할당의 템플릿 버전을 알아야 합니다. 영역에 여러 운영 에이전트 OS 정책 할당이 있는 경우 최신 템플릿 버전의 할당을 찾습니다. 영역의 운영 에이전트 OS 정책 할당 목록을 표시하려면 다음 명령어를 실행합니다.

gcloud compute os-config os-policy-assignments list --location=ZONE
  --filter="ASSIGNMENT_ID ~ goog-ops-agent"

정책 적용 범위를 다른 여러 VM으로 확장하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용합니다.

콘솔

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

    VM 인스턴스로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.

  2. VM 인스턴스 목록에서 라벨을 지정할 VM 옆에 있는 체크박스를 선택한 후 라벨을 클릭합니다.

  3. 라벨을 추가하려면 +라벨 추가를 클릭하고 키-값 쌍을 추가합니다. 키는 goog-ops-agent-policy여야 하고 값은 원하는 템플릿 버전(예: 1-0-0)입니다.

  4. 변경사항을 저장합니다.

gcloud

적용 범위가 없는 VM으로 정책 적용 범위를 확장하려면 다음 명령어를 실행합니다.

gcloud compute instances update VM_NAME --zone=ZONE
  --update-labels=goog-ops-agent-policy:v2-x86-template-1-0-0
gcloud compute instances add-metadata VM_NAME --zone=ZONE
  --metadata=enable-osconfig=TRUE

권한

운영 에이전트 설치는 VM Manager를 사용하며 VM Manager API를 활성화하고 정책을 만들 권한이 필요합니다. 필요한 권한은 모두 편집자 역할(roles/Editor)을 사용하여 제공됩니다. 또는 프로젝트 관리자에게 Google Cloud CLI를 사용하여 최소한의 권한을 부여해 달라고 요청할 수 있습니다.

VM을 만드는 동안 운영 에이전트를 설치하는 데 필요한 권한:

  • serviceusage.services.get
  • serviceusage.services.enable
  • osconfig.osPolicyAssignments.get
  • osconfig.osPolicyAssignments.create
  • osconfig.projectBillingConfigs.update
  • compute.instances.create

기존 VM에 운영 에이전트를 설치하는 데 필요한 권한:

  • serviceusage.services.get
  • serviceusage.services.enable
  • osconfig.osPolicyAssignments.get
  • osconfig.osPolicyAssignments.create
  • osconfig.projectBillingConfigs.update
  • compute.instances.setMetadata
  • compute.instances.setLabels

osconfig.projectBillingConfigs.update 권한을 제외하고 이러한 권한을 제공하는 해당 역할은 IAM 기본 및 사전 정의된 역할 참조에서 확인할 수 있습니다. 이 권한은 osconfig.projectBillingConfig 역할에 포함되어 있습니다. 이 역할은 Google Cloud 콘솔에서 사용할 수 없지만 gcloud CLI를 통해 부여할 수 있습니다.

권한의 역할을 부여하는 샘플 명령어:

gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectBillingConfigEditor'