Azure-InstanzmetadatendienstAzure Instance Metadata service

Der Azure-Instanzmetadatendienst stellt Informationen zum Ausführen von Instanzen virtueller Computer bereit, die zum Verwalten und Konfigurieren Ihrer virtuellen Computer verwendet werden können.The Azure Instance Metadata Service provides information about running virtual machine instances that can be used to manage and configure your virtual machines. Hierzu gehören Informationen wie die SKU, die Netzwerkkonfiguration und bevorstehende Wartungsereignisse.This includes information such as SKU, network configuration, and upcoming maintenance events. Weitere Informationen zu der Art der verfügbaren Informationen finden Sie unter Metadaten-APIs.For more information on what type of information is available, see metadata APIs.

Der Instanzmetadatendienst von Azure ist ein REST-Endpunkt, der für alle IaaS-VMs verfügbar ist, die mit dem neuen Azure Resource Manager erstellt wurden.Azure's Instance Metadata Service is a REST Endpoint accessible to all IaaS VMs created via the Azure Resource Manager. Der Endpunkt steht unter einer bekannten, nicht routingfähigen IP-Adresse zur Verfügung (169.254.169.254), auf die nur innerhalb der VM zugegriffen werden kann.The endpoint is available at a well-known non-routable IP address (169.254.169.254) that can be accessed only from within the VM.

Wichtig

Dieser Dienst ist in allen Azure-Regionen allgemein verfügbar.This service is generally available in all Azure Regions. Er empfängt regelmäßig Updates, um neue Informationen zu Instanzen virtueller Computer verfügbar zu machen.It regularly receives updates to expose new information about virtual machine instances. Diese Seite behandelt die neuesten Metadaten-APIs.This page reflects the up-to-date metadata APIs available.

DienstverfügbarkeitService availability

Der Dienst ist in Azure-Regionen allgemein verfügbar.The service is available in generally available Azure regions. Unter Umständen sind nicht alle API-Versionen in allen Azure-Regionen verfügbar.Not all API version may be available in all Azure Regions.

RegionsRegions Verfügbarkeit?Availability? Unterstützte VersionenSupported Versions
Allgemein verfügbar in globalen Azure-RegionenAll Generally Available Global Azure Regions Allgemein verfügbarGenerally Available 2017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-112017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-11
Azure GovernmentAzure Government Allgemein verfügbarGenerally Available 2017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-112017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-11
Azure ChinaAzure China Allgemein verfügbarGenerally Available 2017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-112017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-11
Azure DeutschlandAzure Germany Allgemein verfügbarGenerally Available 2017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-112017-04-02, 2017-08-01, 2017-12-01, 2018-02-01, 2018-04-02, 2018-10-01, 2019-02-01, 2019-03-11

Diese Tabelle wird aktualisiert, wenn Dienstupdates oder neue unterstützte Versionen verfügbar sind.This table is updated when there are service updates and or new supported versions are available.

Um den Instanzmetadatendienst zu testen, erstellen Sie eine VM über den Azure Resource Manager oder das Azure-Portal in den oben genannten Regionen, und absolvieren Sie die folgenden Beispiele.To try out the Instance Metadata Service, create a VM from Azure Resource Manager or the Azure portal in the above regions and follow the examples below.

VerwendungUsage

VersionsverwaltungVersioning

Der Instance Metadata Service verwendet Versionsangaben, und die Angabe der API-Version in der HTTP-Anforderung ist zwingend erforderlich.The Instance Metadata Service is versioned and specifying the API version in the HTTP request is mandatory.

Sie finden die neuesten Versionen in dieser Verfügbarkeitstabelle.You can see the newest versions listed in this availability table.

Wenn neuere Versionen hinzugefügt werden, kann auf ältere Versionen aus Kompatibilitätsgründen weiterhin zugegriffen werden, falls Ihre Skripts von bestimmten Datenformaten abhängig sind.As newer versions are added, older versions can still be accessed for compatibility if your scripts have dependencies on specific data formats.

Wenn keine Version angegeben ist, wird ein Fehler mit einer Liste der neuesten unterstützten Versionen zurückgegeben.When no version is specified, an error is returned with a list of the newest supported versions.

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance"

AntwortResponse

{
    "error": "Bad request. api-version was not specified in the request. For more information refer to aka.ms/azureimds",
    "newest-versions": [
        "2018-10-01",
        "2018-04-02",
        "2018-02-01"
    ]
}

Verwenden von HeadernUsing headers

Bei der Abfrage des Instanzmetadatendiensts müssen Sie den Header Metadata: true angeben, um sicherzustellen, dass die Anforderung nicht unbeabsichtigt umgeleitet wurde.When you query the Instance Metadata Service, you must provide the header Metadata: true to ensure the request was not unintentionally redirected.

Abrufen von MetadatenRetrieving metadata

Instanzmetadaten stehen für die Ausführung von VMs zur Verfügung, die mit dem Azure Resource Manager erstellt/verwaltet werden.Instance metadata is available for running VMs created/managed using Azure Resource Manager. Über folgende Anforderung können Sie auf alle Datenkategorien einer Instanz eines virtuellen Computers zugreifen:Access all data categories for a virtual machine instance using the following request:

curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01"

Hinweis

Bei Instanzmetadatenabfragen ist Groß-/Kleinschreibung zu berücksichtigen.All instance metadata queries are case-sensitive.

DatenausgabeData output

Standardmäßig gibt der Instanzmetadatendienst Daten im JSON-Format (Content-Type: application/json) zurück.By default, the Instance Metadata Service returns data in JSON format (Content-Type: application/json). Falls angefordert, geben andere APIs jedoch Daten in verschiedenen Formaten zurück.However, different APIs return data in different formats if requested. In der folgenden Tabelle werden andere Datenformate aufgeführt, die die APIs eventuell unterstützen.The following table is a reference of other data formats APIs may support.

APIAPI StandarddatenformatDefault Data Format Andere FormateOther Formats
/instance/instance jsonjson texttext
/scheduledevents/scheduledevents jsonjson nonenone
/attested/attested jsonjson nonenone

Um auf ein nicht standardmäßiges Antwortformat zuzugreifen, geben Sie das angeforderte Format als QueryString-Parameter in der Anforderung an.To access a non-default response format, specify the requested format as a query string parameter in the request. Beispiel:For example:

curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01&format=text"

Hinweis

