Configuração de servidores virtuais do Windows para usar o serviço de metadados

Para acessar os metadados dos servidores virtuais do Windows, há requisitos adicionais para localizar um gateway padrão e adicionar uma rota.

Visão geral

Para usar o serviço de metadados no Windows, você configura uma rota padrão para um endereço local de link para os metadados. Para fazer isso, você precisa localizar o endereço IP do gateway padrão e adicionar uma rota ao endereço local do link. Após essa configuração inicial, você pode fazer solicitações de API para acessar os metadados.

As informações neste tópico são apresentadas como etapas separadas. Muito provavelmente, você configuraria um processo de automação cloudbaseinit que executa todas as etapas em um único processo. Os exemplos apresentados são para ilustrar o que você precisa, mas é possível usar outros métodos para obter o gateway padrão e incluir a rota.

Etapa 1 - Localizar o IP do gateway padrão

Executando como administrador, localize o IP do gateway padrão. Uma maneira conveniente é usar o comando di Powershell Get-NetRoute.

Localize o IP do gateway padrão usando o cmdlet PowerShell Get-NetRoute. Esse comando obtém o próximo hop para a rota padrão, também conhecida como gateway padrão. Para obter mais informações, consulte a documentação do Windows Powershell para Get-NetRoute.

No terminal do Windows, o exemplo a seguir invoca o comando Powershell Get-NetRoute para obter as rotas IP padrão e passar as rotas para o cmdlet SelectObject, que exibe a propriedade NextHop para cada rota padrão.

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

O primeiro endereço IP recuperado é a rota padrão. Coloque a saída em uma variável.

Etapa 2: incluir uma rota para o gateway padrão

O serviço de metadados usa um endereço local de link ( 169.254.169.254 ) para configurar o acesso ao serviço e recuperar metadados da instância.

Configure a rota padrão para que o endereço local do link possa chegar ao gateway padrão. No terminal do Windows ou Powershell, você especificaria:

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

O exemplo de código a seguir é de um script de automação do site Python:

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

Esses exemplos usam o comando route, mas você também pode usar o comando Powershell New-NetRoute e canalizar a rota em um único comando. Para combinar as etapas 1 e 2 em um único comando, você pode especificar:

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

Para incluir rotas, deve-se executar como um administrador no servidor Windows.

Etapa 3: Recuperar metadados de forma programática

Depois de adicionar uma rota ao gateway padrão, você pode acessar os metadados usando o endereço local do link. Construa seu script de automação usando a ferramenta de sua escolha para transferir dados pela rede, como curl.

Para ver os comandos do site curl para invocar a API do serviço de metadados e recuperar dados, consulte Recuperação de metadados de uma instância.