インスタンスへの接続

このページでは、Google Distributed Cloud(GDC)サンドボックス(GDC サンドボックス)環境にアクセスする方法について説明します。

GDC Sandbox インスタンスは、 Google Cloudでホストされる Google Distributed Cloud エアギャップ環境のシミュレーションです。実際の Google Distributed Cloud のエアギャップ環境と同様に、GDC サンドボックス インスタンスで実行されているサービスと仮想マシンは、インターネットに直接接続されていません。インスタンスを操作するには、GDC Sandbox ゲートウェイ(インターネットと、GDC Sandbox インスタンスで実行されているサービスと VM にアクセスできる仮想マシン(VM))を介して接続する必要があります。

ゲートウェイは、GUI サポートを備えた Linux 仮想マシンです。実際の Google Distributed Cloud のエアギャップ環境にアクセスできるプライベート ネットワーク上のマシンの代わりに使用されます。これは次の目的で使用できます。

  • Google Distributed Cloud のエアギャップ環境のウェブベースの管理インターフェースである GDC コンソールにアクセスする
  • ブラウザベースのツールまたはコマンドライン ツールを使用してインスタンスを管理する
  • インターネットからソフトウェアとリソースをダウンロードして、インスタンスにワークロードをデプロイする

ゲートウェイは開発マシンとして使用することを想定していません。必要なリソースがプロビジョニングされておらず、非永続的です。

このページでは、インスタンスのウェブ管理インターフェースにアクセスするための 3 つのオプションについて説明します。

  1. ローカルの Windows、macOS、Linux マシンでリモート デスクトップ(RDP)クライアントを使用して、ゲートウェイの GUI 環境にアクセスします。
  2. sshuttle というツールを使用して、マシンからゲートウェイへの安全な VPN のようなトンネルを作成します。これにより、独自のウェブブラウザやローカルにインストールされた他のツールを使用して、インスタンス内のリソースに直接アクセスできます。
  3. Compute Engine VM を作成し、それをクライアント マシンとして使用して、このリストの他の 2 つの方法のいずれかを使用してゲートウェイ GUI 環境に接続します。

ゲートウェイ VM には、インスタンスのユーザーがゲートウェイに接続するときに使用できる、ゲートウェイ アカウントと呼ばれる固定のユーザー アカウントが事前にインストールされています。これらのアカウントは 25 個あり、ユーザー名の固定セット(sandboxuser1 から sandboxuser25)があります。これらのユーザー名は変更できません。また、ゲートウェイ VM で新しいユーザーを作成することもできません。これらのアカウントの主な用途は、ゲートウェイへのリモート デスクトップ接続を確立し、VM にログインしているユーザーごとに個別のデスクトップ環境とシェル環境を維持することです。ゲートウェイ アカウントと GDC Sandbox インスタンスにアクセスできる Google Cloud ユーザー アカウントの間には明示的な接続はありません。また、これらのアカウントと GDC Sandbox 環境内のユーザー アカウントの間にも明示的な接続はありません。これについては後で説明します。複数のユーザーがインスタンスを使用する場合は、トラッキング スプレッドシートを作成し、各ユーザーをゲートウェイ アカウントに割り当てることをおすすめします。

リモート デスクトップ経由で環境にアクセスする場合は、次のオプションから OS とサポートされているリモート デスクトップ クライアントを選択します。

OS 名 OS バージョン サポートされているリモート デスクトップ クライアント
Windows 11
  • Microsoft リモート デスクトップ
  • IAP Desktop
Ubuntu 22.04 Remmina バージョン 1.4.32
Debian 10 Rodete Remmina バージョン 1.4.32
macOS Microsoft リモート デスクトップをサポートしている任意のバージョン Microsoft リモート デスクトップ(最新バージョン)

始める前に

インスタンスへの接続プロセスを開始するには、アクセス権を取得するで説明されているように、GDC Sandbox のオファーメールに記載されている接続情報が必要です。メールで指定されたプライマリ管理者でない場合は、アクセス制御に使用される Google グループに追加する必要があります。

GDC Sandbox 環境にアクセスする前に、アクセス方法に応じて次のことを完了してください。

環境にアクセスする

GDC サンドボックス環境にアクセスするには、アクセス方法に応じて次のセクションの手順を行います。

