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. Managed Microsoft AD ドメインを作成します

  2. VM 名が 15 文字以下であることを確認します。

  3. VM がマネージド Microsoft AD でサポートされている Windows バージョンで実行されていることを確認します。

  4. マネージド Microsoft AD ドメインと VM のネットワークの間にドメイン ピアリングを構成するか、マネージド Microsoft AD ドメインと VM の両方を同じネットワーク内に配置します。

  5. マネージド Microsoft AD ドメインを持つプロジェクトで Google Cloud Managed Identities ドメイン参加(roles/managedidentities.domainJoin)IAM ロールを持つサービス アカウントを作成します。詳細については、Cloud Managed Identities のロールをご覧ください。

  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

VM でこの URL にアクセスできない場合は、サポートされている他の方法のいずれかを使用して起動スクリプトを渡すことができます。詳細については、Windows VM での起動スクリプトの使用をご覧ください。
managed-ad-domain このメタデータキーを使用して、参加するマネージド Microsoft AD ドメインの完全なリソース名projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME の形式で指定します。例: 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 をサポートしていません。

    カスタム OU を Cloud OU の下に作成する場合は、カスタム OU のパスを /cloud/SUB_OU1/SUB_OU2/…/CUSTOM_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 をドメインに自動的に参加させられないをご覧ください。

    次のステップ