Salta ai contenuti

Raggiungere un Customer Edge

Funzionano quattro vie di accesso, e quale sia applicabile è determinato dallo stato del nodo, da dove si effettua la connessione e da ciò che si deve raggiungere — anziché da una preferenza.

Via di accessoRichiede nodo ONLINERichiede raggiungibilità di reteLimitiCopre
Debug APIcirca 25–30 minuti di riscaldamento su un nuovo sito34 comandi
Site Consolenotramite Azure Bastion, nessun jump host necessarioBastion deve essere di SKU Standard con tunneling, e non è distribuito per impostazione predefinitaL’interfaccia di risoluzione dei problemi dei nodi di F5
SSHnodall’interno della VNet, solo verso l’indirizzo internola chiave deve essere presente dal primo avvioLa Site CLI locale completa
Console serialenonouna sessione per VM; limite di 2.048 caratteri per l’incollaLa Site CLI locale completa

La console seriale è l’ultima risorsa, e la sola via che sopravvive a un nodo privo di un percorso di rete funzionante.

La Site Console è di solito la prima da provare. È quella che richiede meno — nessuna chiave SSH da distribuire, nessun jump host, nessun IP pubblico sul nodo e nessuna sostituzione di VM — perché l’accesso diventa una decisione di Azure RBAC anziché un problema di distribuzione di credenziali. Offre l’interfaccia di risoluzione dei problemi di F5 anziché la superficie dei comandi, quindi conviene andare oltre quando servono comandi specifici o si vuole automatizzare qualcosa. Il suo unico prerequisito è Azure Bastion, che questa distribuzione rende opzionale (enable_bastion, predefinito false) perché un host di SKU Standard viene fatturato indipendentemente dal fatto che qualcuno apra un tunnel.

SSH è la via a cui ricorrere quando l’API di debug non è sufficiente, perché l’appliance offre molti più comandi dei 34 che quell’API espone. Ha due costi. La chiave viene scritta da cloud-init e quindi deve essere presente al primo avvio, il che significa che abilitarla su nodi in esecuzione sostituisce ogni VM CE — una ricostruzione della flotta anziché una modifica di configurazione. E sshd risponde solo sull’indirizzo interno del nodo, quindi serve un host all’interno della VNet; sondare l’indirizzo con cui si conosce il nodo riporterà sempre porta chiusa.

L’API di debug è servita dal control plane di F5 Distributed Cloud, che inoltra verso il nodo attraverso il tunnel che vpm stabilisce durante la registrazione. Nessuna registrazione significa nessun tunnel, il che significa che l’API non ha nulla verso cui inoltrare.

Fallisce in un modo poco utile anziché evidente, quindi un nodo che non si è mai avviato sembra un problema dell’API.

La console seriale segue una strada del tutto diversa — attraverso la piattaforma Azure fino alla porta seriale emulata del nodo. Non le importa se il nodo si è registrato, se ha raggiungibilità di rete o se ha un data plane funzionante. Questa indipendenza è tutto il punto, ed è il motivo per cui la diagnostica di avvio deve rimanere abilitata sulle VM CE.

Ogni via di accesso usa credenziali diverse, e nessuna di esse va indicata su una riga di comando.

  • Debug API — un token API di F5 Distributed Cloud, come XCSH_API_TOKEN, con l’ URL del tenant come XCSH_API_URL. Il file di contesto xcsh in ~/.config/xcsh/contexts/<tenant>.json contiene entrambi, ed è ciò che scripts/capture-sitecli.sh legge quando l’ambiente non li fornisce. Il tenant di questa distribuzione è f5-sales-demo; un token creato per un altro tenant restituisce un semplice 401 che sembra una credenziale scaduta.
  • Site Console — due credenziali, a livelli diversi. Il login interattivo di Azure apre il tunnel Bastion, e l’account admin dell’appliance stesso effettua l’accesso alla console dietro di esso tramite HTTP Basic. Per il lato Azure Microsoft dichiara che serve il ruolo Reader sulla VM, sulla sua NIC e sull’host Bastion; tale requisito non è verificato qui, perché ogni test è stato eseguito come proprietario della sottoscrizione.
  • SSH — la metà privata della coppia di chiavi la cui metà pubblica la distribuzione ha scritto in /var/home/admin/.ssh/authorized_keys al primo avvio, più un host all’interno della VNet da cui raggiungere l’indirizzo interno. Connettersi come admin, non come azureuser.
  • Console seriale — il login interattivo di Azure. Non esiste un service principal per questo: il tenant Entra aziendale di F5 non ne consente il provisioning, motivo per cui nessuna parte di questo processo viene eseguita in CI.