Für Blattknoten funktioniert format=json nicht.For leaf nodes the format=json doesn't work. Für diese Abfragen muss format=text explizit angegeben werden, wenn das Standardformat JSON ist.For these queries format=text needs to be explicitly specified if the default format is json.

SicherheitSecurity

Auf den Instanzmetadatendienst-Endpunkt kann nur innerhalb der ausgeführten Instanz des virtuellen Computers an einer nicht routingfähigen IP-Adresse zugegriffen werden.The Instance Metadata Service endpoint is accessible only from within the running virtual machine instance on a non-routable IP address. Darüber hinaus wird jede Anforderung mit einem X-Forwarded-For-Header vom Dienst abgelehnt.In addition, any request with a X-Forwarded-For header is rejected by the service. Zudem müssen Anforderungen einen Metadata: true-Header enthalten, um sicherzustellen, dass die eigentliche Anforderung direkt vorgesehen war und nicht Teil einer unbeabsichtigten Umleitung ist.Requests must also contain a Metadata: true header to ensure that the actual request was directly intended and not a part of unintentional redirection.

ErrorError

Wenn ein Datenelement nicht gefunden wird oder eine Anforderung ungültig ist, gibt der Instanzmetadatendienst standardmäßige HTTP-Fehler zurück.If there is a data element not found or a malformed request, the Instance Metadata Service returns standard HTTP errors. Beispiel:For example:

HTTP-StatuscodeHTTP Status Code GrundReason
200 – OK200 OK
400 – Ungültige Anforderung400 Bad Request Fehlender Metadata: true-Header oder fehlendes Format beim Abfragen eines BlattknotensMissing Metadata: true header or missing the format when querying a leaf node
404 – Nicht gefunden404 Not Found Das angeforderte Element ist nicht vorhanden.The requested element doesn't exist
405 – Methode unzulässig405 Method Not Allowed Es werden ausschließlich GET- und POST-Anforderungen unterstützt.Only GET and POST requests are supported
429 – Zu viele Anforderungen429 Too Many Requests Die API unterstützt derzeit maximal 5 Abfragen pro Sekunde.The API currently supports a maximum of 5 queries per second
500 – Dienstfehler500 Service Error Wiederholen Sie den Vorgang später.Retry after some time

BeispieleExamples

Hinweis

Alle API-Antworten stellen JSON-Zeichenfolgen dar.All API responses are JSON strings. Alle folgenden Beispielantworten werden zur besseren Lesbarkeit im Schöndruck gedruckt.All following example responses are pretty-printed for readability.

Abrufen von NetzwerkinformationenRetrieving network information

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/network?api-version=2017-08-01"

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
  "interface": [
    {
      "ipv4": {
        "ipAddress": [
          {
            "privateIpAddress": "10.1.0.4",
            "publicIpAddress": "X.X.X.X"
          }
        ],
        "subnet": [
          {
            "address": "10.1.0.0",
            "prefix": "24"
          }
        ]
      },
      "ipv6": {
        "ipAddress": []
      },
      "macAddress": "000D3AF806EC"
    }
  ]
}

Abrufen der öffentlichen IP-AdresseRetrieving public IP address

curl -H Metadata:true "http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-08-01&format=text"

Abrufen aller Metadaten für eine InstanzRetrieving all metadata for an instance

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2019-03-11"

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
  "compute": {
    "azEnvironment": "AzurePublicCloud",
    "customData": "",
    "location": "westus",
    "name": "jubilee",
    "offer": "Windows-10",
    "osType": "Windows",
    "placementGroupId": "",
    "plan": {
        "name": "",
        "product": "",
        "publisher": ""
    },
    "platformFaultDomain": "1",
    "platformUpdateDomain": "1",
    "provider": "Microsoft.Compute",
    "publicKeys": [],
    "publisher": "MicrosoftWindowsDesktop",
    "resourceGroupName": "myrg",
    "resourceId": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/negasonic",
    "sku": "rs4-pro",
    "subscriptionId": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
    "tags": "Department:IT;Environment:Prod;Role:WorkerRole",
    "version": "17134.345.59",
    "vmId": "13f56399-bd52-4150-9748-7190aae1ff21",
    "vmScaleSetName": "",
    "vmSize": "Standard_D1",
    "zone": "1"
  },
  "network": {
    "interface": [
      {
        "ipv4": {
          "ipAddress": [
            {
              "privateIpAddress": "10.1.2.5",
              "publicIpAddress": "X.X.X.X"
            }
          ],
          "subnet": [
            {
              "address": "10.1.2.0",
              "prefix": "24"
            }
          ]
        },
        "ipv6": {
          "ipAddress": []
        },
        "macAddress": "000D3A36DDED"
      }
    ]
  }
}

Abrufen von Metadaten auf einem virtuellen Windows-ComputerRetrieving metadata in Windows Virtual Machine

AnforderungRequest

Die Instanzmetadaten können unter Windows über das curl-Programm abgerufen werden:Instance metadata can be retrieved in Windows via the curl program:

curl -H @{'Metadata'='true'} http://169.254.169.254/metadata/instance?api-version=2019-03-11 | select -ExpandProperty Content

Oder über das folgende Invoke-RestMethod-PowerShell-Cmdlet:Or through the Invoke-RestMethod PowerShell cmdlet:


Invoke-RestMethod -Headers @{"Metadata"="true"} -URI http://169.254.169.254/metadata/instance?api-version=2019-03-11 -Method get

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
  "compute": {
    "azEnvironment": "AzurePublicCloud",
    "customData": "",
    "location": "westus",
    "name": "SQLTest",
    "offer": "SQL2016SP1-WS2016",
    "osType": "Windows",
    "placementGroupId": "",
    "plan": {
        "name": "",
        "product": "",
        "publisher": ""
    },
    "platformFaultDomain": "0",
    "platformUpdateDomain": "0",
    "provider": "Microsoft.Compute",
    "publicKeys": [],
    "publisher": "MicrosoftSQLServer",
    "resourceGroupName": "myrg",
    "resourceId": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/negasonic",
    "sku": "Enterprise",
    "subscriptionId": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
    "tags": "Department:IT;Environment:Test;Role:WebRole",
    "version": "13.0.400110",
    "vmId": "453945c8-3923-4366-b2d3-ea4c80e9b70e",
    "vmScaleSetName": "",
    "vmSize": "Standard_DS2",
    "zone": ""
  },
  "network": {
    "interface": [
      {
        "ipv4": {
          "ipAddress": [
            {
              "privateIpAddress": "10.0.1.4",
              "publicIpAddress": "X.X.X.X"
            }
          ],
          "subnet": [
            {
              "address": "10.0.1.0",
              "prefix": "24"
            }
          ]
        },
        "ipv6": {
          "ipAddress": []
        },
        "macAddress": "002248020E1E"
      }
    ]
  }
}

