중첩된 가상화 제약조건 관리


이 문서에서는 중첩된 가상화가 사용 설정되었는지 여부와 조직, 프로젝트 또는 폴더에 중첩된 가상화가 사용 설정되었는지 여부를 제어하는 부울 제약조건을 수정하는 방법을 설명합니다.

조직 정책 내 부울 제약조건은 중첩된 VM을 만들 수 있는지 여부를 결정합니다. 중첩된 가상화의 부울 제약조건은 제한사항입니다. 즉, 제약조건이 적용되면 조직 정책에서 중첩 VM 생성을 제한한다는 의미입니다. 부울 제약조건에 대한 자세한 내용은 제약조건 이해를 참조하세요.

VM 중첩 가상화 중지 제약조건은 기본적으로 적용되지 않으므로 중첩된 가상화를 사용 설정하기 위해 부울 제약조건을 수정할 필요가 없습니다. 이렇게 해도 조직, 폴더, 프로젝트에서 기본 설정을 사용하지 않도록 제약조건 값을 명시적으로 설정하는 것이 좋습니다. 프로젝트가 조직에 종속되지 않으면 제약조건이 기본적으로 적용되지 않으며 제약조건을 변경할 수 없습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

중첩된 가상화 허용 여부 확인

Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 조직, 폴더 또는 프로젝트에 중첩된 가상화가 허용되는지 확인합니다.

콘솔

중첩된 가상화를 중지하는 부울 제약조건이 적용되지 않는지 확인하여 조직, 폴더 또는 프로젝트에 중첩된 VM을 만들 수 있는지 확인합니다. 조직 정책에 의해 VM 중첩 가상화 중지 제약조건이 적용되지 않으면 중첩된 VM을 만들 수 있습니다.

  1. Google Cloud Console에서 조직 정책 페이지로 이동합니다.

    조직 정책으로 이동

  2. 조직, 폴더, 프로젝트 선택기에서 조직 정책을 보려는 항목을 선택합니다.

  3. VM 중첩 가상화 중지 제약조건을 선택하여 정책 세부정보 페이지를 엽니다.

  4. 시행 값을 봅니다.

    • 값이 적용되지 않음이면 중첩된 가상화가 사용 설정되며 중첩된 VM을 만들 수 있습니다.

    • 값이 적용됨이면 중첩된 가상화가 사용 중지되고 중첩된 VM을 만들 수 없습니다.

gcloud

gcloud resource-manager org-policies describe 명령어를 사용하여 compute.disableNestedVirtualization 부울 제약조건 값을 확인합니다.

Google Cloud CLI 출력에 booleanPolicy 값이 표시되지 않으면 중첩된 가상화가 허용된 것이며 중첩된 VM을 만들 수 있습니다.

booleanPolicy의 Google Cloud CLI 출력 값이 enforced: true이면 조직 정책이 중첩된 가상화 사용 중지 제약조건을 적용하며 중첩된 VM을 만들 수 없습니다.

gcloud resource-manager org-policies \
  describe constraints/compute.disableNestedVirtualization \
  (--organization=ORGANIZATION_ID | --folder=FOLDER_ID |
  --project=PROJECT_ID) --effective

다음 중 정확히 하나를 바꿉니다.

  • ORGANIZATION_ID: 제약조건 값을 가져올 조직의 ID입니다. 액세스 가능한 조직과 해당 ID의 목록을 보려면 gcloud organizations list 명령어를 실행합니다.

  • FOLDER_ID: 제약조건 값을 가져올 폴더의 ID입니다. 액세스 가능한 폴더와 해당 ID의 목록을 보려면 gcloud resource-manager folders list 명령어를 실행합니다.

  • PROJECT_ID: 제약조건 값을 가져올 프로젝트의 ID입니다. 액세스 가능한 프로젝트와 해당 ID 목록을 보려면 gcloud projects list 명령어를 실행합니다.

REST

REST를 사용하여 조직, 폴더 또는 프로젝트에 중첩된 VM을 만들 수 있는지 여부를 결정하는 compute.disableNestedVirtualization 부울 제약조건의 값을 확인합니다.

REST 응답에서 제약조건의 "booleanPolicy" 값을 반환하지 않으면 중첩된 가상화가 중지되며 중첩된 VM을 만들 수 있습니다.

출력의 "booleanPolicy" 값이 "enforced": true이면 중첩된 가상화가 중지되고 중첩된 VM을 만들 수 없습니다.

POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:getOrgPolicy

{
  "constraint": "compute.disableNestedVirtualization"
}

다음을 바꿉니다.

중첩된 가상화 조직 정책 수정

적절한 역할이 있으면 조직, 폴더 또는 프로젝트에서 중첩된 VM을 만들 수 있는지 여부를 제어할 수 있습니다. 중첩된 가상화의 부울 제약조건을 사용하여 이 시행을 제어합니다.

Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 조직, 폴더 또는 프로젝트에 중첩된 가상화를 사용 설정합니다.

콘솔

중첩된 가상화를 사용 설정하려면 VM 중첩 가상화 사용 중지 부울 제약조건의 적용을 중지하고, 중첩된 가상화를 사용 중지하려면 부울 제약조건의 적용을 사용 설정합니다.

  1. Google Cloud Console에서 조직 정책 페이지로 이동합니다.

    조직 정책으로 이동

  2. 조직, 폴더, 프로젝트 선택기에서 조직 정책을 수정하려는 항목을 선택합니다.

  3. VM 중첩 가상화 중지 제약조건을 선택하여 정책 세부정보 페이지를 엽니다.

  4. 수정을 클릭한 후 맞춤설정을 선택합니다.

  5. 시행에서 VM 중첩 가상화 중지 부울 제약조건에 다음 시행 옵션 중 하나를 선택합니다.

    • 사용: 시행을 사용 설정하고 중첩된 가상화를 중지합니다.
    • 사용 안함: 시행을 중지하고 중첩된 가상화를 사용 설정합니다.
  6. 저장을 클릭합니다.

gcloud

gcloud resource-manager org-policies 명령어를 사용하여 compute.disableNestedVirtualization 조직 정책 부울 제약조건의 시행을 사용 설정하거나 중지합니다.

disable-enforce 명령어를 사용하여 compute.disableNestedVirtualization 제약조건을 중지하면 중첩된 가상화가 사용 설정된 VM을 만들 수 있습니다.

enable-enforce 명령어를 사용하여 제약조건을 사용 설정하면 중첩된 가상화가 사용 설정된 VM을 만들 수 없습니다.

gcloud resource-manager org-policies \
  ( disable-enforce | enable-enforce ) compute.disableNestedVirtualization \
  (--organization=ORGANIZATION_ID | --folder=FOLDER_ID |
  --project=PROJECT_ID)

다음 중 정확히 하나를 바꿉니다.

  • ORGANIZATION_ID: 제약조건 값을 수정할 조직의 ID입니다. 액세스 가능한 조직과 해당 ID의 목록을 보려면 gcloud organizations list 명령어를 실행합니다.

  • FOLDER_ID: 제약조건 값을 수정할 폴더의 ID입니다. 액세스 가능한 폴더와 해당 ID의 목록을 보려면 gcloud resource-manager folders list 명령어를 실행합니다.

  • PROJECT_ID: 제약조건 값을 수정할 프로젝트의 ID입니다. 액세스 가능한 프로젝트와 해당 ID 목록을 보려면 gcloud projects list 명령어를 실행합니다.

REST

REST를 사용하여 조직, 폴더 또는 프로젝트에 중첩된 VM을 만들 수 있는지 여부를 결정하는 compute.disableNestedVirtualization 부울 제약조건의 값을 수정합니다.

POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:setOrgPolicy

{
  "policy": {
    "booleanPolicy": {
      "enforced": ENFORCE
    },
    "constraint": "constraints/compute.disableNestedVirtualization"
  }
}

다음을 바꿉니다.

  • RESOURCE: 조직 정책을 수정할 리소스입니다. 다음 중 하나로 설정합니다.

  • RESOURCE_ID: 중첩된 가상화 중지 제약조건의 상태를 확인할 조직, 폴더 또는 프로젝트입니다.

  • ENFORCE: 조직 정책에서 compute.disableNestedVirtualization 부울 제약조건을 적용할지 여부를 결정합니다. 다음 중 하나로 설정합니다.

    • true: 제약조건을 적용합니다. 이 설정을 사용하면 중첩된 가상화가 사용 설정된 VM을 만들 수 없습니다.

    • false: 제약조건을 적용하지 않습니다. 이 설정을 사용하면 중첩된 가상화가 사용 설정된 VM을 만들 수 있습니다.

다음 단계