Zeigen Sie Tags für Ihre EC2 Instances mithilfe von Instanz-Metadaten an - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zeigen Sie Tags für Ihre EC2 Instances mithilfe von Instanz-Metadaten an

Sie können über die Instance-Metadaten auf die Tags einer Instance zugreifen. Durch den Zugriff auf Tags aus den Instanz-Metadaten müssen Sie die DescribeTags API Aufrufe DescribeInstances oder nicht mehr verwenden, um Tag-Informationen abzurufen, wodurch Ihre API Transaktionen pro Sekunde reduziert werden und Ihre Tag-Abrufe mit der Anzahl der Instances, die Sie kontrollieren, skalieren können. Darüber hinaus können lokale Prozesse, die auf einer Instance ausgeführt werden, die Tag-Informationen der Instance direkt in den Instance-Metadaten anzeigen.

Tags sind standardmäßig nicht in den Instance-Metadaten verfügbar; Sie müssen den Zugriff explizit zulassen. Sie können den Zugriff beim Start der Instance oder nach dem Start auf einer ausgeführten oder angehaltenen Instance zulassen. Sie können den Zugriff auf Tags auch zulassen, indem Sie dies in einer Startvorlage angeben. Instances, die mit der Vorlage gestartet werden, lassen den Zugriff auf Tags in den Instance-Metadaten zu.

Wenn Sie eine Instance-Markierung hinzufügen oder entfernen, werden die Instance-Metadaten aktualisiert, während die Instance läuft, ohne dass Sie die Instance anhalten und wieder starten müssen.

Zulassen des Zugriffs auf Tags in Instance-Metadaten

Standardmäßig gibt es keinen Zugriff auf Instance-Tags in den Instance-Metadaten. Sie müssen den Zugriff für jede Instance mit einer der folgenden Methoden explizit zulassen.

Anmerkung

Wenn Sie den Zugriff auf Tags in Instance-Metadaten zulassen, unterliegen Instance-Tag-Schlüssel bestimmten Einschränkungen. Eine Nichteinhaltung der Vorschriften führt zu fehlgeschlagenen Starts für neue Instances oder zu einem Fehler bei vorhandenen Instances. Die Einschränkungen sind:

  • Kann nur Buchstaben (a-z, A-Z), Zahlen (0-9) und die folgenden Zeichen enthalten: + - = . , _ : @.

  • Dürfen keine Leerzeichen oder / enthalten.

  • Kann nicht nur aus . (einer Periode), .. (zwei Perioden) oder _index bestehen.

Weitere Informationen finden Sie unter Tag (Markierung)-Einschränkungen.

Console
Zugriffs auf Tags in Instance-Metadaten beim Instance-Start zulassen
  1. Befolgen Sie das Verfahren zum Starten einer Instance.

  2. Erweitern Sie Erweiterte Details und wählen Sie für Tags in Metadaten zulassen die Option Aktivieren aus.

  3. Überprüfen Sie im Bereich Summary (Übersicht) die Konfiguration Ihrer Instance und wählen Sie dann Launch instance (Instance starten) aus. Weitere Informationen finden Sie unter EC2-Instance mit dem Launch Instance Wizard in der Konsole starten.

AWS CLI
Zugriffs auf Tags in Instance-Metadaten beim Instance-Start zulassen

Verwenden Sie den Befehl run-instances und legen Sie InstanceMetadataTags als enabled fest.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "InstanceMetadataTags=enabled"
Console
Den Zugriff auf Tags in Instance-Metadaten auf einer ausgeführten oder angehaltenen Instance mithilfe zulassen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie zuerst eine Instance aus und wählen Sie dann in den Instance-Einstellungen unter Aktionen die Option Tags in Instance-Metadaten zulassen.

  4. Zum Zulassen des Zugriffs auf Tags in Instance-Metadaten aktivieren Sie das Kontrollkästchen Zulassen.

  5. Wählen Sie Save (Speichern) aus.

AWS CLI
Den Zugriff auf Tags in Instance-Metadaten auf einer ausgeführten oder angehaltenen Instance mithilfe zulassen

Verwenden Sie den modify-instance-metadata-optionsBefehl und stellen Sie --instance-metadata-tags auf einenabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags enabled