Metadaten-APIsMetadata APIs

Die folgenden APIs stehen über den Metadatenendpunkt zur Verfügung:The following APIs are available through the metadata endpoint:

DatenData BESCHREIBUNGDescription Eingeführt in VersionVersion Introduced
attestedattested Siehe Bestätigte DatenSee Attested Data 01.10.20182018-10-01
identityidentity Verwaltete Identitäten für Azure-Ressourcen.Managed identities for Azure resources. Siehe Abrufen eines ZugriffstokensSee acquire an access token 2018-02-012018-02-01
instanceinstance Siehe Instanz-APISee Instance API 2017-04-022017-04-02
scheduledeventsscheduledevents Siehe Azure-Metadatendienst: Geplante Ereignisse (Vorschau) für Windows-VMsSee Scheduled Events 2017-08-012017-08-01

Instanz-APIInstance API

Die folgenden Computekategorien werden über die Instanz-API zur Verfügung gestellt:The following Compute categories are available through the Instance API:

Hinweis

Über den Metadatenendpunkt sind die folgenden Kategorien über „Instanz/Compute“ zugänglich.Through the metadata endpoint, the following categories are accessed through instance/compute

DatenData BESCHREIBUNGDescription Eingeführt in VersionVersion Introduced
azEnvironmentazEnvironment Azure-Umgebung, in der die VM ausgeführt wirdAzure Environment where the VM is running in 01.10.20182018-10-01
customDatacustomData Siehe Benutzerdefinierte DatenSee Custom Data 2019-02-012019-02-01
locationlocation Azure-Region, in der die VM ausgeführt wirdAzure Region the VM is running in 2017-04-022017-04-02
namename Name des virtuellen ComputersName of the VM 2017-04-022017-04-02
offeroffer Angebotsinformationen für das VM-Image, diese sind nur für Images vorhanden, die über den Azure-Imagekatalog bereitgestellt werdenOffer information for the VM image and is only present for images deployed from Azure image gallery 2017-04-022017-04-02
osTypeosType Linux oder WindowsLinux or Windows 2017-04-022017-04-02
placementGroupIdplacementGroupId Platzierungsgruppe der VM-SkalierungsgruppePlacement Group of your virtual machine scale set 2017-08-012017-08-01
Tarifplan Der Tarif mit Name, Produkt und Herausgeber für einen virtuellen Computer, wenn es sich um ein Azure Marketplace-Image handeltPlan containing name, product, and publisher for a VM if its an Azure Marketplace Image 2018-04-022018-04-02
platformUpdateDomainplatformUpdateDomain Updatedomäne, in der die VM ausgeführt wirdUpdate domain the VM is running in 2017-04-022017-04-02
platformFaultDomainplatformFaultDomain Fehlerdomäne, in der die VM ausgeführt wirdFault domain the VM is running in 2017-04-022017-04-02
Anbieterprovider Anbieter des virtuellen ComputersProvider of the VM 01.10.20182018-10-01
publicKeyspublicKeys Sammlung von öffentlichen Schlüsseln, dem virtuellen Computer und den entsprechenden Pfaden zugewiesenCollection of Public Keys assigned to the VM and paths 2018-04-022018-04-02
publisherpublisher Herausgeber des VM-ImagesPublisher of the VM image 2017-04-022017-04-02
resourceGroupNameresourceGroupName Ressourcengruppe für den virtuellen ComputerResource group for your Virtual Machine 2017-08-012017-08-01
resourceIdresourceId Die vollqualifizierte ID der RessourceThe fully qualified ID of the resource 11.03.20192019-03-11
skusku Spezifische SKU für das VM-ImageSpecific SKU for the VM image 2017-04-022017-04-02
subscriptionIdsubscriptionId Azure-Abonnement für den virtuellen ComputerAzure subscription for the Virtual Machine 2017-08-012017-08-01
tagstags Tags für den virtuellen ComputerTags for your Virtual Machine 2017-08-012017-08-01
versionversion Version des VM-ImageVersion of the VM image 2017-04-022017-04-02
vmIdvmId Eindeutiger Bezeichner für die VMUnique identifier for the VM 2017-04-022017-04-02
vmScaleSetNamevmScaleSetName Name Ihrer VM-SkalierungsgruppeVirtual Machine ScaleSet Name of your virtual machine scale set 2017-12-012017-12-01
vmSizevmSize Größe des virtuellen ComputersVM size 2017-04-022017-04-02
Zonezone Verfügbarkeitszone Ihres virtuellen ComputersAvailability Zone of your virtual machine 2017-12-012017-12-01
Die folgenden Netzwerkkategorien werden über die Instanz-API zur Verfügung gestellt:The following Network categories are available through the Instance API:

Hinweis

Über den Metadatenendpunkt sind die folgenden Kategorien über „Instanz/Netzwerk/Schnittstelle“ zugänglich.Through the metadata endpoint, the following categories are accessed through instance/network/interface

DatenData BESCHREIBUNGDescription Eingeführt in VersionVersion Introduced
ipv4/privateIpAddressipv4/privateIpAddress Lokale IPv4-Adresse der VMLocal IPv4 address of the VM 2017-04-022017-04-02
ipv4/publicIpAddressipv4/publicIpAddress Öffentliche IPv4-Adresse der VMPublic IPv4 address of the VM 2017-04-022017-04-02
subnet/addresssubnet/address Subnetzadresse der VMSubnet address of the VM 2017-04-022017-04-02
subnet/prefixsubnet/prefix Subnetzpräfix, Beispiel 24Subnet prefix, example 24 2017-04-022017-04-02
ipv6/ipAddressipv6/ipAddress Lokale IPv6-Adresse der VMLocal IPv6 address of the VM 2017-04-022017-04-02
macAddressmacAddress VM-Mac-AdresseVM mac address 2017-04-022017-04-02

Bestätigte DatenAttested Data

Instance Metadata reagiert am HTTP-Endpunkt unter 169.254.169.254.Instance Metadata responds at http endpoint on 169.254.169.254. Das von Instance Metadata Service bereitgestellte Szenario beinhaltet die Garantie, dass die Antwortdaten von Azure stammen.Part of the scenario served by Instance Metadata Service is to provide guarantees that the data responded is coming from Azure. Wir signieren einen Teil dieser Informationen, sodass sich Marketplace-Images darauf verlassen können, dass ihr Image in Azure ausgeführt wird.We sign part of this information so that marketplace images can be sure that it's their image running on Azure.

