このページでは、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 つのオプションについて説明します。
- ローカルの Windows、macOS、Linux マシンでリモート デスクトップ(RDP)クライアントを使用して、ゲートウェイの GUI 環境にアクセスします。
- sshuttle というツールを使用して、マシンからゲートウェイへの安全な VPN のようなトンネルを作成します。これにより、独自のウェブブラウザやローカルにインストールされた他のツールを使用して、インスタンス内のリソースに直接アクセスできます。
- Compute Engine VM を作成し、それをクライアント マシンとして使用して、このリストの他の 2 つの方法のいずれかを使用してゲートウェイ GUI 環境に接続します。
ゲートウェイ VM には、インスタンスのユーザーがゲートウェイに接続するときに使用できる、ゲートウェイ アカウントと呼ばれる固定のユーザー アカウントが事前にインストールされています。これらのアカウントは 25 個あり、ユーザー名の固定セット(sandboxuser1
から sandboxuser25
)があります。これらのユーザー名は変更できません。また、ゲートウェイ VM で新しいユーザーを作成することもできません。これらのアカウントの主な用途は、ゲートウェイへのリモート デスクトップ接続を確立し、VM にログインしているユーザーごとに個別のデスクトップ環境とシェル環境を維持することです。ゲートウェイ アカウントと GDC Sandbox インスタンスにアクセスできる Google Cloud ユーザー アカウントの間には明示的な接続はありません。また、これらのアカウントと GDC Sandbox 環境内のユーザー アカウントの間にも明示的な接続はありません。これについては後で説明します。複数のユーザーがインスタンスを使用する場合は、トラッキング スプレッドシートを作成し、各ユーザーをゲートウェイ アカウントに割り当てることをおすすめします。
リモート デスクトップ経由で環境にアクセスする場合は、次のオプションから OS とサポートされているリモート デスクトップ クライアントを選択します。
OS 名 | OS バージョン | サポートされているリモート デスクトップ クライアント |
---|---|---|
Windows | 11 |
|
Ubuntu | 22.04 | Remmina バージョン 1.4.32 |
Debian | 10 Rodete | Remmina バージョン 1.4.32 |
macOS | Microsoft リモート デスクトップをサポートしている任意のバージョン | Microsoft リモート デスクトップ(最新バージョン) |
始める前に
インスタンスへの接続プロセスを開始するには、アクセス権を取得するで説明されているように、GDC Sandbox のオファーメールに記載されている接続情報が必要です。メールで指定されたプライマリ管理者でない場合は、アクセス制御に使用される Google グループに追加する必要があります。
GDC Sandbox 環境にアクセスする前に、アクセス方法に応じて次のことを完了してください。
ローカルマシンからのリモート デスクトップ アクセス:
- gcloud CLI をインストールします。
- gcloud CLI を初期化する。
- GDC Sandbox の登録に使用したメールアドレスと同じメールアドレスを使用して、gcloud CLI を承認します。
- OS に基づいてリモート デスクトップ クライアントを設定します。
- Ubuntu 22.04 と Debian 10 Rodete: Remmina をインストールする方法をご覧ください。
- Windows 11: Windows 用リモート デスクトップ アプリを使ってみるの手順に沿って操作します。
- macOS: macOS クライアントを使ってみるの手順に沿って操作します。
sshuttle
トンネルを介したアクセス:sshuttle は、SSH 接続を介してネットワーク トラフィックをトンネリングし、ローカルマシンから GDC Sandbox インスタンスで実行されているサービスへの VPN のような接続を提供するツールです。
- gcloud CLI をインストールします。
- gcloud CLI を初期化する。
- GDC Sandbox の登録に使用したメールアドレスと同じメールアドレスを使用して、gcloud CLI を承認します。
- OS に応じて
sshuttle
をインストールします。sshuttle のインストール方法をご覧ください。
Compute Engine VM を介してアクセスする:
- Cloud Shell を起動して設定します。
- gcloud CLI をインストールします。
- gcloud CLI を初期化する。
- GDC Sandbox の登録に使用したメールアドレスと同じメールアドレスを使用して、gcloud CLI を承認します。
環境にアクセスする
GDC サンドボックス環境にアクセスするには、アクセス方法に応じて次のセクションの手順を行います。
Linux
Remmina がインストールされていることを確認します。
sudo apt-get install remmina
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 サンドボックス チームから提供されます。
ローカル環境で Remmina を開きます。
左上の add_box [新しい接続プロファイル] をクリックして、新しいプロファイルの作成を開始します。
[サーバー] フィールドに、
localhost:PORT_NUMBER
の形式で URL を入力します。[ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、
sandboxuser1
からsandboxuser20
までのパターンに従います。[パスワード] に、初期パスワードと同じユーザー名を入力します。
[解決策] フィールドに移動し、[クライアントの解決策を使用] を選択します。
[保存して接続] をクリックします。
これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。
- ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
- ターミナル ウィンドウを開きます。
- 「
passwd
」と入力して Enter キーを押します。 - 求められた場合は、現在のパスワードを入力します。
- 新しいパスワードを入力し、確認のためにもう一度入力します。
- ターミナル ウィンドウに
Password updated successfully
が表示されます。
- ゲートウェイ内で Chrome ブラウザを開きます。
- 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
- Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
- [証明書の管理] に移動します。
- [認証局] タブに切り替え、[インポート] をクリックします。
/usr/local/share/ca-certificates/web-tls-certs.crt
で証明書を見つけて、[選択] をクリックします。- すべてのチェックボックスをオンにして [OK] をクリックします。
- これで、証明書がトラストストアに追加されます。
- アドレスバーに URL
https://console.org-1.zone1.google.gdch.test
を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。
Windows
- PowerShell ウィンドウを開きます。
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
: 環境が存在するゾーン。
ローカル環境から Microsoft リモート デスクトップを開きます。
[コンピューター] 入力フィールドに、
localhost:PORT_NUMBER
の形式で URL を入力します。[接続] をクリックします。成功すると、ログイン ダイアログが表示されます。
[ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、
sandboxuser1
からsandboxuser20
までのパターンに従います。[パスワード] に、初期パスワードと同じユーザー名を入力します。
[OK] をクリックします。
これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。
- ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
- ターミナル ウィンドウを開きます。
- 「
passwd
」と入力して Enter キーを押します。 - 求められた場合は、現在のパスワードを入力します。
- 新しいパスワードを入力し、確認のためにもう一度入力します。
- ターミナル ウィンドウに
Password updated successfully
が表示されます。
- ゲートウェイ内で Chrome ブラウザを開きます。
- 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
- Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
- [証明書の管理] に移動します。
- [認証局] タブに切り替え、[インポート] をクリックします。
/usr/local/share/ca-certificates/web-tls-certs.crt
で証明書を見つけて、[選択] をクリックします。- すべてのチェックボックスをオンにして [OK] をクリックします。
- これで、証明書がトラストストアに追加されます。
- アドレスバーに URL
https://console.org-1.zone1.google.gdch.test
を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。
macOS
- ターミナル ウィンドウを開きます。
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
: 環境が存在するゾーン。
Microsoft リモート デスクトップを開きます。
[PC を追加] をクリックします。
[PC name] 入力フィールドに、
localhost:PORT_NUMBER
形式の URL を入力します。[追加] をクリックします。成功すると、ログイン ダイアログが表示されます。
[ユーザー名] フィールドに、このページの概要で説明したゲートウェイ アカウントのいずれかの名前を入力します。これらは、
sandboxuser1
からsandboxuser20
までのパターンに従います。[パスワード] に、初期パスワードと同じユーザー名を入力します。
[OK] をクリックします。
これで、ゲートウェイで実行されている仮想デスクトップに接続されました。ゲートウェイ環境内で次の操作を行います。
- ゲートウェイに初めて接続する場合は、パスワードを新しいパスワードに変更します。
- ターミナル ウィンドウを開きます。
- 「
passwd
」と入力して Enter キーを押します。 - 求められた場合は、現在のパスワードを入力します。
- 新しいパスワードを入力し、確認のためにもう一度入力します。
- ターミナル ウィンドウに
Password updated successfully
が表示されます。
- ゲートウェイ内で Chrome ブラウザを開きます。
- 証明書を Chrome ブラウザにインストールします(1 回限りの設定)。
- Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
- [証明書の管理] に移動します。
- [認証局] タブに切り替え、[インポート] をクリックします。
/usr/local/share/ca-certificates/web-tls-certs.crt
で証明書を見つけて、[選択] をクリックします。- すべてのチェックボックスをオンにして [OK] をクリックします。
- これで、証明書がトラストストアに追加されます。
- アドレスバーに 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 回限りの設定)。
sshuttle
を使用するには、証明書をインストールする必要があります。この操作は、サービスへのアクセスに使用するマシンごとに 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
: インスタンスがホストされているゾーン。
CA 証明書を Linux トラストストアに追加します。
ダウンロードした CA 証明書のパスを保持する変数を設定します。
export CERT_PATH=LOCAL_FILE_PATH
証明書ファイルに改行が存在しない場合は追加し、
ca-certificates
ディレクトリにコピーします。sed -i '$a\' ${CERT_PATH} sudo cp ${CERT_PATH} /usr/local/share/ca-certificates
証明書をトラストストアに追加します。
sudo update-ca-certificates
CA 証明書を Cloudtop Chrome Trust Store に追加します。
- Chrome > [設定] > [プライバシーとセキュリティ] > [セキュリティ] に移動します。
- [証明書の管理] に移動します。
- [認証局] タブに切り替え、[インポート] をクリックします。
- 前のセクションでダウンロードした証明書を見つけて、[選択] をクリックします。
- すべてのチェックボックスをオンにして [OK] をクリックします。
- 証明書がトラストストアに追加されます。
ターミナルを開き、コマンドを実行して 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 インスタンスに転送されます。Chrome ブラウザを開きます。
アドレスバーに URL
https://console.org-1.zone1.google.gdch.test
を入力して、GDC Sandbox インスタンスの GDC コンソールにアクセスします。sshuttle
の実行中は、この URL はゲートウェイを介して GDC Sandbox 環境に転送されます。次のセクションのログインの手順に進んでください。インスタンスの操作が完了したら、
sshuttle
コマンドが実行されているターミナルで Ctrl+C キーを押して、sshuttle
プロセスを終了します。
Compute Engine VM
Compute Engine VM で GDC Sandbox 環境にアクセスするには、起動スクリプトを使用して VM を作成し、Chrome リモート デスクトップを使用します。VM を作成して環境にアクセスする手順は次のとおりです。
- Cloud Shell ターミナルを開きます。
使用可能なイメージのリストを表示します。
gcloud compute images list
Debian-10 イメージと、イメージが属するプロジェクト名をメモします。
テキスト ファイルを作成します。例:
startup-script.txt
ファイルに次の起動スクリプトを追加します。
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
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
VM インスタンスに Chrome リモート デスクトップをインストールするの手順に沿って、Chrome リモート デスクトップをインストールします。
VM インスタンスに接続するの手順に沿って、Chrome リモート デスクトップを有効にします。
Compute Engine VM に接続したら、次のいずれかのオプションを選択してインスタンスに接続できます。
- [Linux] タブの手順に沿って、Remmina を使用してゲートウェイ デスクトップ GUI に接続します。
- [sshuttle] タブの手順に沿って、Compute Engine VM からゲートウェイへのトンネルを作成し、VM のブラウザとターミナルを使用して GDC Sandbox インスタンスに接続します。
GDC コンソールにログインする
https://console.org-1.zone1.google.gdch.test/
にアクセスすると、GDC コンソールの [ログイン] ページが表示されます。- [Continue with fake-oidc-provider] をクリックします。[Fake OIDC Provider] ページが表示されます。
[ユーザーを選択] リストで、[プラットフォーム管理者] をクリックします。
[送信] をクリックします。
これで GDC コンソールにログインできました。プロジェクトを作成するの手順に沿って、管理者アカウントと最初のプロジェクトを設定します。
ヒント
ブラウザで問題が発生した場合は、ブラウザ ウィンドウを閉じ、新しいブラウザページを開いて、アドレスバーに「https://console.org-1.zone1.google.gdch.test/
」と入力します。
ブラウザのホームページとしてログインページを追加する(省略可)
便宜上、GDC コンソールをブラウザのホームページとして構成できます。これは、リモート デスクトップを使用してゲートウェイで実行されている GUI にアクセスする場合に特に役立ちます。
アドレスバーに「
https://console.org-1.zone1.google.gdch.test/
」と入力します。 [ログイン] ページが表示されます。このページをブラウザのホームボタンに追加するには、[ブラウザ] を選択します。
Chrome メニューで
Google Chrome の設定 を選択します。[username] > [Customize Your Chrome] を選択します。
ナビゲーション メニューで [外観] を選択します。
[ホームボタンを表示する] を [オン] にして、
https://console.org-1.zone1.google.gdch.test/
の URL を入力します。ナビゲーション メニューで [起動時] を選択します。
[特定のページまたはページセットを開く] を選択し、
https://console.org-1.zone1.google.gdch.test/
のサイト URL を入力します。[追加] をクリックします。
ブラウザを開くたび、またはホームボタンをクリックするたびに、GDC Sandbox のユーザー インターフェースが開きます。