Abrufen von Tags aus Instance-Metadaten

Nachdem Sie den Zugriff auf Instance-Tags in den Instance-Metadaten erlaubt haben, können Sie über die Instance-Metadaten auf die tags/instance-Kategorie zugreifen. Weitere Informationen finden Sie unter Auf Instanz-Metadaten für eine EC2 Instanz zugreifen.

Instance Metadata Service Version 2

Führen Sie die folgenden Beispiele auf Ihrer EC2 Amazon-Instance aus, um die Instance-Metadaten für abzurufenIMDSv2.

cURL

Dieses Beispiel ruft alle Tag-Schlüssel für eine Instance ab.

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance Name Environment

In diesem Beispiel wird der Wert des Name-Schlüssels abgerufen, der im vorherigen Beispiel ermittelt wurde. Die IMDSv2 Anfrage verwendet das gespeicherte Token, das mit dem Befehl im vorherigen Beispiel erstellt wurde. Das Token darf nicht abgelaufen sein.

[ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
PowerShell

Dieses Beispiel ruft alle Tag-Schlüssel für eine Instance ab.

PS C:\> $token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance Name Environment

In diesem Beispiel wird der Wert des Name-Schlüssels abgerufen, der im vorherigen Beispiel ermittelt wurde. Die IMDSv2 Anfrage verwendet das gespeicherte Token, das mit dem Befehl im vorherigen Beispiel erstellt wurde. Das Token darf nicht abgelaufen sein.

PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
Instance Metadata Service Version 1

Führen Sie die folgenden Beispiele auf Ihrer EC2 Amazon-Instance aus, um die Instance-Metadaten für abzurufenIMDSv1.

cURL

Dieses Beispiel ruft alle Tag-Schlüssel für eine Instance ab.

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/tags/instance Name Environment

In diesem Beispiel wird der Wert des Name-Schlüssels abgerufen, der im vorherigen Beispiel ermittelt wurde.

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance
PowerShell

Dieses Beispiel ruft alle Tag-Schlüssel für eine Instance ab.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/tags/instance Name Environment

In diesem Beispiel wird der Wert des Name-Schlüssels abgerufen, der im vorherigen Beispiel ermittelt wurde.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/tags/instance/Name MyInstance

Deaktivieren des Zugriffs auf Tags in Instance-Metadaten

Verwenden Sie eine der folgenden Methoden, um den Zugriff auf Instance-Tags in den Instance-Metadaten zu deaktivieren. Sie müssen den Zugriff auf Instance-Tags in Instance-Metadaten beim Start nicht deaktivieren, da dieser standardmäßig deaktiviert ist.

Deaktivieren des Zugriffs auf Tags in Instance-Metadaten mithilfe der Konsole
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie zuerst eine Instance aus und wählen Sie dann in den Instance settings (Instance-Einstellungen) unter Actions (Aktionen) die Option Allow tags in instance metadata (Zulassen von Tags in Instance-Metadaten).

  4. Zum Deaktivieren des Zugriffs auf Tags in Instance-Metadaten deaktivieren Sie das Kontrollkästchen Zulassen.

  5. Wählen Sie Save (Speichern) aus.

Um den Zugriff auf Tags in Instance-Metadaten zu deaktivieren, verwenden Sie den AWS CLI

Verwenden Sie den modify-instance-metadata-optionsBefehl und stellen Sie --instance-metadata-tags auf eindisabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags disabled
Um zu sehen, ob der Zugriff auf Tags in Instanzmetadaten erlaubt ist, verwenden Sie AWS CLI

Führen Sie den Befehl describe-instances aus und geben Sie die Instance-ID an. Verwenden Sie den --query-Parameter, um nur die Optionen für die Instance-Metadaten in den Ergebnissen anzuzeigen.

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query "Reservations[*].Instances[*].MetadataOptions"

Es folgt eine Beispielausgabe. Der InstanceMetadataTags-Parameter gibt an, ob der Zugriff auf Tags in Instance-Metadaten zulässig ist. Wenn der Wert enabled ist, ist er zulässig. Wenn der Wert disabled ist, ist er nicht zulässig.

[ [ { "State": "applied", "HttpTokens": "required", "HttpPutResponseHopLimit": 2, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "enabled" } ] ]