Beispiel für bestätigte DatenExample Attested Data

Hinweis

Alle API-Antworten stellen JSON-Zeichenfolgen dar.All API responses are JSON strings. Die folgenden Beispielantworten werden zur besseren Lesbarkeit automatische strukturiert und eingerückt.The following example responses are pretty-printed for readability.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/attested/document?api-version=2018-10-01&nonce=1234567890"

Die API-Version ist ein obligatorisches Feld.Api-version is a mandatory field. Informationen zu unterstützten API-Versionen finden Sie im Abschnitt zur Dienstverfügbarkeit.Refer to the service availability section for supported API versions. Die Nonce ist eine bereitgestellte optionale 10-stellige Zeichenfolge.Nonce is an optional 10-digit string provided. Sie kann zum Nachverfolgen der Anforderung verwendet werden. Wird keine Nonce angegeben, wird in der codierten Antwortzeichenfolge der aktuelle UTC-Zeitstempel zurückgegeben.Nonce can be used to track the request and if not provided, in response encoded string the current UTC timestamp is returned.

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
"encoding":"pkcs7","signature":"MIIEEgYJKoZIhvcNAQcCoIIEAzCCA/8CAQExDzANBgkqhkiG9w0BAQsFADCBugYJKoZIhvcNAQcBoIGsBIGpeyJub25jZSI6IjEyMzQ1NjY3NjYiLCJwbGFuIjp7Im5hbWUiOiIiLCJwcm9kdWN0IjoiIiwicHVibGlzaGVyIjoiIn0sInRpbWVTdGFtcCI6eyJjcmVhdGVkT24iOiIxMS8yMC8xOCAyMjowNzozOSAtMDAwMCIsImV4cGlyZXNPbiI6IjExLzIwLzE4IDIyOjA4OjI0IC0wMDAwIn0sInZtSWQiOiIifaCCAj8wggI7MIIBpKADAgECAhBnxW5Kh8dslEBA0E2mIBJ0MA0GCSqGSIb3DQEBBAUAMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMB4XDTE4MTEyMDIxNTc1N1oXDTE4MTIyMDIxNTc1NlowKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAML/tBo86ENWPzmXZ0kPkX5dY5QZ150mA8lommszE71x2sCLonzv4/UWk4H+jMMWRRwIea2CuQ5RhdWAHvKq6if4okKNt66fxm+YTVz9z0CTfCLmLT+nsdfOAsG1xZppEapC0Cd9vD6NCKyE8aYI1pliaeOnFjG0WvMY04uWz2MdAgMBAAGjYDBeMFwGA1UdAQRVMFOAENnYkHLa04Ut4Mpt7TkJFfyhLTArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbYIQZ8VuSofHbJRAQNBNpiASdDANBgkqhkiG9w0BAQQFAAOBgQCLSM6aX5Bs1KHCJp4VQtxZPzXF71rVKCocHy3N9PTJQ9Fpnd+bYw2vSpQHg/AiG82WuDFpPReJvr7Pa938mZqW9HUOGjQKK2FYDTg6fXD8pkPdyghlX5boGWAMMrf7bFkup+lsT+n2tRw2wbNknO1tQ0wICtqy2VqzWwLi45RBwTGB6DCB5QIBATA/MCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tAhBnxW5Kh8dslEBA0E2mIBJ0MA0GCSqGSIb3DQEBCwUAMA0GCSqGSIb3DQEBAQUABIGAld1BM/yYIqqv8SDE4kjQo3Ul/IKAVR8ETKcve5BAdGSNkTUooUGVniTXeuvDj5NkmazOaKZp9fEtByqqPOyw/nlXaZgOO44HDGiPUJ90xVYmfeK6p9RpJBu6kiKhnnYTelUk5u75phe5ZbMZfBhuPhXmYAdjc7Nmw97nx8NnprQ="
}

Das Signaturblob ist eine signierte pkcs7-Version des Dokuments. Es enthält das zum Signieren verwendete Zertifikat zusammen mit den VM-Details wie vmId, nonce, timeStamp für die Erstellung und den Ablauf des Dokuments sowie die Planinformationen zum Image. Die Planinformationen werden nur für Azure Marketplace-Images ausgefüllt. Das Zertifikat kann aus der Antwort extrahiert und verwendet werden, um sicherzustellen, dass die Antwort gültig ist und von Azure stammt.The certificate can be extracted from the response and used to validate that the response is valid and is coming from Azure.

Abrufen bestätigter Metadaten auf einem virtuellen Windows-ComputerRetrieving attested metadata in Windows Virtual Machine

AnforderungRequest

Die Instanzmetadaten können unter Windows über das PowerShell-Hilfsprogramm curl abgerufen werden:Instance metadata can be retrieved in Windows via the PowerShell utility curl:

curl -H @{'Metadata'='true'} "http://169.254.169.254/metadata/attested/document?api-version=2018-10-01&nonce=1234567890" | select -ExpandProperty Content

Alternativ ist dies auch über das Cmdlet Invoke-RestMethod möglich:Or through the Invoke-RestMethod cmdlet:

Invoke-RestMethod -Headers @{"Metadata"="true"} -URI "http://169.254.169.254/metadata/attested/document?api-version=2018-10-01&nonce=1234567890" -Method get

