Windows VM への接続


このドキュメントでは、Compute Engine で実行されている Windows 仮想マシン(VM)インスタンスに接続する方法について説明します。Windows VM に接続する他の方法については、PowerShell を使用した Windows VM への接続をご覧ください。

始める前に

  • このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
    1. gcloud コマンドライン ツールの最新バージョンをインストールするか、最新バージョンに更新します。
    2. デフォルトのリージョンとゾーンを設定します。
  • VM が RDP を介してアクセス可能であることを確認します。デフォルトでは、Compute Engine は TCP ポート 3389 で RDP アクセスを許可するファイアウォール ルールを作成します。これらのファイアウォール ルールが存在するかどうかを確認するには、Cloud Console のファイアウォール ルールのページにアクセスして、tcp:3389 接続を許可するファイアウォール ルールを探します。

RDP を使用して Windows VM に接続する

Compute Engine では、複数の方法で Windows インスタンスに接続できます。

Windows インスタンスへの接続

Windows インスタンスのリモート デスクトップに接続する最適な方法は、いくつかの要因によって異なります。

  • 公共のインターネット(上の図の > の任意の場所)から接続している場合は、プロジェクトで Identity-Aware Proxy TCP 転送を有効にすることをおすすめします。次に、IAP Desktop(Windows の場合)を使用するか、gcloud コマンドライン ツールをネイティブ RDP クライアントと一緒に使用して、Windows インスタンスに接続します。Identity-Aware Proxy TCP 転送を使用できない場合は、Chrome リモート デスクトップを使用します。
  • VM インスタンスにパブリック IP アドレスがあり、ファイアウォール ルールで RDP アクセスが許可されている場合は、Chrome RDP for Google Cloud ブラウザ プラグインを使用するか、Microsoft リモート デスクトップ接続アプリなどのネイティブ RDP クライアントを使用します。
  • VM インスタンスにパブリック IP がなく、Cloud VPN または Cloud Interconnect を使用して接続している場合は、Microsoft リモート デスクトップ接続アプリなどのネイティブ RDP クライアントを使用して VM のプライベート IP アドレスに接続できます。

RDP で接続できない場合は、RDP のトラブルシューティングをご覧ください。リモート デスクトップを使用して Windows インスタンスに接続できない場合は、このドキュメントの Windows SAC への接続をご覧ください。

Windows インスタンスのリモート デスクトップに接続するには、次のいずれかの手順を使用します。

IAP Desktop

IAP Desktop は、Windows VM インスタンスに対する複数のリモート デスクトップ接続を管理できる Windows アプリケーションです。IAP Desktop は、Identity-Aware Proxy TCP 転送を使用して VM インスタンスに接続します。VM インスタンスにパブリック IP アドレスは必要ありません。

IAP Desktop を使用して接続する前に、次の前提条件を満たしていることを確認してください。

IAP Desktop を使用して VM インスタンスに接続するには、次の操作を行います。

  1. IAP Desktop で、[File] > [Add Google Cloud project] の順に選択します。

  2. プロジェクトの ID または名前を入力して、[OK] をクリックします。

  3. [Project Explorer] ウィンドウで、接続する VM インスタンスを右クリックして、[Connect] を選択します。

    IAP Desktop。

IAP Desktop の詳細については、GitHub プロジェクトのページをご覧ください。

リモート デスクトップ接続アプリ

Windows の一部である Microsoft リモート デスクトップ接続アプリを使用して、Windows インスタンスに接続できます。

Microsoft リモート デスクトップ接続アプリで接続する前に、次のいずれかの前提条件を満たしていることを確認します。

  • VM インスタンスにパブリック IP アドレスが設定されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上り(内向き)トラフィックを許可している。
  • ローカル ネットワークが Cloud VPN または Cloud Interconnect を通じて VPC に接続されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのプライベート IP アドレスからインスタンスへの TCP の上り(内向き)トラフィックを許可している。

Microsoft Windows リモート デスクトップで接続するには、次の手順を行います。

  1. まだ作成していない場合は、Windows アカウントとパスワードを作成します。

  2. インターネット経由で接続するには、外部 IP アドレスを使用します。VPN または Cloud Interconnect を使用して接続するには、内部 IP アドレスを使用します。

    次のいずれかの方法で、Windows インスタンスの外部 IP アドレスと内部 IP アドレスを特定します。

    • Google Cloud Console で、[VM インスタンス] ページに移動します。

      [VM インスタンス] ページに移動

    • gcloud ツールを使用して、gcloud compute instances list を実行します。

      gcloud compute instances list
  3. Windows マシン上で Microsoft Windows リモート デスクトップ接続を開きます。この実行ファイルは %systemroot%\system32\mstsc.exe にあります。

    リモート デスクトップ接続のダイアログ。

  4. [コンピューター] ボックスに IP アドレスを入力します。

    RDP に別のポート番号を使用するようにインスタンスを構成した場合は、IP アドレスの後にその番号を追加します(例: 1.2.3.4:3389)。

  5. [接続] をクリックします。

  6. ユーザー名とパスワードを入力し、[OK] をクリックします。

    パスワードを忘れた場合は再設定できます。

