Auf dieser Seite werden die Workstation-Konfigurationsparameter beschrieben, mit denen Sie die Cloud Workstations-Umgebung anpassen können, einschließlich des VM-Typs, der Größe des Startlaufwerks, des Basiscontainer-Images usw. In der API werden diese Workstation-Konfigurationsparameter zusammen als WorkstationConfig
bezeichnet.
Bevor Sie diese Workstation-Konfigurationsparameter verwenden, machen Sie sich mit Folgendem vertraut:
Erstellen Sie eine erste Workstationkonfiguration über die Google Cloud Console.
Sehen Sie sich die Liste der vorkonfigurierten Basis-Images an.
Mehr zum Anpassen des Basis-Images und zum Automatisieren der Neuerstellung von Container-Images
- Ressource: WorkstationConfig
- Host
- GceInstance
- GceShieldedInstanceConfig
- GceConfidentialInstanceConfig
- Beschleuniger
- PersistentDirectory
- GceRegionalPersistentDisk
- ReclaimPolicy
- EphemeralDirectory
- GcePersistentDisk
- Container
- CustomerEncryptionKey
- ReadinessCheck
- Methoden
Ressource: WorkstationConfig
Eine Workstation-Konfigurationsressource in der Cloud Workstations API.
Workstationkonfigurationen dienen als Vorlagen für Workstations. Die Workstationkonfiguration definiert Details wie den Instanztyp der virtuellen Maschine (VM) der Workstation, den nichtflüchtigen Speicher, die zu verwendende IDE oder den zu verwendenden Code-Editor sowie den nichtflüchtigen Speicher, die Umgebung für das Container-Image und vieles mehr. Administratoren und Plattformteams können außerdem IAM-Regeln (Identity and Access Management) verwenden, um Teams oder einzelnen Entwicklern Zugriff zu gewähren.
JSON-Darstellung |
---|
{ "name": string, "displayName": string, "uid": string, "reconciling": boolean, "annotations": { string: string, ... }, "labels": { string: string, ... }, "createTime": string, "updateTime": string, "deleteTime": string, "etag": string, "idleTimeout": string, "runningTimeout": string, "host": { object ( |
Felder | |
---|---|
name |
ID. Vollständiger Name dieser Workstationkonfiguration. |
displayName |
Optional. Für Menschen lesbarer Name für diese Workstationkonfiguration. |
uid |
Nur Ausgabe Eine vom System zugewiesene eindeutige Kennung für diese Workstationkonfiguration. |
reconciling |
Nur Ausgabe Gibt an, ob diese Workstationkonfiguration derzeit aktualisiert wird, damit sie dem beabsichtigten Status entspricht. |
annotations |
Optional. Kundenspezifische Anmerkungen. Ein Objekt, das eine Liste von |
labels |
Optional. Labels, die auf die Workstationkonfiguration angewendet und auch an die zugrunde liegenden Compute Engine-Ressourcen weitergegeben werden. Ein Objekt, das eine Liste von |
createTime |
Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration erstellt wurde. Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
updateTime |
Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration zuletzt aktualisiert wurde. Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
deleteTime |
Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration vorläufig gelöscht wurde. Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
etag |
Optional. Vom Server berechnete Prüfsumme. Kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren über einen aktuellen Wert verfügt. |
idleTimeout |
Optional. Anzahl der Sekunden, die gewartet werden soll, bevor eine Workstation nach dem letzten Nutzertraffic automatisch beendet wird. Der Wert Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „ |
runningTimeout |
Optional. Anzahl der Sekunden, die eine Workstation ausgeführt werden kann, bis sie automatisch heruntergefahren wird. Wir empfehlen, die Workstations täglich herunterzufahren, um Kosten zu senken und Sicherheitsupdates beim Neustart anzuwenden. Die Felder Geben Sie eine Dauer an, die durch Warnung: Der Wert Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „ |
host |
Optional. Laufzeithost für die Workstation. |
persistentDirectories[] |
Optional. Verzeichnisse, die über Workstation-Sitzungen hinweg erhalten bleiben sollen. |
ephemeralDirectories[] |
Optional. Sitzungsspezifische Verzeichnisse, die über Workstationsitzungen hinweg nicht erhalten bleiben. |
container |
Optional. Container, der beim Start für jede Workstation mit dieser Workstationkonfiguration ausgeführt wird. |
encryptionKey |
Nicht veränderbar. Verschlüsselt Ressourcen dieser Workstationkonfiguration mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK). Wenn angegeben, werden das Bootlaufwerk der Compute Engine-Instanz und der nichtflüchtige Speicher mit diesem Verschlüsselungsschlüssel verschlüsselt. Wenn dieses Feld nicht festgelegt ist, werden die Laufwerke mit einem generierten Schlüssel verschlüsselt. Vom Kunden verwaltete Verschlüsselungsschlüssel schützen keine Laufwerksmetadaten. Wenn der vom Kunden verwaltete Verschlüsselungsschlüssel rotiert wird und die Workstationinstanz beendet wird, versucht das System, den nichtflüchtigen Speicher mit der neuen Schlüsselversion neu zu erstellen. Behalten Sie ältere Versionen des Schlüssels, bis der nichtflüchtige Speicher neu erstellt wird. Andernfalls können Daten im nichtflüchtigen Speicher verloren gehen. Wenn der Verschlüsselungsschlüssel widerrufen wird, wird die Workstationsitzung innerhalb von sieben Stunden automatisch beendet. Unveränderlich, nachdem die Workstationkonfiguration erstellt wurde. |
readinessChecks[] |
Optional. Bereitschaftsprüfungen, die beim Starten einer Workstation mit dieser Workstationkonfiguration ausgeführt werden sollen. Markieren Sie eine Workstation erst als ausgeführt, wenn alle angegebenen Bereitschaftsprüfungen den Statuscode 200 zurückgeben. |
replicaZones[] |
Optional. Nicht veränderbar. Gibt die Zonen an, die zum Replizieren der VM und der Laufwerksressourcen innerhalb der Region verwendet werden. Wenn festgelegt, müssen genau zwei Zonen innerhalb der Region des Workstationclusters angegeben werden, z. B. Unveränderlich, nachdem die Workstationkonfiguration erstellt wurde. |
degraded |
Nur Ausgabe Gibt an, ob diese Ressource eingeschränkt ist. In diesem Fall ist möglicherweise eine Nutzeraktion erforderlich, um die volle Funktionalität wiederherzustellen. Weitere Informationen finden Sie im Feld |
conditions[] |
Nur Ausgabe Statusbedingungen, die den aktuellen Ressourcenstatus beschreiben. |
enableAuditAgent |
Optional. Gibt an, ob das Linux- |
disableTcpConnections |
Optional. Deaktiviert die Unterstützung einfacher TCP-Verbindungen auf der Workstation. Standardmäßig unterstützt der Dienst TCP-Verbindungen über ein WebSocket-Relay. Wenn Sie diese Option auf „true“ festlegen, wird das Relay deaktiviert. Dadurch wird die Nutzung von Diensten verhindert, die einfache TCP-Verbindungen benötigen, z. B. SSH. Wenn diese Option aktiviert ist, muss die gesamte Kommunikation über HTTPS oder WSS erfolgen. |
Host
Laufzeithost für eine Workstation.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld config . Hosttyp, der für die Laufzeit der Workstation verwendet werden soll. Für config ist nur einer der folgenden Werte zulässig: |
|
gceInstance |
Gibt eine Compute Engine-Instanz als Host an. |
GceInstance
Eine Laufzeit, die eine Compute Engine-Instanz verwendet.
JSON-Darstellung |
---|
{ "machineType": string, "serviceAccount": string, "serviceAccountScopes": [ string ], "tags": [ string ], "poolSize": integer, "pooledInstances": integer, "disablePublicIpAddresses": boolean, "enableNestedVirtualization": boolean, "shieldedInstanceConfig": { object ( |
Felder | |
---|---|
machineType |
Optional. Der Maschinentyp, der für VM-Instanzen verwendet werden soll, z. B. |
serviceAccount |
Optional. Die E-Mail-Adresse des Dienstkontos für Cloud Workstations-VMs, die mit dieser Konfiguration erstellt wurden. Wenn dieses Flag angegeben ist, muss das Dienstkonto die Berechtigung Wenn Sie als Administrator in der Lage sein möchten, Wenn nichts festgelegt ist, werden VMs mit einem vom Cloud Workstations-Dienst bereitgestellten Dienstkonto ausgeführt und das Image muss öffentlich zugänglich sein. |
serviceAccountScopes[] |
Optional. Bereiche, die dem |
tags[] |
Optional. Netzwerk-Tags, die den Compute Engine-VMs hinzugefügt werden sollen, die die Workstations sichern. Diese Option wendet Netzwerk-Tags auf VMs an, die mit dieser Konfiguration erstellt wurden. Mit diesen Netzwerk-Tags können Firewallregeln erstellt werden. |
poolSize |
Optional. Die Anzahl der VMs, die das System inaktiv lassen soll, damit neue Workstations für neue Nutzer schnell gestartet werden können. In der API ist die Standardeinstellung |
pooledInstances |
Nur Ausgabe Anzahl der Instanzen, die derzeit im Pool für einen schnelleren Workstationstart verfügbar sind. |
disablePublicIpAddresses |
Optional. Wenn diese Option auf „true“ gesetzt ist, werden öffentliche IP-Adressen für VMs deaktiviert. Wenn Sie öffentliche IP-Adressen deaktivieren, müssen Sie in Ihrem Netzwerk den privater Google-Zugriff oder Cloud NAT einrichten. Wenn Sie den privater Google-Zugriff und |
enableNestedVirtualization |
Optional. Gibt an, ob die verschachtelte Virtualisierung auf Cloud Workstations-VMs aktiviert werden soll, die mit dieser Workstationkonfiguration erstellt wurden. Mit der verschachtelten Virtualisierung können Sie VM-Instanzen auf Ihrer Workstation ausführen. Bevor Sie die verschachtelte Virtualisierung aktivieren, sollten Sie die folgenden wichtigen Überlegungen berücksichtigen. Cloud Workstations-Instanzen unterliegen denselben Einschränkungen wie Compute Engine-Instanzen:
|
shieldedInstanceConfig |
Optional. Eine Reihe von Optionen für abgeschirmte Compute Engine-Instanzen. |
confidentialInstanceConfig |
Optional. Eine Reihe von Optionen für Confidential VM-Instanzen von Compute Engine. |
bootDiskSizeGb |
Optional. Die Größe des Bootlaufwerks für die VM in Gigabyte (GB). Die Mindestgröße des Bootlaufwerks beträgt |
accelerators[] |
Optional. Eine Liste des Typs und der Anzahl der Beschleunigerkarten, die an die Instanz angehängt sind. |
disableSsh |
Optional. Gibt an, ob der SSH-Zugriff auf die VM deaktiviert werden soll. |
GceShieldedInstanceConfig
Eine Reihe von Optionen für abgeschirmte Compute Engine-Instanzen.
JSON-Darstellung |
---|
{ "enableSecureBoot": boolean, "enableVtpm": boolean, "enableIntegrityMonitoring": boolean } |
Felder | |
---|---|
enableSecureBoot |
Optional. Gibt an, ob für die Instanz Secure Boot aktiviert ist. |
enableVtpm |
Optional. Gibt an, ob für die Instanz das vTPM aktiviert ist. |
enableIntegrityMonitoring |
Optional. Gibt an, ob für die Instanz das Integritätsmonitoring aktiviert ist. |
GceConfidentialInstanceConfig
Eine Reihe von Optionen für Confidential VM-Instanzen von Compute Engine.
JSON-Darstellung |
---|
{ "enableConfidentialCompute": boolean } |
Felder | |
---|---|
enableConfidentialCompute |
Optional. Gibt an, ob für die Instanz Confidential Computing aktiviert ist. |
Beschleuniger
Eine an die Instanz angehängte Beschleunigerkarte.
JSON-Darstellung |
---|
{ "type": string, "count": integer } |
Felder | |
---|---|
type |
Optional. Typ der Beschleunigerressource, die an die Instanz angehängt werden soll, z. B. |
count |
Optional. Anzahl der Beschleunigerkarten, die für die Instanz verfügbar gemacht wurden. |
PersistentDirectory
Ein Verzeichnis, das über Workstationsitzungen hinweg erhalten bleibt.
JSON-Darstellung |
---|
{ "mountPath": string, // Union field |
Felder | |
---|---|
mountPath |
Optional. Speicherort dieses Verzeichnisses auf der ausgeführten Workstation. |
Union-Feld directory_type . Wie ein nichtflüchtiges Verzeichnis implementiert werden sollte Für directory_type ist nur einer der folgenden Werte zulässig: |
|
gcePd |
Ein Persistent Directory in Verbindung mit einem nichtflüchtigen Compute Engine-Speicher. |
GceRegionalPersistentDisk
Ein nichtflüchtiges Verzeichnis, das von einem regionalen nichtflüchtigen Compute Engine-Speicher unterstützt wird. Das Feld persistentDirectories
wird wiederholt, darf aber nur einen Eintrag enthalten. Dabei wird ein nichtflüchtiger Speicher erstellt, der beim Start der Sitzung unter /home
auf der Workstation-VM bereitgestellt und bei Ende der Sitzung getrennt wird. Wenn dieses Feld leer ist, haben Workstations, die mit dieser Konfiguration erstellt wurden, kein persistentes Basisverzeichnis.
JSON-Darstellung |
---|
{
"sizeGb": integer,
"fsType": string,
"diskType": string,
"sourceSnapshot": string,
"reclaimPolicy": enum ( |
Felder | |
---|---|
sizeGb |
Optional. Die Kapazität eines nichtflüchtigen Basisverzeichnisses für jede mit dieser Konfiguration erstellte Workstation in GB. Muss leer sein, wenn Gültige Werte sind |
fsType |
Optional. Typ des Dateisystems, mit dem das Laufwerk formatiert werden soll. Das Workstation-Image muss diesen Dateisystemtyp unterstützen. Muss leer sein, wenn |
diskType |
Optional. Der Typ des nichtflüchtigen Speichers des Basisverzeichnisses. Die Standardeinstellung ist |
sourceSnapshot |
Optional. Name des Snapshots, der als Quelle für das Laufwerk verwendet werden soll. Wenn festgelegt, müssen |
reclaimPolicy |
Optional. Gibt an, ob der nichtflüchtige Speicher beim Löschen der Workstation gelöscht werden soll. Gültige Werte sind |
ReclaimPolicy
Wert, der angibt, was mit dem Laufwerk geschehen soll, nachdem die Workstation gelöscht wurde.
Enums | |
---|---|
RECLAIM_POLICY_UNSPECIFIED |
Nicht verwenden. |
DELETE |
Löschen Sie den nichtflüchtigen Speicher, wenn Sie die Workstation löschen. |
RETAIN |
Behalten Sie den nichtflüchtigen Speicher, wenn Sie die Workstation löschen. Ein Administrator muss das Laufwerk manuell löschen. |
EphemeralDirectory
Ein sitzungsspezifisches Verzeichnis, das über Workstationsitzungen hinweg nicht erhalten bleibt. Sie wird bei jedem Startvorgang der Workstation neu erstellt.
JSON-Darstellung |
---|
{ "mountPath": string, // Union field |
Felder | |
---|---|
mountPath |
Erforderlich. Speicherort dieses Verzeichnisses auf der ausgeführten Workstation. |
Union-Feld directory_type . Implementierung eines sitzungsspezifischen Verzeichnisses Für directory_type ist nur einer der folgenden Werte zulässig: |
|
gcePd |
Ein EphemeralDirectory, das von einem nichtflüchtigen Compute Engine-Speicher gestützt wird. |
GcePersistentDisk
Ein EphemeralDirectory wird von einem nichtflüchtigen Compute Engine-Speicher unterstützt.
JSON-Darstellung |
---|
{ "diskType": string, "sourceSnapshot": string, "sourceImage": string, "readOnly": boolean } |
Felder | |
---|---|
diskType |
Optional. Typ des zu verwendenden Laufwerks. Die Standardeinstellung ist |
sourceSnapshot |
Optional. Name des Snapshots, der als Quelle für das Laufwerk verwendet werden soll. Muss leer sein, wenn |
sourceImage |
Optional. Name des Laufwerk-Images, das als Quelle für das Laufwerk verwendet werden soll. Muss leer sein, wenn |
readOnly |
Optional. Gibt an, ob das Laufwerk schreibgeschützt ist. Bei „true“ kann das Laufwerk von mehreren VMs gemeinsam genutzt werden und |
Container
Ein Docker-Container.
JSON-Darstellung |
---|
{ "image": string, "command": [ string ], "args": [ string ], "env": { string: string, ... }, "workingDir": string, "runAsUser": integer } |
Felder | |
---|---|
image |
Optional. Ein Docker-Container-Image, das eine benutzerdefinierte Umgebung definiert. Cloud Workstations bietet eine Reihe vorkonfigurierter Images. Sie können aber auch eigene benutzerdefinierte Container-Images erstellen. Wenn Sie ein privates Image verwenden, muss das Feld |
command[] |
Optional. Überschreibt den vom Image angegebenen Standard-Einstiegspunkt. |
args[] |
Optional. An den Einstiegspunkt übergebene Argumente. |
env |
Optional. An den Einstiegspunkt des Containers übergebene Umgebungsvariablen. Ein Objekt, das eine Liste von |
workingDir |
Optional. Überschreibt das vom Image angegebene Standardverzeichnis. |
runAsUser |
Optional. Überschreibt den im Image angegebenen USER mit der angegebenen UID. |
CustomerEncryptionKey
Ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) für die Compute Engine-Ressourcen der zugehörigen Workstationkonfiguration. Geben Sie den Namen Ihres Cloud KMS-Verschlüsselungsschlüssels und das Standarddienstkonto an. Wir empfehlen, ein separates Dienstkonto zu verwenden und die Best Practices für Cloud KMS zu befolgen.
JSON-Darstellung |
---|
{ "kmsKey": string, "kmsKeyServiceAccount": string } |
Felder | |
---|---|
kmsKey |
Nicht veränderbar. Der Name des Google Cloud KMS-Verschlüsselungsschlüssels. Beispiel: |
kmsKeyServiceAccount |
Nicht veränderbar. Das Dienstkonto, das mit dem angegebenen KMS-Schlüssel verwendet werden soll. Wir empfehlen, ein separates Dienstkonto zu verwenden und die Best Practices für KMS zu befolgen. Weitere Informationen finden Sie unter Aufgabentrennung und |
ReadinessCheck
Eine Bereitschaftsprüfung, die auf einer Workstation ausgeführt werden soll.
JSON-Darstellung |
---|
{ "path": string, "port": integer } |
Felder | |
---|---|
path |
Optional. Pfad, an den die Anfrage gesendet werden soll. |
port |
Optional. Port, an den die Anfrage gesendet werden soll. |
Methoden |
|
---|---|
|
Erstellt eine neue Workstationkonfiguration. |
|
Löscht die angegebene Workstationkonfiguration. |
|
Gibt die angeforderte Workstationkonfiguration zurück. |
|
Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab. |
|
Gibt alle Workstationkonfigurationen im angegebenen Cluster zurück. |
|
Gibt alle Workstationkonfigurationen im angegebenen Cluster zurück, auf denen der Aufrufer die Berechtigung „workstations.workstation.create“ hat. |
|
Aktualisiert eine vorhandene Workstationkonfiguration. |
|
Legt die Zugriffssteuerungsrichtlinie für die angegebene Ressource fest. |
|
Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück. |