Die API-Version ist ein obligatorisches Feld.Api-version is a mandatory field. Informationen zu unterstützten API-Versionen finden Sie im Abschnitt zur Dienstverfügbarkeit.Refer to the service availability section for supported API versions. Die Nonce ist eine bereitgestellte optionale 10-stellige Zeichenfolge.Nonce is an optional 10-digit string provided. Sie kann zum Nachverfolgen der Anforderung verwendet werden. Wird keine Nonce angegeben, wird in der codierten Antwortzeichenfolge der aktuelle UTC-Zeitstempel zurückgegeben.Nonce can be used to track the request and if not provided, in response encoded string the current UTC timestamp is returned.

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
"encoding":"pkcs7","signature":"MIIEEgYJKoZIhvcNAQcCoIIEAzCCA/8CAQExDzANBgkqhkiG9w0BAQsFADCBugYJKoZIhvcNAQcBoIGsBIGpeyJub25jZSI6IjEyMzQ1NjY3NjYiLCJwbGFuIjp7Im5hbWUiOiIiLCJwcm9kdWN0IjoiIiwicHVibGlzaGVyIjoiIn0sInRpbWVTdGFtcCI6eyJjcmVhdGVkT24iOiIxMS8yMC8xOCAyMjowNzozOSAtMDAwMCIsImV4cGlyZXNPbiI6IjExLzIwLzE4IDIyOjA4OjI0IC0wMDAwIn0sInZtSWQiOiIifaCCAj8wggI7MIIBpKADAgECAhBnxW5Kh8dslEBA0E2mIBJ0MA0GCSqGSIb3DQEBBAUAMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMB4XDTE4MTEyMDIxNTc1N1oXDTE4MTIyMDIxNTc1NlowKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAML/tBo86ENWPzmXZ0kPkX5dY5QZ150mA8lommszE71x2sCLonzv4/UWk4H+jMMWRRwIea2CuQ5RhdWAHvKq6if4okKNt66fxm+YTVz9z0CTfCLmLT+nsdfOAsG1xZppEapC0Cd9vD6NCKyE8aYI1pliaeOnFjG0WvMY04uWz2MdAgMBAAGjYDBeMFwGA1UdAQRVMFOAENnYkHLa04Ut4Mpt7TkJFfyhLTArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbYIQZ8VuSofHbJRAQNBNpiASdDANBgkqhkiG9w0BAQQFAAOBgQCLSM6aX5Bs1KHCJp4VQtxZPzXF71rVKCocHy3N9PTJQ9Fpnd+bYw2vSpQHg/AiG82WuDFpPReJvr7Pa938mZqW9HUOGjQKK2FYDTg6fXD8pkPdyghlX5boGWAMMrf7bFkup+lsT+n2tRw2wbNknO1tQ0wICtqy2VqzWwLi45RBwTGB6DCB5QIBATA/MCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tAhBnxW5Kh8dslEBA0E2mIBJ0MA0GCSqGSIb3DQEBCwUAMA0GCSqGSIb3DQEBAQUABIGAld1BM/yYIqqv8SDE4kjQo3Ul/IKAVR8ETKcve5BAdGSNkTUooUGVniTXeuvDj5NkmazOaKZp9fEtByqqPOyw/nlXaZgOO44HDGiPUJ90xVYmfeK6p9RpJBu6kiKhnnYTelUk5u75phe5ZbMZfBhuPhXmYAdjc7Nmw97nx8NnprQ="
}

Das Signaturblob ist eine signierte pkcs7-Version des Dokuments. Es enthält das zum Signieren verwendete Zertifikat zusammen mit den VM-Details wie vmId, nonce, timeStamp für die Erstellung und den Ablauf des Dokuments sowie die Planinformationen zum Image. Die Planinformationen werden nur für Azure Marketplace-Images ausgefüllt. Das Zertifikat kann aus der Antwort extrahiert und verwendet werden, um sicherzustellen, dass die Antwort gültig ist und von Azure stammt.The certificate can be extracted from the response and used to validate that the response is valid and is coming from Azure.

Beispielszenarien für die VerwendungExample scenarios for usage

Nachverfolgen einer in Azure ausgeführten VMTracking VM running on Azure

Als Dienstanbieter müssen Sie möglicherweise die Anzahl von VMs nachverfolgen, auf denen Ihre Software ausgeführt wird, oder benötigen Agents, die die Eindeutigkeit der VM überwachen müssen.As a service provider, you may require to track the number of VMs running your software or have agents that need to track uniqueness of the VM. Um eine eindeutige ID für eine VM abrufen zu können, verwenden Sie das Feld vmId des Instanzmetadatendiensts.To be able to get a unique ID for a VM, use the vmId field from Instance Metadata Service.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/vmId?api-version=2017-08-01&format=text"

AntwortResponse

5c08b38e-4d57-4c23-ac45-aca61037f084

Platzierung von Containern und Datenpartitionen basierend auf der Fehler-/UpdatedomänePlacement of containers, data-partitions based fault/update domain

In bestimmten Szenarien ist die Platzierung unterschiedlicher Datenreplikate von primärer Bedeutung.For certain scenarios, placement of different data replicas is of prime importance. Beispielsweise müssen Sie bei der HDFS-Replikatplatzierung oder bei der Containerplatzierung über einen Orchestrator die platformFaultDomain und die platformUpdateDomain kennen, auf denen die VM ausgeführt wird.For example, HDFS replica placement or container placement via an orchestrator may you require to know the platformFaultDomain and platformUpdateDomain the VM is running on. Sie können auch Verfügbarkeitszonen für die Instanzen nutzen, um diese Entscheidungen zu treffen.You can also use Availability Zones for the instances to make these decisions. Sie können diese Daten direkt über den Instanzmetadatendienst abfragen.You can query this data directly via the Instance Metadata Service.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/platformFaultDomain?api-version=2017-08-01&format=text"

AntwortResponse

0

Abrufen von weiteren Informationen zur VM während einer SupportanfrageGetting more information about the VM during support case

Als Dienstanbieter erhalten Sie möglicherweise eine Supportanfrage, für die Sie weitere Informationen zur VM erfahren möchten.As a service provider, you may get a support call where you would like to know more information about the VM. Wenn Sie den Kunden auffordern, die Computemetadaten weiterzuleiten, können Sie dem Supportmitarbeiter grundlegende Informationen über die Art von VM in Azure bereitstellen.Asking the customer to share the compute metadata can provide basic information for the support professional to know about the kind of VM on Azure.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute?api-version=2017-08-01"

AntwortResponse

Hinweis

Die Antwort stellt eine JSON-Zeichenfolge dar.The response is a JSON string. Die folgende Beispielantwort wird zur besseren Lesbarkeit im Schöndruck gedruckt.The following example response is pretty-printed for readability.

{
  "compute": {
    "location": "CentralUS",
    "name": "IMDSCanary",
    "offer": "RHEL",
    "osType": "Linux",
    "platformFaultDomain": "0",
    "platformUpdateDomain": "0",
    "publisher": "RedHat",
    "sku": "7.2",
    "version": "7.2.20161026",
    "vmId": "5c08b38e-4d57-4c23-ac45-aca61037f084",
    "vmSize": "Standard_DS2"
  }
}

Abrufen der Azure-Umgebung, in der die VM ausgeführt wirdGetting Azure Environment where the VM is running

