Windows VM을 도메인에 자동으로 조인

이 페이지에서는 Microsoft Active Directory용 관리형 서비스의 자동 도메인 조인 기능을 사용하여 Windows Compute Engine VM 인스턴스를 도메인에 조인하는 방법을 설명합니다.

관리형 Microsoft AD가 Windows VM을 도메인에 자동으로 조인하는 방법

관리형 Microsoft AD를 사용하여 VM에서 실행되는 애플리케이션을 인증하려면 VM을 관리형 Microsoft AD 도메인에 조인해야 합니다. 도메인 조인 프로세스에는 일반적으로 몇 가지 수동 단계를 수행하는 것이 포함됩니다.

Windows Compute Engine VM을 만들거나 업데이트할 때 스크립트를 사용해 수동 접근 방식을 자동화하여 VM을 관리형 Microsoft AD 도메인에 조인할 수 있습니다. 그러나 Compute Engine VM에서 이러한 스크립트를 실행하려면 안전하게 저장하고 유지보수해야 하는 AD 사용자 인증 정보와 이러한 스크립트를 프로비저닝하고 실행할 환경이 필요합니다. 사용자 인증 정보 및 추가 서비스를 사용할 필요가 없도록 관리형 Microsoft AD에서 제공하는 바로 활용할 수 있는 스크립트를 사용하여 도메인 조인 프로세스를 자동화할 수 있습니다.

Compute Engine VM을 만들 때 스크립트를 사용하여 VM을 관리형 Microsoft AD 도메인에 자동으로 조인할 수 있습니다. Compute Engine이 VM을 만들면 관리형 Microsoft AD가 도메인 조인 요청을 시작하고 VM을 도메인과 조인하려고 시도합니다. 도메인 조인 요청이 성공하면 관리형 Microsoft AD가 생성된 VM을 도메인에 조인합니다. 도메인 조인 요청이 실패하면 생성된 VM이 계속 실행됩니다. 보안 또는 청구 목적으로 이 동작을 맞춤설정할 수 있으며 관리형 Microsoft AD는 도메인 조인 요청 실패 시 VM을 중지할 수 있습니다.

Compute Engine VM을 업데이트할 때 스크립트를 사용하여 기존 VM을 관리형 Microsoft AD 도메인에 자동으로 조인할 수 있습니다. 도메인 조인 요청이 성공하려면 관리형 Microsoft AD에서 스크립트를 실행한 후 VM을 다시 시작합니다.

시작하기 전에

  1. 관리형 Microsoft AD 도메인 만들기.

  2. VM 이름이 최대 15자인지 확인합니다.

  3. VM이 관리형 Microsoft AD가 지원하는 Windows 버전에서 실행되는지 확인합니다.

  4. 관리형 Microsoft AD 도메인과 VM 네트워크 간에 도메인 피어링을 구성하거나 관리형 Microsoft AD 도메인과 VM을 모두 동일한 네트워크에 배치합니다.

  5. 관리형 Microsoft AD 도메인이 있는 프로젝트에서 Google Cloud 관리형 ID 도메인 조인(roles/managedidentities.domainJoin) IAM 역할을 사용하여 서비스 계정을 만듭니다. 자세한 내용은 Cloud 관리형 ID 역할을 참조하세요.

  6. VM에서 전체 cloud-platform 액세스 범위를 설정합니다. 자세한 내용은 승인을 참조하세요.

메타데이터

Windows VM을 도메인에 조인하려면 다음 메타데이터 키가 필요합니다.

메타데이터 키 설명
windows-startup-script-url 이 메타데이터 키를 사용하여 시작 프로세스 중에 VM이 실행하는 Windows 시작 스크립트의 공개적으로 액세스 가능한 위치를 지정합니다. 관리형 Microsoft AD에서 사전 제공하는 Windows 시작 스크립트를 사용하려면 다음 URL을 입력하면 됩니다. https://raw.githubusercontent.com/GoogleCloudPlatform/managed-microsoft-activedirectory/main/domain_join.ps1

