このページには、Cloud Workstations の問題の解決に役立つトラブルシューティング情報が記載されています。
VM にシステム イメージを pull する
ワークステーション構成を使用してワークステーションを作成すると、Cloud Workstations は Artifact Registry(または Container Registry)から仮想マシン(VM)インスタンスにシステム イメージを pull します。表示されるエラー メッセージは次のようになります。
System images cannot be pulled onto workstation VMs using this configuration.
Ensure that you have set up Cloud NAT or enabled Private Google Access for
Artifact Registry (and Container Registry).
これらのイメージの pull に失敗すると、ワークステーションの起動ができなくなる可能性があります。以下のような推奨事項があります。
- Cloud NAT を設定するか、限定公開の Google アクセスを有効にします。
- API が有効で、VPC にアクセスできることを確認します。
- ファイアウォール ルールを更新して TCP の下り(外向き)を許可します。
- Compute Engine VM の起動ログを調べて、発生する可能性があるエラーを確認します。
- プロジェクトでゲスト属性を有効にする。
VM のプロビジョニングがタイムアウトする
ワークステーション構成を使用してワークステーションを作成すると、Cloud Workstations はワークステーションをバックアップする Compute Engine を作成します。VM のプロビジョニングでエラーが発生した場合、次のようなエラー メッセージが表示されます。
Workstations using this configuration cannot be provisioned due to an unknown error.
以下のような推奨事項があります。
- Compute Engine VM の起動ログを調べて、発生する可能性があるエラーを確認します。
- Compute Engine API ログを調べて、発生する可能性があるエラーを確認します。
- プロジェクトでゲスト属性を有効にする。
Cloud NAT を設定するか、限定公開の Google アクセスを有効にする
構成でパブリック IP アドレスを無効にした場合は、次のいずれかのオプションを使用します。
Cloud NAT を設定して、Cloud Workstations がワークステーション VM にイメージを pull できるようにします。
サブネットで限定公開の Google アクセスを有効にします。
private.googleapis.comまたはrestricted.googleapis.comドメイン名を使用する場合は、これらのドメインに関連付けられた IP アドレスにトラフィックを転送する DNS レコードを作成します。具体的には、Artifact Registry ドメイン(*.pkg.dev)と Container Registry ドメイン(*.gcr.io)へのアクセスを有効にする必要があります。
詳細については、限定公開の Google アクセスの構成 > 高度なネットワーク構成をご覧ください。
API が有効で、VPC にアクセスできることを確認する
プロジェクトが VPC Service Controls 境界内にある場合は、サービス境界内で Cloud Storage API、Container Registry API、Artifact Registry API が Virtual Private Cloud(VPC)にアクセスできることを確認します。
ファイアウォール ルールを更新して TCP の下り(外向き)を許可する
ポート 80 と 443 でネットワークの TCP の下り(外向き)を許可して、Cloud Workstations がワークステーションにイメージを pull できるようにします。
Compute Engine VM の起動ログを調べて、発生する可能性があるエラーを確認する
Cloud Workstations によって作成された VM は、起動時にデバッグログをシリアル コンソールに出力します。これらのログは、サービスが VM の作成でタイムアウトした場合に役立ちます。ワークステーション用に作成された VM 名は、workstations- で始まり、その後に一意の識別子が続きます。ログ エクスプローラでログをフィルタするには、次のフィルタを使用します。
SEARCH("workstations-")
sourceLocation.function="main.setupAndRunScript"
このフィルタでログが表示されない場合は、プロジェクトでシリアルポート ロギングが有効になっていることを確認してください。ワークステーション構成でサービス アカウントを指定した場合は、サービス アカウントが Cloud Logging にログを書き込むことができるように、プロジェクトに対する logging.logEntries.create 権限があることを確認してください。シリアルポート ロギングを有効にして必要な権限を追加した後にワークステーションを起動すると、Compute Engine VM 起動スクリプトが再度実行され、ログが生成されることを確認してください。
Compute Engine API のログを調べて、発生する可能性があるエラーを確認する
Stackdriver ログに次のフィルタを使用します。
protoPayload.serviceName="compute.googleapis.com"
severity>=ERROR
Compute Engine API エラーが原因で、ワークステーション VM の作成がブロックされている可能性があります。
プロジェクトでゲスト属性を有効にする
トラブルシューティングを円滑に進めるため、プロジェクトでゲスト属性を無効にしていないことを確認してください。Cloud Workstations は、これらの属性を使用してワークステーションの起動時に特定の問題を検出し、ワークステーション構成で特定の問題をデバッグ メッセージとして報告します。