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.
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Definieren Sie Ihr Agent-basiertes Experiment wie unter Erstellen eines Chaos-Experiments mit einem Agent-basierten Fehler über das Azure-Portal beschrieben.
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.
- 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.
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" --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) |
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.
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" --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.
Starten Sie den Azure Chaos-Agent-Dienst auf dem virtuellen Computer neu, nachdem Sie alle erforderlichen Änderungen am Host vorgenommen haben.
Unter Linux führen Sie den folgenden Befehl in der CLI aus:
Systemctl restart azure-chaos-agent
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.