Konfigurieren von Private Link für Agent-basierte Experimente (Vorschau)

In diesem Artikel werden die Schritte erläutert, die zum Konfigurieren von Azure Private Link für ein Agent-basiertes Azure Chaos Studio-Experiment (Vorschau) erforderlich sind. Die aktuelle Benutzererfahrung basiert auf der Unterstützung privater Endpunkte, die als Teil der Public Preview des Features für private Endpunkte aktiviert wurde. Es ist zu erwarten, dass sich diese Erfahrung mit der Zeit weiterentwickelt, während die Qualität des Features für die allgemeine Verfügbarkeit verbessert wird. Es befindet sich derzeit in der Vorschau.


Voraussetzungen

Hinweis

Wenn die Zielressource mithilfe des Azure-Portals erstellt wurde, wird die VM-Erweiterung (Virtual Machine, virtueller Computer) des Chaos-Agents automatisch auf dem virtuellen Hostcomputer installiert. Wenn das Ziel mithilfe der Azure CLI aktiviert wird, folgen Sie der Chaos Studio-Dokumentation, um die VM-Erweiterung zuerst auf dem virtuellen Computer zu installieren. Bis zum Abschluss der Einrichtung des privaten Endpunkts meldet die VM-Erweiterung einen fehlerhaften Zustand. Dies ist das erwartete Verhalten.


Begrenzungen

  • Sie müssen unsere REST-API 2023-10-27-preview verwenden, um eine Private Link-Instanz nur für Agent-basierte Experimente zu erstellen und zu verwenden. In unserer stabilen allgemein verfügbaren REST-API ist bis H1 2024 keine Private Link-Unterstützung für Agent-basierte Experimente verfügbar.
  • Der gesamte End-to-End-Vorgang für diesen Flow erfordert bis zu einem gewissen Grad die Nutzung der CLI. Der aktuelle End-to-End-Vorgang ist nicht über das Azure-Portal möglich.
  • Für den Ressourcentyp Chaos Studio Private Accesses (CSPA) gibt es eine strenge 1:1-Zuordnung zwischen Chaos-Ziel und CSPA-Ressource (Abstraktion für private Endpunkte). Pro Abonnement dürfen nur fünf CSPA-Ressourcen erstellt werden, um die erwartete Erfahrung für alle unsere Kunden zu gewährleisten.

Erstellen einer CSPA-Ressource (Chaos Studio Private Access)

Um private Endpunkte für Agent-basierte Chaos-Experimente verwenden zu können, müssen Sie einen neuen Ressourcentyp namens „Chaos Studio Private Accesses“ erstellen. CSPA ist die Ressource, mit der die privaten Endpunkte erstellt werden.

Derzeit kann diese Ressource nur über die CLI erstellt werden. Der folgende Beispielcode zeigt, wie Sie diesen Ressourcentyp erstellen:

az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --uri-parameters api-version=2023-10-27-preview --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body ' 

{ 

   "location": "<resourceLocation>", 

   "properties": { 

       "id": "<CSPAResourceName>", 

       "name": "<CSPAResourceName>", 

       "location": "<resourceLocation>", 

       "type": "Microsoft.Chaos/privateAccesses", 

       "resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>" 

   } 

}'
Name Erforderlich Type BESCHREIBUNG
subscriptionID True String GUID, die eine Azure-Abonnement-ID darstellt
resourceGroupName True String Zeichenfolge, die eine Azure-Ressourcengruppe darstellt
CSPAResourceName True String Zeichenfolge, die den Namen darstellt, den Sie Ihrer Chaos Studio Private Access-Ressource zuweisen möchten
resourceLocation True String Standort, an dem die Ressource gehostet werden soll (muss sich in einer unterstützten Region von Chaos Studio befinden)

Erstellen von virtuellem Netzwerk, Subnetz und privatem Endpunkt

Richten Sie das gewünschte virtuelle Netzwerk, das Subnetz und den Endpunkt für das Experiment ein, sofern noch nicht geschehen.

Achten Sie beim Anfügen darauf, dass Sie das virtuelle Netzwerk des gleichen virtuellen Computers verwenden. Die Screenshots enthalten Beispiele für die Erstellung des virtuellen Netzwerks, des Subnetzes und des privaten Endpunkts. Ressourcentyp muss auf Microsoft.Chaos/privateAccesses festgelegt werden, wie auf dem Screenshot zu sehen.

Screenshot that shows the Resource tab of private endpoint creation.

Screenshot that shows the Virtual Network tab of private endpoint creation.

Zuordnen des virtuellen Computers des Agent-Hosts zur CSPA-Ressource

Suchen Sie mithilfe eines GetTarget-Aufrufs nach der Ressourcen-ID (Resource ID) des Ziels:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview

Der GET-Befehl gibt eine umfangreiche Antwort zurück. Beachten Sie diese Antwort. Wir verwenden diese Antwort und ändern sie vor dem Ausführen des PUT Target-Befehls, um die beiden Ressourcen zuzuordnen.


Rufen Sie einen PUT Target-Befehl unter Verwendung dieser Antwort auf. Sie müssen zwei weitere Felder an den Text des PUT-Befehls anfügen, bevor Sie ihn ausführen.

Diese zusätzlichen Felder werden hier gezeigt:

"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false

},

Hier ist ein Beispielblock, der zeigt, wie der PUT Target-Befehl aussehen sollte und welche Felder ausgefüllt werden müssen:

Hinweis

Kopieren Sie den Text aus dem vorherigen GET-Befehl. Die Felder privateAccessID und allowPublicAccess müssen manuell angefügt werden.


az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --uri-parameters api-version=2023-10-27-preview --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
    "id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
    "type": "Microsoft.Chaos/targets",
    "name": "Microsoft-Agent",
    "location": "<resourceLocation>",
    "properties": {
        "agentProfileId": "<from target resource>",
        "identities": [
            {
                "type": "AzureManagedIdentity",
                "clientId": "<clientID>",
                "tenantId": "<tenantID>"
            }
        ],
        "agentTenantId": "CHAOSSTUDIO",
        "privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
        "allowPublicAccess": false
    }} '

Hinweis

Der PrivateAccessID-Wert muss mit dem resourceID-Wert identisch sein, den Sie im vorherigen Abschnitt Erstellen einer CSPA-Ressource (Chaos Studio Private Access) zum Erstellen der CSPA-Ressource verwendet haben.

Neustarten des Azure Chaos-Agent-Diensts auf dem virtuellen Computer

Starten Sie den Azure Chaos-Agent-Dienst auf dem virtuellen Computer neu, nachdem Sie alle erforderlichen Änderungen am Host vorgenommen haben.

Windows

Screenshot that shows restarting the Windows VM.

Linux

Unter Linux führen Sie den folgenden Befehl in der CLI aus:

Systemctl restart azure-chaos-agent

Screenshot that shows restarting the Linux VM.

Ausführen Ihres Agent-basierten Experiments mit privaten Endpunkten

Nach dem Neustart sollte der Azure Chaos-Agent mit dem Agent Communication-Datenebenendienst kommunizieren können, und die Agent-Registrierung für die Datenebene sollte erfolgreich sein. Nach erfolgreicher Registrierung kann der Agent seinen Status mit einem Heartbeat angeben. Anschließend können Sie Experimente auf Basis des Azure Chaos-Agents unter Verwendung privater Endpunkte ausführen.