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 をドメインに自動的に参加させられないをご覧ください。

    次のステップ