Linux

  1. Remmina がインストールされていることを確認します。

    sudo apt-get install remmina
    
  2. GDC Sandbox インスタンスへのトンネルを開始します。

    gcloud compute start-iap-tunnel GDC_SANDBOX_INSTANCE_NAME 3389 --project=PROJECT_NAME \
    --zone=ZONE --local-host-port=localhost:PORT_NUMBER
    

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

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。この名前は GDC Sandbox チームから提供されます。
    • PORT_NUMBER: ユーザーが定義するポート番号。例: 8888
    • PROJECT_NAME: プロジェクトの名前。
    • ZONE: 環境が存在するゾーン。この名前は GDC サンドボックス チームから提供されます。
  3. ローカル環境で Remmina を開きます。

  4. 左上の [新しい接続プロファイル] をクリックして、新しいプロファイルの作成を開始します。

  5. [サーバー] フィールドに、localhost:PORT_NUMBER の形式で URL を入力します。

  6. [ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、sandboxuser1 から sandboxuser20 までのパターンに従います。

  7. [パスワード] に、初期パスワードと同じユーザー名を入力します。

  8. [解決策] フィールドに移動し、[クライアントの解決策を使用] を選択します。

  9. [保存して接続] をクリックします。

これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。

  1. ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
    1. ターミナル ウィンドウを開きます。
    2. passwd」と入力して Enter キーを押します。
    3. 求められた場合は、現在のパスワードを入力します。
    4. 新しいパスワードを入力し、確認のためにもう一度入力します。
    5. ターミナル ウィンドウに Password updated successfully が表示されます。
  2. ゲートウェイ内で Chrome ブラウザを開きます。
  3. 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
    1. Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
    2. [証明書の管理] に移動します。
    3. [認証局] タブに切り替え、[インポート] をクリックします。
    4. /usr/local/share/ca-certificates/web-tls-certs.crt で証明書を見つけて、[選択] をクリックします。
    5. すべてのチェックボックスをオンにして [OK] をクリックします。
    6. これで、証明書がトラストストアに追加されます。
  4. アドレスバーに URL https://console.org-1.zone1.google.gdch.test を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。

Windows

  1. PowerShell ウィンドウを開きます。
  2. GDC Sandbox インスタンスへのトンネルを開始します。

    gcloud compute start-iap-tunnel GDC_SANDBOX_INSTANCE_NAME 3389 --project=PROJECT_NAME \
    --zone=ZONE --local-host-port=localhost:PORT_NUMBER
    

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

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。この名前は GDC Sandbox チームから提供されます。
    • PORT_NUMBER: ユーザーが定義するポート番号。例: 8888
    • PROJECT_NAME: プロジェクトの名前。
    • ZONE: 環境が存在するゾーン。
  3. ローカル環境から Microsoft リモート デスクトップを開きます。

  4. [コンピューター] 入力フィールドに、localhost:PORT_NUMBER の形式で URL を入力します。

  5. [接続] をクリックします。成功すると、ログイン ダイアログが表示されます。

  6. [ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、sandboxuser1 から sandboxuser20 までのパターンに従います。

  7. [パスワード] に、初期パスワードと同じユーザー名を入力します。

  8. [OK] をクリックします。

これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。

  1. ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
    1. ターミナル ウィンドウを開きます。
    2. passwd」と入力して Enter キーを押します。
    3. 求められた場合は、現在のパスワードを入力します。
    4. 新しいパスワードを入力し、確認のためにもう一度入力します。
    5. ターミナル ウィンドウに Password updated successfully が表示されます。
  2. ゲートウェイ内で Chrome ブラウザを開きます。
  3. 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
    1. Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
    2. [証明書の管理] に移動します。
    3. [認証局] タブに切り替え、[インポート] をクリックします。
    4. /usr/local/share/ca-certificates/web-tls-certs.crt で証明書を見つけて、[選択] をクリックします。
    5. すべてのチェックボックスをオンにして [OK] をクリックします。
    6. これで、証明書がトラストストアに追加されます。
  4. アドレスバーに URL https://console.org-1.zone1.google.gdch.test を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。

macOS

  1. ターミナル ウィンドウを開きます。
  2. GDC Sandbox インスタンスへのトンネルを開始します。

    gcloud compute start-iap-tunnel GDC_SANDBOX_INSTANCE_NAME 3389 --project=PROJECT_NAME \
    --zone=ZONE --local-host-port=localhost:PORT_NUMBER
    

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

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。この名前は GDC Sandbox チームから提供されます。
    • PORT_NUMBER: ユーザーが定義するポート番号。例: 8888
    • PROJECT_NAME: プロジェクトの名前。
    • ZONE: 環境が存在するゾーン。
  3. Microsoft リモート デスクトップを開きます。

  4. [PC を追加] をクリックします。

  5. [PC name] 入力フィールドに、localhost:PORT_NUMBER 形式の URL を入力します。

  6. [追加] をクリックします。成功すると、ログイン ダイアログが表示されます。

  7. [ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、sandboxuser1 から sandboxuser20 までのパターンに従います。

  8. [パスワード] に、初期パスワードと同じユーザー名を入力します。

  9. [OK] をクリックします。

これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。

  1. ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
    1. ターミナル ウィンドウを開きます。
    2. passwd」と入力して Enter キーを押します。
    3. 求められた場合は、現在のパスワードを入力します。
    4. 新しいパスワードを入力し、確認のためにもう一度入力します。
    5. ターミナル ウィンドウに Password updated successfully が表示されます。
  2. ゲートウェイ内で Chrome ブラウザを開きます。
  3. 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
    1. Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
    2. [証明書の管理] に移動します。
    3. [認証局] タブに切り替え、[インポート] をクリックします。
    4. /usr/local/share/ca-certificates/web-tls-certs.crt で証明書を見つけて、[選択] をクリックします。
    5. すべてのチェックボックスをオンにして [OK] をクリックします。
    6. これで、証明書がトラストストアに追加されます。
  4. アドレスバーに URL https://console.org-1.zone1.google.gdch.test を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。

sshuttle

このプロセスを完了するには、サービスの登録時に GDC Sandbox チームから提供された値が必要です。

  • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。
  • PROJECT_NAME: インスタンスをホストするプロジェクト。
  • ZONE: インスタンスを含むゾーン。

sshuttle を使用してインスタンスに接続する手順は次のとおりです。

  1. 証明書をインストールします(1 回限りの設定)。

    sshuttle を使用するには、証明書をインストールする必要があります。この操作は、サービスへのアクセスに使用するマシンごとに 1 回だけ行う必要があります。

    1. gcloud CLI を使用して証明書をダウンロードします。
    gcloud compute scp \
    GDC_SANDBOX_INSTANCE_NAME:/usr/local/share/ca-certificates/web-tls-certs.crt \
    LOCAL_FILE_PATH --tunnel-through-iap \
    --project PROJECT_NAME \
    --zone ZONE
    

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

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。
    • LOCAL_FILE_PATH: 証明書をダウンロードするローカルパス。
    • PROJECT_NAME: プロジェクトの名前。
    • ZONE: インスタンスがホストされているゾーン。
  2. CA 証明書を Linux トラストストアに追加します。

    1. ダウンロードした CA 証明書のパスを保持する変数を設定します。

      export CERT_PATH=LOCAL_FILE_PATH
      
    2. 証明書ファイルに改行が存在しない場合は追加し、ca-certificates ディレクトリにコピーします。

      sed -i '$a\' ${CERT_PATH}
      sudo cp ${CERT_PATH} /usr/local/share/ca-certificates
      
    3. 証明書をトラストストアに追加します。

      sudo update-ca-certificates
      
  3. CA 証明書を Cloudtop Chrome Trust Store に追加します。

    1. Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
    2. [証明書の管理] に移動します。
    3. [認証局] タブに切り替え、[インポート] をクリックします。
    4. 前のセクションでダウンロードした証明書を見つけて、[選択] をクリックします。
    5. すべてのチェックボックスをオンにして [OK] をクリックします。
    6. 証明書がトラストストアに追加されます。
  4. ターミナルを開き、コマンドを実行して GDC Sandbox インスタンスへのトンネルを開始します。

    sshuttle -r GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
    --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
    10.200.0.0/16 --dns
    

    以下を GDC Sandbox チームから提供された値に置き換えます。

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。
    • PROJECT_NAME: プロジェクトの名前。
    • ZONE: GDC Sandbox 環境を含むゾーン。

    このコマンドの実行中は、ローカルマシンから 10.200.0.0/16 へのすべてのネットワーク リクエストが、安全なトンネルを介して GDC Sandbox インスタンスに転送されます。

  5. Chrome ブラウザを開きます。

  6. アドレスバーに URL https://console.org-1.zone1.google.gdch.test を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。sshuttle の実行中は、この URL はゲートウェイを介して GDC Sandbox 環境に転送されます。

  7. 次のセクションのログインの手順に進んでください。インスタンスの操作が完了したら、sshuttle コマンドが実行されているターミナルで Ctrl+C キーを押して、sshuttle プロセスを終了します。

Compute Engine VM

Compute Engine VM で GDC Sandbox 環境にアクセスするには、起動スクリプトを使用して VM を作成し、Chrome リモート デスクトップを使用します。VM を作成して環境にアクセスする手順は次のとおりです。

  1. Cloud Shell ターミナルを開きます。
  2. 使用可能なイメージのリストを表示します。

    gcloud compute images list
    

    Debian-10 イメージと、イメージが属するプロジェクト名をメモします。

  3. テキスト ファイルを作成します。例: startup-script.txt

  4. ファイルに次の起動スクリプトを追加します。

    sudo apt-get upgrade
    curl https://dl.google.com/linux/linux_signing_key.pub \
        | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg
    echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
        | sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list
    sudo apt-get update
    sudo DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes chrome-remote-desktop
    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    sudo systemctl disable lightdm.service
    sudo apt install --assume-yes task-xfce-desktop
    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes remmina
    
  5. Compute Engine VM を作成する

    gcloud compute instances create VM_NAME \
    --image-project=PROJECT_NAME \
    --image-family=debian-10 \
    --metadata=startup-script-from-file=SCRIPT_FILENAME
    

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

    • VM_NAME: VM に付ける名前。例: test-vm。
    • PROJECT_NAME: イメージを含むプロジェクトの名前。
    • SCRIPT_FILENAME: 起動スクリプトを含むファイルの名前。例: startup-script.txt
  6. VM インスタンスに Chrome リモート デスクトップをインストールするの手順に沿って、Chrome リモート デスクトップをインストールします。

  7. VM インスタンスに接続するの手順に沿って、Chrome リモート デスクトップを有効にします。

Compute Engine VM に接続したら、次のいずれかのオプションを選択してインスタンスに接続できます。

  • [Linux] タブの手順に沿って、Remmina を使用してゲートウェイ デスクトップ GUI に接続します。
  • [sshuttle] タブの手順に沿って、Compute Engine VM からゲートウェイへのトンネルを作成し、VM のブラウザとターミナルを使用して GDC Sandbox インスタンスに接続します。

GDC コンソールにログインする

  1. https://console.org-1.zone1.google.gdch.test/ にアクセスすると、GDC コンソールの [ログイン] ページが表示されます。
  2. [Continue with fake-oidc-provider] をクリックします。[Fake OIDC Provider] ページが表示されます。
  3. [ユーザーを選択] リストで、[プラットフォーム管理者] をクリックします。

  4. [送信] をクリックします。

これで GDC コンソールにログインできました。プロジェクトを作成するの手順に沿って、管理者アカウントと最初のプロジェクトを設定します。

ヒント

ブラウザで問題が発生した場合は、ブラウザ ウィンドウを閉じ、新しいブラウザページを開いて、アドレスバーに「https://console.org-1.zone1.google.gdch.test/」と入力します。

ブラウザのホームページとしてログインページを追加する(省略可)

便宜上、GDC コンソールをブラウザのホームページとして構成できます。これは、リモート デスクトップを使用してゲートウェイで実行されている GUI にアクセスする場合に特に役立ちます。

  1. アドレスバーに「https://console.org-1.zone1.google.gdch.test/」と入力します。 [ログイン] ページが表示されます。

  2. このページをブラウザのホームボタンに追加するには、[ブラウザ] を選択します。

  3. Chrome メニューで Google Chrome の設定 を選択します。

  4. [username]  > [Customize Your Chrome] を選択します。

  5. ナビゲーション メニューで [外観] を選択します。

  6. [ホームボタンを表示する] を [オン] にして、https://console.org-1.zone1.google.gdch.test/ の URL を入力します。

  7. ナビゲーション メニューで [起動時] を選択します。

  8. [特定のページまたはページセットを開く] を選択し、https://console.org-1.zone1.google.gdch.test/ のサイト URL を入力します。[追加] をクリックします。

ブラウザを開くたび、またはホームボタンをクリックするたびに、GDC Sandbox のユーザー インターフェースが開きます。