Einführung in den Vm-Konsolendienst
Der Konsolendienst für virtuelle Computer (VM) bietet verwalteten Zugriff auf einen virtuellen Computer, der in einer Operator Nexus-Instanz gehostet wird. Es basiert auf dem Azure Private Link Service (PLS), um eine private Netzwerkverbindung zwischen dem Netzwerk des Benutzers und dem privaten Netzwerk des Azure Operator Nexus Cluster Managers herzustellen.
Weitere Informationen zu Netzwerkressourcen, die private Konnektivität mit einer Operator Nexus-Instanz ermöglichen, finden Sie in der Einführung in Azure Private Link.
Dieses Dokument enthält anleitungen zur Verwendung des VM-Konsolendiensts zum Einrichten einer Sitzung mit einem virtuellen Computer in einer Operator Nexus-Instanz.
Dieser Leitfaden hilft Ihnen bei:
- Richten Sie eine sichere private Netzwerkkonnektivität zwischen Ihrem Netzwerk und dem privaten Netzwerk des Cluster-Managers ein.
- Erstellen Sie eine Konsolenressource in Ihrer Workload-/Mandantenressourcengruppe mithilfe des
az networkcloud virtualmachine console
CLI-Befehls. - Initiieren Sie eine SSH-Sitzung, um eine Verbindung mit der Konsole des virtuellen Computers herzustellen.
Hinweis
Um zu vermeiden, dass der --subscription
Parameter an jeden Azure CLI-Befehl übergeben wird, führen Sie den folgenden Befehl aus:
az account set --subscription "your-subscription-ID"
Voraussetzungen
- Installieren Sie die neueste Version der entsprechenden CLI-Erweiterungen.
Festlegen von Variablen
Um die Umgebung für den Zugriff auf virtuelle Computer einzurichten, definieren Sie diese Umgebungsvariablen, die von den verschiedenen Befehlen in diesem Handbuch verwendet werden.
Hinweis
Diese Umgebungsvariablenwerte spiegeln keine echte Bereitstellung wider, und Benutzer müssen sie entsprechend ihren Umgebungen ändern.
Beachten Sie, dass der erste Satz von Variablen im folgenden Abschnitt für den Cluster-Manager und nicht für den Cluster-Manager gilt.
# CM_HOSTED_RESOURCES_RESOURCE_GROUP: Cluster Manager resource group name
export CM_HOSTED_RESOURCES_RESOURCE_GROUP="my-contoso-console-rg"
# CM_EXTENDED_LOCATION: Cluster Manager Extended Location, can be retrieved but you will need access rights to execute certain Azure CLI commands
export CM_EXTENDED_LOCATION="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName"
# VIRTUAL_MACHINE_NAME: Virtual Machine name you want to access through VM Console service
export VIRTUAL_MACHINE_NAME="my-undercloud-vm"
# CONSOLE_PUBLIC_KEY: Public Key matching Private Key to be used when establish `ssh` session, e.g., `ssh -i $HOME/.ssh/id-rsa`
export CONSOLE_PUBLIC_KEY="xxxx-xxxx-xxxxxx-xxxx"
# CONSOLE_EXPIRATION_TIME: Expiration date and time (RFC3339 format) for any `ssh` session with a virtual machine.
export CONSOLE_EXPIRATION_TIME="2023-06-01T01:27:03.008Z"
# PRIVATE_ENDPOINT_RG: Resource group name that Private Endpoint will be created on
export PRIVATE_ENDPOINT_RG="my-work-env-rg"
# PRIVATE_ENDPOINT_NAME: Private Endpoint's name you choose
export PRIVATE_ENDPOINT_NAME="my-work-env-ple"
# PRIVATE_ENDPOINT_CONNECTION_NAME: PLE/PLS connection name you choose
export PRIVATE_ENDPOINT_CONNECTION_NAME="my-contoso-ple-pls-connection"
# PRIVATE_ENDPOINT_REGION: Location where Private Endpoint will be created
export PRIVATE_ENDPOINT_REGION="eastus"
# PRIVATE_ENDPOINT_VNET: Virtual Network to be used by the Private Endpoint
export PRIVATE_ENDPOINT_VNET="my-work-env-ple-vnet"
# PRIVATE_ENDPOINT_SUBNET: Subnetwork to be used by the Private Endpoint
export PRIVATE_ENDPOINT_SUBNET="my-work-env-ple-subnet"
Erstellen einer Konsolenressource
Die Konsolenressource stellt die Informationen über den virtuellen Computer bereit, z. B. VM-Name, öffentlicher SSH-Schlüssel, Ablaufdatum für die SSH-Sitzung usw.
Dieser Abschnitt enthält schrittweise Anleitungen zum Erstellen einer Konsolenressource mithilfe von Azure CLI-Befehlen.
Um eine Konsolenressource im Cluster-Manager zu erstellen, müssen Sie einige Informationen sammeln, z. B. Ressourcengruppe (CM_HOSTED_RESOURCES_RESOURCE_GROUP) und benutzerdefinierten Speicherort (CM_EXTENDED_LOCATION). Sie müssen die Ressourcengruppe bereitstellen, aber Sie können den benutzerdefinierten Speicherort abrufen, wenn Sie Über Zugriffsrechte zum Ausscheiden der unten aufgeführten Befehle verfügen.
export cluster_manager_resource_id=$(az resource list -g ${CM_HOSTED_RESOURCES_RESOURCE_GROUP} --query "[?type=='Microsoft.NetworkCloud/clusterManagers'].id" --output tsv) export CM_EXTENDED_LOCATION=$(az resource show --ids $cluster_manager_resource_id --query "properties.managerExtendedLocation.name" | tr -d '"')
Das erste, bevor Sie eine SSH-Sitzung mit einer VM einrichten können, besteht darin, eine Konsolenressource im Cluster-Manager zu erstellen.
az networkcloud virtualmachine console create \ --virtual-machine-name "${VIRTUAL_MACHINE_NAME}" \ --resource-group "${CM_HOSTED_RESOURCES_RESOURCE_GROUP}" \ --extended-location name="${CM_EXTENDED_LOCATION}" type="CustomLocation" \ --enabled True \ --key-data "${CONSOLE_PUBLIC_KEY}" \ [--expiration "${CONSOLE_EXPIRATION_TIME}"]
Wenn Sie den
--expiration
Parameter weglassen, wird der Ablauf standardmäßig auf einen Tag nach der Erstellung der Konsolenressource festgelegt. Beachten Sie außerdem, dass dasexpiration
Datums- und Uhrzeitformat RFC3339 andernfalls schlägt die Erstellung der Konsolenressource fehl.Hinweis
Rufen Sie für einen vollständigen Überblick über diesen Befehl auf
az networkcloud console create --help
.Rufen Sie bei erfolgreicher Erstellung der Konsolenressource den Bezeichner des privaten Linkdiensts ab, der zum Erstellen des Endpunkts für private Links (PRIVATE Link Endpoint, PLE) erforderlich ist.
export pls_resourceid=$(az networkcloud virtualmachine console show \ --virtual-machine-name "${VIRTUAL_MACHINE_NAME}" \ --resource-group "${CM_HOSTED_RESOURCES_RESOURCE_GROUP}" \ --query "privateLinkServiceId")
Rufen Sie außerdem die VM-Zugriffs-ID ab. Sie müssen diesen eindeutigen Bezeichner als
user
ssh
Sitzung verwenden.virtual_machine_access_id=$(az networkcloud virtualmachine console show \ --virtual-machine-name "${VIRTUAL_MACHINE_NAME}" \ --resource-group "${CM_HOSTED_RESOURCES_RESOURCE_GROUP}" \ --query "virtualMachineAccessId")
Hinweis
Rufen Sie für einen vollständigen Überblick über diesen Befehl auf az networkcloud virtualmachine console show --help
.
Einrichten von Verbinden ivität des privaten Netzwerks
Um eine sichere Sitzung mit einem virtuellen Computer einzurichten, müssen Sie eine private Netzwerkkonnektivität zwischen Ihrem Netzwerk und dem privaten Netzwerk des Cluster-Managers einrichten.
Dieses private Netzwerk basiert auf dem Azure Private Link Endpoint (PLE) und dem Azure Private Link Service (PLS).
Der Cluster-Manager erstellt automatisch einen PLS, sodass Sie eine private Netzwerkverbindung zwischen Ihrem Netzwerk und dem privaten Netzwerk des Cluster-Managers herstellen können.
Dieser Abschnitt enthält eine schrittweise Anleitung, die Sie bei der Einrichtung einer privaten Netzwerkkonnektivität unterstützt.
Erstellen Sie das PLE zum Einrichten einer privaten und sicheren Verbindung zwischen Ihrem Netzwerk und dem privaten Netzwerk des Cluster-Managers. Sie benötigen die PLS-Ressourcen-ID, die in der Erstellung der Konsolenressource abgerufen wurde.
az network private-endpoint create \ --connection-name "${PRIVATE_ENDPOINT_CONNECTION_NAME}" \ --name "${PRIVATE_ENDPOINT_NAME}" \ --private-connection-resource-id "${pls_resourceid}" \ --resource-group "${PRIVATE_ENDPOINT_RG}" \ --vnet-name "${PRIVATE_ENDPOINT_VNET}" \ --subnet "${PRIVATE_ENDPOINT_SUBNET}" \ --manual-request false
Hinweis
Sie benötigen nur einen privaten Endpunkt pro Cluster-Manager.
Rufen Sie die private IP-Adresse ab, die der PLE zugeordnet ist, die Sie beim Einrichten der
ssh
Sitzung benötigen.export ple_interface_id=$(az network private-endpoint list --resource-group ${PRIVATE_ENDPOINT_RG} --query "[0].networkInterfaces[0].id" -o tsv) export sshmux_ple_ip=$(az network nic show --ids $ple_interface_id --query 'ipConfigurations[0].privateIPAddress' -o tsv) echo "sshmux_ple_ip: ${sshmux_ple_ip}"
Einrichten einer SSH-Sitzung mit virtuellem Computer
An diesem Punkt haben Sie die virtual_machine_access_id
und die sshmux_ple_ip
. Diese Eingabe ist die informationen, die zum Einrichten einer Sitzung mit dem virtuellen Computer erforderlich sind.
Der VM-Konsolendienst ist ein ssh
Server, der die Sitzung an die angegebene VM weitergibt. Der sshmux_ple_ip
indirekte Verweis auf den VM-Konsolendienst und den virtual_machine_access_id
Bezeichner für den virtuellen Computer.
Wichtig
Der VM-Konsolendienst überwacht den Port2222
, daher müssen Sie diese Portnummer im ssh
Befehl angeben.
SSH [-i path-to-private-SSH-key] -p 2222 $virtual_machine_access_id@$sshmux_ple_ip
Der VM-Konsolendienst wurde so konzipiert, dass nur eine Sitzung pro virtueller Computer zulässig ist. Jeder, der eine weitere erfolgreiche Sitzung auf einem virtuellen Computer einrichtet, schließt eine vorhandene Sitzung.
Wichtig
Der private SSH-Schlüssel, der für die Authentifizierung der Sitzung verwendet wird (Standard: $HOME/.ssh/id_rsa
) MUSS mit dem öffentlichen SSH-Schlüssel übereinstimmen, der beim Erstellen der Konsolenressource als Parameter übergeben wird.
Aktualisieren der Konsolenressource
Sie können die Sitzung auf einen bestimmten virtuellen Computer deaktivieren, indem Sie das Ablaufdatum/die Uhrzeit und/oder den öffentlichen SSH-Schlüssel aktualisieren, der beim Erstellen der Sitzung mit einer VM verwendet wird.
az networkcloud virtualmachine console update \
--virtual-machine-name "${VIRTUAL_MACHINE_NAME}" \
--resource-group "${VM_RESOURCE_GROUP}" \
[--enabled True | False] \
[--key-data "${CONSOLE_PUBLIC_KEY}"] \
[--expiration "${CONSOLE_EXPIRATION_TIME}"]
Wenn Sie den Zugriff auf einen virtuellen Computer deaktivieren möchten, müssen Sie die Konsolenressource mit dem Parameter enabled False
aktualisieren. Dieses Update schließt alle vorhandenen Sitzungen und schränkt alle nachfolgenden Sitzungen ein.
Hinweis
Bevor Sie eine Sitzung auf einem virtuellen Computer erstellen, muss die entsprechende Konsolenressource auf <
Wenn eine Konsolenzeit --expiration
abläuft, wird jede Sitzung geschlossen, die der Konsolenressource entspricht. Sie müssen die Ablaufzeit mit einem zukünftigen Wert aktualisieren, damit Sie eine neue Sitzung einrichten können.
Wenn Sie den öffentlichen SSH-Schlüssel der Konsole aktualisieren, schließt der VM-Konsolendienst alle aktiven Sitzungen, auf die von der Konsolenressource verwiesen wird. Sie müssen einen übereinstimmenden privaten SSH-Schlüssel bereitstellen, der dem neuen öffentlichen Schlüssel entspricht, wenn Sie eine neue Sitzung einrichten.
Aufräumen (optional)
Zum sauber Ihrer VM-Konsolenumgebung müssen Sie die Konsolenressource und den Privaten Link-Endpunkt löschen.
Löschen der Konsolenressource
az networkcloud virtualmachine console delete \ --virtual-machine-name "${VIRTUAL_MACHINE_NAME}" \ --resource-group "${VM_RESOURCE_GROUP}"
Löschen des Endpunkts für private Verknüpfungen
az network private-endpoint delete \ --name ${PRIVATE_ENDPOINT_NAME}-ple \ --resource-group ${PRIVATE_ENDPOINT_NAME}-rg
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für