Azure verfügt über verschiedene Sovereign Clouds wie Azure Government.Azure has various sovereign clouds like Azure Government. In manchen Fällen muss die Azure-Umgebung gewisse Laufzeitentscheidungen treffen.Sometimes you need the Azure Environment to make some runtime decisions. Im folgenden Beispiel wird gezeigt, wie Sie dieses Verhalten erzielen können.The following sample shows you how you can achieve this behavior.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/azEnvironment?api-version=2018-10-01&format=text"

AntwortResponse

AzurePublicCloud

Die Regionen und die Werte der Azure-Umgebung sind unten aufgelistet.The regions and the values of the Azure Environment are listed below.

RegionsRegions Azure-UmgebungAzure Environment
Allgemein verfügbar in globalen Azure-RegionenAll Generally Available Global Azure Regions AzurePublicCloudAzurePublicCloud
Azure GovernmentAzure Government AzureUSGovernmentCloudAzureUSGovernmentCloud
Azure ChinaAzure China AzureChinaCloudAzureChinaCloud
Azure DeutschlandAzure Germany AzureGermanCloudAzureGermanCloud

Abrufen der Tags für die VMGetting the tags for the VM

Möglicherweise wurden Tags auf Ihre Azure-VM angewendet, um sie logisch in einer Taxonomie zu strukturieren.Tags may have been applied to your Azure VM to logically organize them into a taxonomy. Die einer VM zugewiesenen Tags können mithilfe der Abfrage unten abgerufen werden.The tags assigned to a VM can be retrieved by using the request below.

AnforderungRequest

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/tags?api-version=2018-10-01&format=text"

AntwortResponse

Department:IT;Environment:Test;Role:WebRole

Hinweis

Die Tags sind durch Semikolons getrennt.The tags are semicolon separated. Wenn ein Parser zur programmgesteuerten Extraktion der Tags geschrieben wird, sollten die Tagnamen und -werte keine Semikolons enthalten, damit der Parser ordnungsgemäß funktionieren kann.If a parser is written to programmatically extract the tags, the tag names and values shouldn't contain semicolons in order for the parser to work correctly.

Überprüfen der Ausführung des virtuellen Computers in AzureValidating that the VM is running in Azure

Marketplace-Anbieter möchten sicherstellen, dass ihre Software nur für die Ausführung in Azure lizenziert ist.Marketplace vendors want to ensure that their software is licensed to run only in Azure. Wenn die virtuelle Festplatte in eine lokale Umgebung kopiert wird, müssen sie über die Möglichkeit verfügen, dies zu erkennen.If someone copies the VHD out to on-premise, then they should have the ability to detect that. Durch Aufrufen von Instance Metadata Service können Marketplace-Anbieter signierte Daten abrufen, die garantieren, dass Antworten ausschließlich von Azure kommen.By calling into Instance Metadata Service, Marketplace vendors can get signed data that guarantees response only from Azure.

Hinweis

Die Installation von jq ist erforderlich.Requires jq to be installed.

AnforderungRequest

 # Get the signature
  curl  --silent -H Metadata:True http://169.254.169.254/metadata/attested/document?api-version=2018-10-01 | jq -r '.["signature"]' > signature
 # Decode the signature
 base64 -d signature > decodedsignature
 #Get PKCS7 format
 openssl pkcs7 -in decodedsignature -inform DER -out sign.pk7
 # Get Public key out of pkc7
 openssl pkcs7 -in decodedsignature -inform DER  -print_certs -out signer.pem
 #Get the intermediate certificate
 wget -q -O intermediate.cer "$(openssl x509 -in signer.pem -text -noout | grep " CA Issuers -" | awk -FURI: '{print $2}')"
 openssl x509 -inform der -in intermediate.cer -out intermediate.pem
 #Verify the contents
 openssl smime -verify -in sign.pk7 -inform pem -noverify

AntwortResponse

Verification successful
{"nonce":"20181128-001617",
  "plan":
    {
     "name":"",
     "product":"",
     "publisher":""
    },
"timeStamp":
  {
    "createdOn":"11/28/18 00:16:17 -0000",
    "expiresOn":"11/28/18 06:16:17 -0000"
  },
"vmId":"d3e0e374-fda6-4649-bbc9-7f20dc379f34"
}
DatenData BESCHREIBUNGDescription
noncenonce Vom Benutzer bereitgestellte optionale Zeichenfolge mit der Anforderung.User supplied optional string with the request. Wenn in der Anforderung keine Nonce angegeben wurde, wird der aktuelle UTC-Zeitstempel zurückgegeben.If no nonce was supplied in the request, the current UTC timestamp is returned
Tarifplan Der Plan für einen virtuellen Computer im entsprechenden Azure Marketplace-Image, enthält Name, Produkt und HerausgeberPlan for a VM in it's an Azure Marketplace Image, contains name, product, and publisher
timestamp/createdOntimestamp/createdOn Der Zeitstempel, zu dem das erste signierte Dokument erstellt wurdeThe timestamp at which the first signed document was created
timestamp/expiresOntimestamp/expiresOn Der Zeitstempel, zu dem das signierte Dokument abläuftThe timestamp at which the signed document expires
vmIdvmId Eindeutiger Bezeichner für die VMUnique identifier for the VM

Überprüfen der SignaturVerifying the signature

Sobald Sie über die oben beschriebene Signatur verfügen, können Sie verifizieren, dass die Signatur von Microsoft stammt.Once you get the signature above, you can verify that the signature is from Microsoft. Außerdem können Sie das Zwischenzertifikat und die Zertifikatkette überprüfen.Also you can verify the intermediate certificate and the certificate chain.

Hinweis

Die Zertifikate für öffentliche Clouds und Sovereign Clouds unterscheiden sich voneinander.The certificate for Public cloud and sovereign cloud will be different.

CloudCloud ZertifikatCertificate
Allgemein verfügbar in globalen Azure-RegionenAll Generally Available Global Azure Regions metadata.azure.commetadata.azure.com
Azure GovernmentAzure Government metadata.azure.usmetadata.azure.us
Azure ChinaAzure China metadata.azure.cnmetadata.azure.cn
Azure DeutschlandAzure Germany metadata.microsoftazure.demetadata.microsoftazure.de

# Verify the subject name for the main certificate
openssl x509 -noout -subject -in signer.pem
# Verify the issuer for the main certificate
openssl x509 -noout -issuer -in signer.pem
#Validate the subject name for intermediate certificate
openssl x509 -noout -subject -in intermediate.pem
# Verify the issuer for the intermediate certificate
openssl x509 -noout -issuer -in intermediate.pem
# Verify the certificate chain
openssl verify -verbose -CAfile /etc/ssl/certs/Baltimore_CyberTrust_Root.pem -untrusted intermediate.pem signer.pem