Chrome リモート デスクトップ

Chrome リモート デスクトップは、ウェブブラウザを使用して別のパソコンにリモートからアクセスできるサービスです。Chrome リモートデスクトップは Windows、macOS、Linux で動作します。VM インスタンスにパブリック IP アドレスは必要ありません。

Chrome リモート デスクトップで接続する前に、次の前提条件を満たしていることを確認してください。

Chrome リモート デスクトップを使用して VM インスタンスに接続するには、次の操作を行います。

  1. ローカルのパソコンから Chrome リモート デスクトップのウェブサイトにアクセスします。

  2. まだ Google にログインしていない場合は、Chrome リモート デスクトップ サービスの設定で使用した Google アカウントでログインします。

  3. 接続するインスタンスを選択します。

  4. メッセージが表示されたら、Chrome リモート デスクトップ サービスのインストール時に作成した PIN を入力し、矢印ボタン()をクリックして接続します。

Chrome RDP プラグイン

Chrome RDP for Google Cloud はサードパーティ製のプラグインで、Chrome ブラウザから Windows インスタンスに接続できます。このプラグインは Google Cloud Console と統合されています。プラグインをインストールしたら、Cloud Console で [RDP] ボタンを使用して Windows Server インスタンスに接続します。

Chrome RDP for Google Cloud で接続する前に、次の前提条件を満たしていることを確認してください。

  • VM インスタンスにパブリック IP アドレスが設定されている。
  • ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上り(内向き)トラフィックを許可している。
  • Chrome RDP for Google Cloud 拡張機能がインストールされている。

  • Chrome OS から Windows VM に接続する場合は、Chromebook の [表示サイズ] を 100% に設定します。

Chrome RDP プラグインを使用して接続するには、次の操作を行います。

  1. Cloud Console で [VM インスタンス] ページに移動し、接続する Windows インスタンスを探します。

    [VM インスタンス] ページに移動

  2. 接続したいインスタンスの [RDP] ボタンをクリックします。Chrome RDP 拡張機能が開きます。

  3. ドメイン、ユーザー名、パスワードを入力し、[OK] をクリックして接続します。

    インスタンスの作成ウィンドウ。

    インスタンスにドメインが構成されていない場合は、[ドメイン] を空白のままにできます。

  4. プロンプトが表示されたら、[続行] を押して証明書を受け入れます。

その他

Android、iOS、Mac 向けに開発されたクライアントなど、他の RDP クライアントを使用して、Windows VM インスタンスに接続できます。公式にサポートされているクライアントの一覧については、Microsoft のリモート デスクトップ クライアントのドキュメントをご覧ください。

接続する前に、次の前提条件のいずれかを満たしていることを確認してください。

  • VM インスタンスにパブリック IP アドレスが設定されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上り(内向き)トラフィックを許可している。
  • ローカル ネットワークが VPN または Cloud Interconnect を通じて VPC に接続されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのプライベート IP アドレスからインスタンスへの TCP の上り(内向き)トラフィックを許可している。

他の RDP を使用して接続するには、次の手順に従います。

  1. インターネット経由で接続するには、外部 IP アドレスを使用します。VPN または Cloud Interconnect を使用して接続するには、内部 IP アドレスを使用します。

    次のいずれかの方法で、Windows インスタンスの外部 IP アドレスと内部 IP アドレスを特定します。

    • Google Cloud Console で、[VM インスタンス] ページに移動します。

      [VM インスタンス] ページに移動

    • gcloud ツールを使用して、gcloud compute instances list を実行します。

      gcloud compute instances list
  2. クライアントのインストール手順に従って、サポートされているクライアントをインストールします。

  3. インスタンスの IP アドレスを使用して接続し、インスタンスのユーザー名とパスワードで認証します。

公式にサポートされているクライアントの一覧については、Microsoft のリモート デスクトップ クライアントをご覧ください。

RDP で接続できない場合は、RDP のトラブルシューティングをご覧ください。RDP ライセンスの詳細については、Microsoft ライセンスに関するよくある質問をご覧ください。

RDP 証明書を確認する

RDP 証明書を確認するには、VM の初回起動時にシリアルポートの出力を表示して、SAC の適切な PowerShell コマンドを実行します。

