Impostazione dei server virtuali Windows per l'utilizzo del servizio metadati

Per accedere ai metadati dai server virtuali Windows, sono necessari ulteriori requisiti per individuare un gateway predefinito e aggiungere un percorso.

Panoramica

Per utilizzare il servizio di metadati su Windows, si imposta un percorso predefinito verso un indirizzo link-local per i metadati. A tal fine, è necessario individuare l'indirizzo IP del gateway predefinito e aggiungere un percorso all'indirizzo link-local. Dopo questa configurazione iniziale, è possibile effettuare richieste API per accedere ai metadati.

Le informazioni in questo argomento vengono presentate come passi separati. È più probabile che si configuri un processo di automazione cloudbaseinit che esegue tutte le fasi in un singolo processo. Gli esempi presentati illustrano ciò di cui hai bisogno, ma puoi utilizzare altri metodi per ottenere il gateway predefinito e aggiungere la rotta.

Passo 1 - Individuazione dell'IP del gateway predefinito

In esecuzione come amministratore, individuare l'IP del gateway predefinito. Un modo conveniente è quello di utilizzare il comando Get-NetRoute Powershell.

Individuare l'IP del gateway predefinito utilizzando il comando PowerShell Get-NetRoute cmdlet. Questo comando richiama l'hop successivo per l'instradamento predefinito, noto anche come gateway predefinito. Per ulteriori informazioni, consultare la documentazione di Windows Powershell per Get-NetRoute.

Dal terminale Windows, il seguente esempio richiama il comando Powershell Get-NetRoute per ottenere gli instradamenti IP predefiniti e passare gli instradamenti al cmdlet SelectObject, che visualizza la proprietà NextHop per ogni instradamento predefinito.

C:\> powershell "Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Select-Object -ExpandProperty "NextHop""

Il primo indirizzo IP richiamato è l'instradamento predefinito. Inserire l'output in una variabile.

Passo 2: aggiungi un instradamento al gateway predefinito

Il servizio di metadati utilizza un indirizzo link-local ( 169.254.169.254 ) per impostare l'accesso al servizio e recuperare i metadati dall'istanza.

Impostare il percorso predefinito in modo che l'indirizzo link-local possa raggiungere il gateway predefinito. Dalle finestre o dal terminale Powershell, specificare:

C:> route -p add 169.254.169.254 MASK 255.255.255.255 $DEFAULT_GATEWAY

Il seguente esempio di codice proviene da uno script di automazione di Python:

command = 'route -p add 169.254.169.254 MASK 255.255.255.255 ()'.format(default_gateway)

Questi esempi utilizzano il comando route, ma è possibile utilizzare anche il comando Powershell New-NetRoute e eseguire il pipe del percorso in un unico comando. Per combinare i passaggi 1 e 2 in un unico comando, si può specificare:

C:\> powershell "Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Select-Object -ExpandProperty "NextHop" | New-NetRoute"

Per aggiungere instradamenti, è necessario eseguire come amministratore sul server Windows.

Fase 3: Recupero programmatico dei metadati

Dopo aver aggiunto una rotta al gateway predefinito, è possibile accedere ai metadati utilizzando l'indirizzo link-local. Creare lo script di automazione utilizzando lo strumento di propria scelta per trasferire i dati sulla rete, ad esempio curl.

Per vedere i comandi di curl per invocare l'API del servizio di metadati e recuperare i dati, vedere Recupero di metadati da un'istanza.