Falls das Zwischenzertifikat bei der Überprüfung aufgrund von Netzwerkeinschränkungen nicht heruntergeladen werden kann, können Sie das Zwischenzertifikat anheften.In cases where the intermediate certificate cannot be downloaded due to network constraints during validation, the intermediate certificate can be pinned. Azure übergibt die Zertifikate jedoch beim Rollover gemäß der Standard-PKI-Methode.However, Azure will roll over the certificates as per standard PKI practice. Die angehefteten Zertifikate müssen bei einem Rollover aktualisiert werden.The pinned certificates would need to be updated when roll over happens. Wenn eine Änderung geplant ist, bei der das Zwischenzertifikat aktualisiert werden muss, wird der Azure-Blog auf den neuesten Stand gebracht, und Azure-Kunden werden benachrichtigt.Whenever a change to update the intermediate certificate is planned, the Azure blog will be updated and Azure customers will be notified. Die Zwischenzertifikate sind hier zu finden.The intermediate certificates can be found here. Die Zwischenzertifikate können sich für die einzelnen Regionen unterscheiden.The intermediate certificates for each of the regions can be different.

Failoverclustering in Windows ServerFailover Clustering in Windows Server

Für bestimmte Szenarien ist es beim Abfragen von Instance Metadata Service mit Failoverclustering notwendig, der Routingtabelle eine Route hinzuzufügen.For certain scenarios, when querying Instance Metadata Service with Failover Clustering, it is necessary to add a route to the routing table.

  1. Öffnen Sie eine Eingabeaufforderung mit Administratorberechtigungen.Open command prompt with administrator privileges.

  2. Führen Sie den folgenden Befehl aus, und notieren Sie die Adresse der Schnittstelle für das Netzwerkziel (0.0.0.0) in der IPv4-Routingtabelle.Run the following command and note the address of the Interface for Network Destination (0.0.0.0) in the IPv4 Route Table.

route print

Hinweis

Die folgende Beispielausgabe von einer Windows Server-VM mit aktiviertem Failovercluster enthält aus Gründen der Vereinfachung nur die IPv4-Routingtabelle.The following example output from a Windows Server VM with Failover Cluster enabled contains only the IPv4 Route Table for simplicity.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.1.1        10.0.1.10    266
         10.0.1.0  255.255.255.192         On-link         10.0.1.10    266
        10.0.1.10  255.255.255.255         On-link         10.0.1.10    266
        10.0.1.15  255.255.255.255         On-link         10.0.1.10    266
        10.0.1.63  255.255.255.255         On-link         10.0.1.10    266
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      169.254.0.0      255.255.0.0         On-link     169.254.1.156    271
    169.254.1.156  255.255.255.255         On-link     169.254.1.156    271
  169.254.255.255  255.255.255.255         On-link     169.254.1.156    271
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link     169.254.1.156    271
        224.0.0.0        240.0.0.0         On-link         10.0.1.10    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link     169.254.1.156    271
  255.255.255.255  255.255.255.255         On-link         10.0.1.10    266
  1. Führen Sie den folgenden Befehl aus, und verwenden Sie dabei die Adresse der Schnittstelle für das Netzwerkziel (0.0.0.0), in diesem Beispiel 10.0.1.10.Run the following command and use the address of the Interface for Network Destination (0.0.0.0) which is (10.0.1.10) in this example.
route add 169.254.169.254/32 10.0.1.10 metric 1 -p

Benutzerdefinierte DatenCustom Data

Instance Metadata Service bietet für den virtuellen Computer die Möglichkeit, auf eigene benutzerdefinierte Daten zuzugreifen.Instance Metadata Service provides the ability for the VM to have access to its custom data. Die binären Daten müssen weniger als 64 KB umfassen und werden dem virtuellen Computer in base64-codiertem Format bereitgestellt.The binary data must be less than 64 KB and is provided to the VM in base64 encoded form.

Benutzerdefinierte Azure-Daten können über REST-APIs, PowerShell-Cmdlets, die Azure-Befehlszeilenschnittstelle oder eine ARM-Vorlage in die VM eingefügt werden.Azure custom data can be inserted to the VM through REST APIs, PowerShell Cmdlets, Azure Command Line Interface (CLI), or an ARM template.

Ein Beispiel für die Azure-Befehlszeilenschnittstelle finden Sie unter Benutzerdefinierte Daten und Cloudinitialisierung in Microsoft Azure.For an Azure Command Line Interface example, see Custom Data and Cloud-Init on Microsoft Azure.

Ein Beispiel für eine ARM-Vorlage finden Sie unter Bereitstellen eines virtuellen Computers mit CustomData.For an ARM template example, see Deploy a Virtual Machine with CustomData.

Benutzerdefinierte Daten sind für alle auf dem virtuellen Computer ausgeführten Prozesse verfügbar.Custom data is available to all processes running in the VM. Es wird Kunden empfohlen, in benutzerdefinierte Daten keine geheimen Informationen einzuschließen.It is suggested that customers do not insert secret information into custom data.

Zurzeit wird gewährleistet, dass benutzerdefinierte Daten während des Startvorgangs einer VM verfügbar sind.Currently, custom data is guaranteed to be available during bootstrap of a VM. Wenn Aktualisierungen an der VM vorgenommen werden (z.B. das Hinzufügen von Datenträgern oder das Ändern der Größe der VM), stellt der Instance Metadata Service keine benutzerdefinierten Daten bereit.If updates are made to the VM such as adding disks or resizing the VM, Instance Metadata Service will not provide custom data. Die dauerhafte Bereitstellung benutzerdefinierter Daten über Instance Metadata Service ist derzeit in Vorbereitung.Providing custom data persistently through Instance Metadata Service is currently in progress.

Abrufen von benutzerdefinierten Daten auf virtuellen ComputernRetrieving custom data in Virtual Machine

Instance Metadata Service stellt dem virtuellen Computer benutzerdefinierte Daten in base64-codiertem Format bereit.Instance Metadata Service provides custom data to the VM in base64 encoded form. Im folgenden Beispiel wird die base64-codierte Zeichenfolge decodiert.The following example decodes the base64 encoded string.

Hinweis

Die benutzerdefinierten Daten in diesem Beispiel werden als ASCII-Zeichenfolge interpretiert, die „My custom data.“ lautet.The custom data in this example is interpreted as an ASCII string that reads, "My custom data.".

