Configurare il collegamento privato per gli esperimenti basati su agente (anteprima)
Questo articolo illustra i passaggi necessari per configurare il collegamento privato di Azure per un esperimento basato su agente di Azure Chaos Studio (anteprima). L'esperienza utente corrente si basa sul supporto degli endpoint privati, abilitato nell'ambito dell'anteprima pubblica della funzionalità degli endpoint privati. Questa esperienza verrà ampliata nel corso del tempo man mano che la funzionalità verrà migliorata, fino alla qualità di disponibilità generale (GA). Al momento è in anteprima.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Definire l'esperimento basato su agente seguendo la procedura descritta in Creare un esperimento di Chaos che usa un errore basato su agente con il portale di Azure.
Nota
Se la risorsa di destinazione è stata creata usando il portale di Azure, l'estensione macchina virtuale (VM) di Chaos Agent viene installata automaticamente nella macchina virtuale host. Se la destinazione è abilitata usando l'interfaccia della riga di comando di Azure, seguire la documentazione di Chaos Studio per installare prima l'estensione della macchina virtuale nella VM. Fino a quando non si completa la configurazione dell'endpoint privato, l'estensione della macchina virtuale segnala uno stato non integro. Si tratta di un comportamento previsto.
Limiti
- È necessario usare l'API REST 2023-10-27-preview per creare e usare il collegamento privato solo per gli esperimenti basati su agente. Non è disponibile alcun supporto per il collegamento privato per gli esperimenti basati su agente nell'API REST con disponibilità generale stabile fino alla prima metà del 2024.
- L'intera esperienza end-to-end per questo flusso richiede un uso dell'interfaccia della riga di comando. L'esperienza end-to-end corrente non può essere eseguita dal portale di Azure.
- Il tipo di risorsa accesso privato di Chaos Studio (CSPA) ha un rigoroso mapping 1:1 della risorsa Chaos Target:CSPA (astrazione per l'endpoint privato). È possibile creare solo cinque risorse CSPA per ogni sottoscrizione per mantenere l'esperienza prevista per tutti i clienti.
Creare una risorsa accesso privato di Chaos Studio
Per usare endpoint privati per esperimenti di Chaos basati su agente, è necessario creare un nuovo tipo di risorsa denominato accesso privato di Chaos Studio (CSPA). CSPA è la risorsa in base alla quale vengono creati gli endpoint privati.
Attualmente, questa risorsa può essere creata solo dall'interfaccia della riga di comando. Per informazioni su come creare questo tipo di risorsa, vedere il codice di esempio seguente:
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>"
}
}'
Nome | Obbligatorio | Type | Descrizione |
---|---|---|---|
subscriptionid | Vero | String | GUID che rappresenta un ID sottoscrizione di Azure. |
resourceGroupName | Vero | String | Stringa che rappresenta un gruppo di risorse di Azure. |
CSPAResourceName | Vero | String | Stringa che rappresenta il nome che si vuole assegnare alla risorsa accesso privato di Chaos Studio. |
resourceLocation | Vero | String | Posizione in cui si vuole ospitare la risorsa (deve essere un'area di supporto di Chaos Studio). |
Creare la rete virtuale, la subnet e l'endpoint privato
Configurare la rete virtuale, la subnet e l'endpoint desiderati per l'esperimento, se non è già stato fatto.
Assicurarsi di collegarlo alla stessa rete virtuale della macchina virtuale. Screenshot che illustrano come creare la rete virtuale, la subnet e l'endpoint privato. È necessario impostare il Tipo di risorsa su Microsoft.Chaos/privateAccesses, come illustrato nella screenshot.
Eseguire il mapping della macchina virtuale host dell'agente alla risorsa CSPA
Trovare la destinazione Resource ID
effettuando una chiamata GetTarget
:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview
Il comando GET
restituisce una risposta di grandi dimensioni. Annotare la risposta. Questa risposta verrà usata e modificata prima di eseguire un comando PUT Target
per eseguire il mapping delle due risorse.
Richiamare un comando PUT Target
usando questa risposta. Prima di eseguirlo, è necessario aggiungere altri due campi al corpo del comando PUT
.
Questi campi aggiuntivi sono illustrati di seguito:
"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false
},
Di seguito è riportato un blocco di esempio con l'aspetto del comando PUT Target
e i campi da compilare:
Nota
Copiare il corpo dal comando GET
precedente. È necessario aggiungere manualmente i campi privateAccessID
e allowPublicAccess
.
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
}} '
Nota
Il valore PrivateAccessID
deve corrispondere esattamente al valore resourceID
usato per creare la risorsa CSPA nella sezione precedente Creare una risorsa accesso privato di Chaos Studio.
Riavviare il servizio Azure Chaos Agent nella macchina virtuale
Dopo aver apportato tutte le modifiche necessarie all'host, riavviare il servizio Azure Chaos Agent nella macchina virtuale.
Finestre
Linux
Per Linux, eseguire il comando seguente dall'interfaccia della riga di comando:
Systemctl restart azure-chaos-agent
Eseguire l'esperimento basato su agente usando endpoint privati
Dopo il riavvio, Azure Chaos Agent dovrebbe essere in grado di comunicare con il servizio del piano dati di comunicazione dell'agente e la registrazione dell'agente al piano dati dovrebbe avere esito positivo. Dopo la registrazione, l'agente può indicare lo stato con un heartbeat. È quindi possibile continuare a eseguire gli esperimenti basati su Azure Chaos Agent usando endpoint privati.