이 URL에 대한 액세스 권한이 VM에 없으면 지원되는 다른 방법 중 하나를 사용하여 시작 스크립트를 전달할 수 있습니다. 자세한 내용은 Windows VM에서 시작 스크립트 사용을 참조하세요.
managed-ad-domain 이 메타데이터 키를 사용하여 projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME 형식으로 조인할 관리형 Microsoft AD 도메인의 전체 리소스 이름을 지정합니다. 예를 들면 projects/my-project-123/locations/global/domains/my-domain.example.com입니다.
managed-ad-domain-join-failure-stop 선택사항: 기본적으로 도메인 조인 요청이 실패한 후에도 VM이 계속 실행됩니다. 요청이 실패할 때 VM을 중지하려면 이 메타데이터 키를 TRUE로 설정하면 됩니다. 관리형 Microsoft AD는 이 메타데이터 키를 설정한 후 VM을 중지할 수 있지만 VM을 삭제하지는 않습니다.
enable-guest-attributes 선택사항: 기본적으로 게스트 속성이 VM에서 사용 중지됩니다. 시작 스크립트 실행 후 VM의 게스트 속성을 사용하여 도메인 조인 상태를 로깅하려면 이 메타데이터 키를 TRUE로 설정하면 됩니다.

관리형 Microsoft AD는 guest-attributesmanaged-ad 네임스페이스 아래에 있는 다음 키에 도메인 조인 상태를 기록합니다.
  • domain-join-status: 이 키는 스크립트 실행 후 도메인 조인 요청의 상태를 제공합니다.
  • domain-join-failure-message: 도메인 조인 요청이 실패하면 이 키에서 오류 메시지를 제공합니다.
  • 게스트 속성을 가져올 때, 이 네임스페이스 및 키를 사용하여 도메인 조인 상태를 볼 수 있습니다.
    managed-ad-ou-name 선택사항: 기본적으로 관리형 Microsoft AD는 정책을 더 잘 관리하기 위해 Cloud OU 아래에 사전 생성된 GCE Instances 조직 단위(OU)에 VM을 조인합니다. Cloud OU에 대한 자세한 내용은 조직 단위를 참조하세요.

    VM을 커스텀 OU에 조인하려면 관리형 Microsoft AD의 GCE Instances OU 또는 Cloud OU에서 커스텀 OU를 만들고 이 메타데이터 키를 사용하여 커스텀 OU를 지정합니다. 관리형 Microsoft AD는 Cloud OU 또는 GCE Instances OU 이외의 다른 위치에서 만드는 커스텀 OU를 지원하지 않습니다.

    Cloud OU 아래에 커스텀 OU를 만드는 경우 /cloud/SUB_OU1/SUB_OU2/…/CUSTOM_OU 형식으로 커스텀 OU의 경로를 지정합니다. 예, /cloud/my-sub-ou/my-custom-ou

    관리형 Microsoft AD에서 AD 객체를 관리하는 방법에 대한 자세한 내용은 Active Directory 객체 관리를 참조하세요.
    managed-ad-force 선택사항: 도메인에 조인한 VM을 삭제하면 VM의 컴퓨터 계정은 관리형 Microsoft AD에 계속 존재합니다. 동일한 컴퓨터 계정으로 다른 VM을 조인하려고 하면 도메인 조인 요청이 기본적으로 실패합니다. 이 메타데이터 키를 TRUE로 설정하면 관리형 Microsoft AD에서 기존 컴퓨터 계정을 재사용할 수 있습니다.

    Windows VM에 조인

    Windows VM을 만들거나 기존 VM을 업데이트할 때 이 메타데이터 키를 사용할 수 있습니다. 다음 섹션에서는 VM을 만들거나 VM을 업데이트할 때 gcloud CLI 명령어에서 이러한 메타데이터 키를 사용하는 방법을 보여줍니다.

    그러나 다른 사용 가능한 옵션을 사용하여 VM에서 이러한 메타데이터 키를 사용할 수 있습니다. Windows Compute Engine VM에서 메타데이터를 사용하는 방법에 대한 자세한 내용은 커스텀 메타데이터 설정을 참조하세요.

    생성 중에 Windows VM 조인

    Windows Compute Engine VM을 만들고 조인하려면 다음 gcloud CLI 명령어를 실행합니다.

    gcloud compute instances create INSTANCE_NAME \
        --metadata=windows-startup-script-url=URL,managed-ad-domain=DOMAIN_RESOURCE_PATH,managed-ad-domain-join-failure-stop=TRUE,enable-guest-attributes=TRUE \
        --service-account=SERVICE_ACCOUNT \
        --scopes=https://www.googleapis.com/auth/cloud-platform \
        --image-project windows-cloud \
        --image-family IMAGE_FAMILY
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 만들려는 Windows Compute Engine VM의 이름입니다. 예를 들면 my-instance-1입니다.
    • URL: 시작 프로세스 중 VM이 실행되는 Windows 시작 스크립트의 공개적으로 액세스 가능한 위치입니다.
    • DOMAIN_RESOURCE_PATH: 조인할 관리형 Microsoft AD 도메인의 전체 리소스 이름입니다. 예를 들면 projects/my-project-123/locations/global/domains/my-domain.example.com입니다.
    • SERVICE_ACCOUNT: VM에 연결할 서비스 계정입니다. 예를 들면 my-sa-123@my-project-123.iam.gserviceaccount.com입니다.
    • --scopes: VM에 구성된 기본 액세스 범위는 도메인 조인 요청을 제한합니다. VM에서 전체 cloud-platform 액세스 범위를 설정해야 합니다. 자세한 내용은 승인을 참조하세요.
    • --image-project: Windows VM을 만들려면 이 플래그를 windows-cloud로 설정해야 합니다. 자세한 내용은 gcloud compute instances create을 참조하세요.
    • IMAGE_FAMILY: 지원되는 Windows 버전에 대한 이미지가 있는 공개 이미지 계열 중 하나를 지정합니다. 예를 들면 windows-2019-core입니다.

    VM을 만드는 동안 메타데이터 추가에 대한 자세한 내용은 VM 생성 중 메타데이터 설정을 참조하세요.

    기존 Windows VM에 조인

    기존 Windows Compute Engine VM에서 메타데이터 키를 업데이트하고 VM을 도메인에 조인할 수 있습니다. 이러한 메타데이터 키를 VM에 추가한 후 도메인 조인 요청이 성공하도록 VM을 다시 시작합니다.

    기존 Windows Compute Engine VM에 조인하려면 다음 gcloud CLI 명령어를 실행합니다.

    gcloud compute instances add-metadata INSTANCE_NAME \
        --metadata=windows-startup-script-url=URL,managed-ad-domain=DOMAIN_RESOURCE_PATH,managed-ad-domain-join-failure-stop=TRUE,enable-guest-attributes=TRUE \
        --service-account=SERVICE_ACCOUNT \
        --scopes=https://www.googleapis.com/auth/cloud-platform
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 조인할 Windows Compute Engine VM의 이름입니다. 예를 들면 my-instance-1입니다.
    • URL: VM을 다시 시작한 후 실행하는 Windows 시작 스크립트의 공개적으로 액세스 가능한 위치입니다.
    • DOMAIN_RESOURCE_PATH: 조인할 관리형 Microsoft AD 도메인의 전체 리소스 이름입니다. 예를 들면 projects/my-project-123/locations/global/domains/my-domain.example.com입니다.
    • SERVICE_ACCOUNT: 생성 중에 VM을 연결한 서비스 계정입니다. 예를 들면 my-sa-123@my-project-123.iam.gserviceaccount.com입니다.
    • --scopes: VM에 구성된 기본 액세스 범위는 도메인 조인 요청을 제한합니다. VM에서 전체 cloud-platform 액세스 범위를 설정해야 합니다. 자세한 내용은 승인을 참조하세요.

    기존 VM에 메타데이터 추가에 대한 자세한 내용은 실행 중인 VM에서 메타데이터 업데이트를 참조하세요.

    조인되지 않은 VM 삭제

    다음과 같은 경우에는 관리형 Microsoft AD에서 수동으로 컴퓨터 계정을 삭제하는 것이 좋습니다.

    • 관리형 Microsoft AD 도메인에 조인한 VM을 삭제하는 경우
    • VM이 관리형 Microsoft AD 도메인에 조인할 수 없는 경우

    디버그 로그 보기

    도메인 조인 요청이 실패하면 시작 스크립트에 대한 로그를 확인하여 문제를 식별하고 해결할 수 있습니다. 시작 스크립트에 대한 로그를 확인하려면 직렬 포트 1 출력을 확인하면 됩니다. VM에서 게스트 속성을 사용 설정한 경우 게스트 속성을 가져와서 로그를 볼 수 있습니다.

    VM을 도메인에 조인시키는 동안 발생할 수 있는 일반적인 오류에 대한 자세한 내용은 Windows VM을 도메인에 자동으로 조인할 수 없음을 참조하세요.

    다음 단계