AnforderungRequest

curl -H "Metadata:true" "http://169.254.169.254/metadata/instance/compute/customData?api-version=2019-02-01&&format=text" | base64 --decode

AntwortResponse

My custom data.

Beispiele zum Aufrufen des Metadatendiensts über verschiedene Sprachen auf der VMExamples of calling metadata service using different languages inside the VM

SpracheLanguage BeispielExample
RubyRuby https://github.com/Microsoft/azureimds/blob/master/IMDSSample.rb
GoGo https://github.com/Microsoft/azureimds/blob/master/imdssample.go
PythonPython https://github.com/Microsoft/azureimds/blob/master/IMDSSample.py
C++C++ https://github.com/Microsoft/azureimds/blob/master/IMDSSample-windows.cpp
C#C# https://github.com/Microsoft/azureimds/blob/master/IMDSSample.cs
JavaScriptJavaScript https://github.com/Microsoft/azureimds/blob/master/IMDSSample.js
PowerShellPowerShell https://github.com/Microsoft/azureimds/blob/master/IMDSSample.ps1
BashBash https://github.com/Microsoft/azureimds/blob/master/IMDSSample.sh
PerlPerl https://github.com/Microsoft/azureimds/blob/master/IMDSSample.pl
JavaJava https://github.com/Microsoft/azureimds/blob/master/imdssample.java
Visual BasicVisual Basic https://github.com/Microsoft/azureimds/blob/master/IMDSSample.vb
PuppetPuppet https://github.com/keirans/azuremetadata

Häufig gestellte FragenFAQ

  1. Ich erhalte die Fehlermeldung 400 Bad Request, Required metadata header not specified.I am getting the error 400 Bad Request, Required metadata header not specified. Was bedeutet dies?What does this mean?

    • Für den Instanzmetadatendienst muss der Header Metadata: true in der Anforderung übergeben werden.The Instance Metadata Service requires the header Metadata: true to be passed in the request. Durch Übergeben dieses Headers im REST-Aufruf wird der Zugriff auf den Instanzmetadatendienst ermöglicht.Passing this header in the REST call allows access to the Instance Metadata Service.
  2. Warum erhalte ich keine Compute-Informationen für meine VM?Why am I not getting compute information for my VM?

    • Der Instanzmetadatendienst unterstützt derzeit nur Instanzen, die mit dem Azure Resource Manager erstellt wurden.Currently the Instance Metadata Service only supports instances created with Azure Resource Manager. In Zukunft kann zusätzliche Unterstützung für Clouddienst-VMs hinzugefügt werden.In the future, support for Cloud Service VMs might be added.
  3. Ich habe meinen virtuellen Computer vor einiger Zeit über den Azure Resource Manager erstellt.I created my Virtual Machine through Azure Resource Manager a while back. Warum sehe ich keine Computemetadateninformationen?Why am I not see compute metadata information?

    • Fügen Sie für VMs, die nach September 2016 erstellt wurden, ein Tag hinzu, damit Computemetadaten angezeigt werden.For any VMs created after Sep 2016, add a Tag to start seeing compute metadata. Fügen Sie bei älteren VMs (die vor September 2016 erstellt wurden) Erweiterungen oder Datenträger zur VM hinzu, bzw. entfernen Sie diese, um Metadaten zu aktualisieren.For older VMs (created before Sep 2016), add/remove extensions or data disks to the VM to refresh metadata.
  4. Nicht alle Daten wurden für die neue Version eingetragen.I am not seeing all data populated for new version

    • Fügen Sie für VMs, die nach September 2016 erstellt wurden, ein Tag hinzu, damit Computemetadaten angezeigt werden.For any VMs created after Sep 2016, add a Tag to start seeing compute metadata. Fügen Sie bei älteren VMs (die vor September 2016 erstellt wurden) Erweiterungen oder Datenträger zur VM hinzu, bzw. entfernen Sie diese, um Metadaten zu aktualisieren.For older VMs (created before Sep 2016), add/remove extensions or data disks to the VM to refresh metadata.
  5. Warum erhalte ich die Fehlermeldung 500 Internal Server Error?Why am I getting the error 500 Internal Server Error?

    • Wiederholen Sie Ihre Anforderung basierend auf dem Exponential-Backoff-System.Retry your request based on exponential back off system. Wenden Sie sich an den Azure-Support, wenn das Problem weiterhin besteht.If the issue persists contact Azure support.
  6. Wie kann ich weitere Fragen/Kommentare weiterleiten?Where do I share additional questions/comments?

  7. Gilt dies auch für VM-Skalierungsgruppeninstanzen?Would this work for Virtual Machine Scale Set Instance?

    • Ja, der Metadatendienst ist für Skalierungsgruppeninstanzen verfügbar.Yes Metadata service is available for Scale Set Instances.
  8. Wie beziehe ich Support für den Dienst?How do I get support for the service?

    • Um Support für den Dienst zu beziehen, erstellen Sie im Azure-Portal ein Supportproblem für den virtuellen Computer, auf dem Sie nach wiederholten Versuchen keine Metadatenantwort erhalten.To get support for the service, create a support issue in Azure portal for the VM where you are not able to get metadata response after long retries.
  9. Ich erhalte ein Anforderungstimeout für den Aufruf des Diensts.I get request timed out for my call to the service?

    • Metadatenaufrufe müssen von der primären IP-Adresse erfolgen, die der Netzwerkkarte des virtuellen Computers zugewiesen ist. Wenn Sie außerdem Ihre Routen geändert haben, muss eine Route für die Adresse 169.254.0.0/16 von Ihrer Netzwerkkarte aus vorhanden sein.Metadata calls must be made from the primary IP address assigned to the network card of the VM, in addition in case you have changed your routes there must be a route for 169.254.0.0/16 address out of your network card.
  10. Ich habe meine Tags in der VM-Skalierungsgruppe aktualisiert, aber sie werden im Gegensatz zu virtuellen Computern nicht in den Instanzen angezeigt.I updated my tags in virtual machine scale set but they don't appear in the instances unlike VMs?

    • Derzeit werden Skalierungsgruppen Tags zu dem virtuellen Computer nur nach einem Neustart, einer Neuerstellung des Images oder der Änderung eines Datenträgers für die Instanz angezeigt.Currently for ScaleSets tags only show to the VM on a reboot/reimage/or a disk change to the instance.

    Instanzmetadatenunterstützung

Nächste SchritteNext steps