シリアルポート

  1. Windows VM の初回起動時にシリアルポート 1 からの出力を表示して、RDP 証明書を確認します。

  2. Windows VM の初回起動時にシリアルポート 1 の出力を調べて、次の内容を確認します。

    Serial port 1 (console) output for rdp-test
    ...
    ...
    2021/03/31 15:53:58 GCEInstanceSetup: RDP certificate details: Subject: CN=rdp-test, Thumbprint: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ...
    ...
    

SAC からの PowerShell

  1. Windows SAC に接続します。

  2. 次の PowerShell コマンドを実行します。

    # WinRM Cert
    Write-Host 'WinRM certificate details:'; Get-ChildItem 'Cert:\LocalMachine\My' | Where-Object { $_.Subject -like "CN=$env:COMPUTERNAME*" -and $_.NotAfter -gt $(Get-Date) -and $_.HasPrivateKey} |  Select-Object Subject, Thumbprint | Format-List
    # RDP Cert
    Write-Host 'RDP certificate details:'; Get-ChildItem 'Cert:\LocalMachine\Remote Desktop\' | Where-Object { $_.Subject -like "CN=$env:COMPUTERNAME*" -and $_.NotAfter -gt $(Get-Date) -and $_.HasPrivateKey} |  Select-Object Subject, Thumbprint | Format-List
    

Windows SAC への接続

このセクションでは、インタラクティブ シリアル コンソールを使用して、Windows インスタンスの Special Administrative Console(SAC)に接続する方法について説明します。SAC では VM へのシリアルポート接続を使用し、ネットワーク接続に依存しません。

インタラクティブ シリアル コンソールを使用して VM に接続する前に、VM のインタラクティブ アクセスを有効にします。詳細については、シリアル コンソールでのインタラクティブ アクセスの有効化をご覧ください。

インタラクティブ シリアル コンソールを使用して Windows インスタンスに接続するには、次のいずれかのタブに示されている手順を実行します。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 接続する VM の名前をクリックします。

  3. [シリアル コンソールに接続] をクリックして、インタラクティブ コンソールを開きます。

インタラクティブ シリアル コンソールが開きます。使用する準備ができると、次の出力が表示されます。

Computer is booting, SAC started and initialized.

Use the "ch -?" command for information about using channels.
Use the "?" command for general help.

SAC>

gcloud

gcloud compute connect-to-serial-port コマンドを使用して、シリアルポート アクセスが有効になっている VM インスタンスに接続します。

gcloud compute connect-to-serial-port VM_NAME \
    --port=2
    --zone=ZONE \
    --project=PROJECT_ID

次のように置き換えます。

  • PROJECT_ID: インスタンスが含まれているプロジェクトの ID
  • ZONE: インスタンスが存在するゾーンの名前
  • VM_NAME: インスタンスの名前

インタラクティブ シリアル コンソールが開きます。使用する準備ができると、次の出力が表示されます。

Computer is booting, SAC started and initialized.

Use the "ch -?" command for information about using channels.
Use the "?" command for general help.

SAC>

インタラクティブ シリアル コンソールの使用方法については、Microsoft の SAC コマンドのドキュメントをご覧ください。

Windows SAC でコマンド プロンプトを開く

一般的なワークフローは、コマンド プロンプトまたは PowerShell を開いてコマンドの実行を許可し、cmd チャネルを開くことです。手順は次のとおりです。

  1. cmd」と入力して、Enter キーを押します。次の出力が表示されます。

    SAC>cmd
    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC>
    
  2. ch -sn CHANNEL_NAME コマンドを使用して、Enter キーを押します。CHANNEL_NAME は、前の手順で作成したチャネルの名前に置き換えます。

    SAC>ch -sn Cmd0001
    
    Name:                  Cmd0001
    Description:           Command
    Type:                  VT-UTF8
    Channel GUID:          28de7392-5413-11ea-bb03-c9656a2ed613
    Application Type GUID: 63d02271-8aa4-11d5-bccf-00b0d014a2d0
    
    Press <esc><tab> for next channel.
    Press <esc><tab>0 to return to the SAC channel.
    Use any other key to view this channel.
    
  3. Space キーを押してから、システムに登録されているローカル認証情報を使用してログインします。

    Please enter login credentials.
    Username: USERNAME
    Domain: DOMAIN (leave blank if no domain)
    Password: PASSWORD
    

    接続すると、コマンド プロンプト シェルにアクセスできます。

    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.
    
    C:\Windows\system32>
    
  4. (省略可)PowerShell プロンプトを使用するには、powershell.exe と入力して Enter キーを押します。

次のステップ