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. Wenn Sie über die Instance-Metadaten auf Tags zugreifen, werden die API-Aufrufe DescribeInstances und DescribeTags nicht mehr zum Abrufen von Tag-Informationen benötigt. Dadurch werden Ihre API-Transaktionen pro Sekunde reduziert und Ihre Tag-Abrufe können mit der Anzahl der Instances, die Sie steuern, skaliert werden. 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.

Ermöglichen Sie den Zugriff auf Tags in Instanz-Metadaten

Standardmäßig gibt es keinen Zugriff auf Instance-Tags in den Instance-Metadaten. Für jede Instanz müssen Sie den Zugriff explizit aktivieren.

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
Um den Zugriff auf Tags in den Instance-Metadaten während des Instance-Starts zu ermöglichen
  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 Starten Sie eine EC2 Instance mit dem Launch-Instance-Assistenten in der Konsole.

Um den Zugriff auf Tags in den Instanz-Metadaten nach dem Start der Instanz zu ermöglichen
  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 Speichern.

AWS CLI
Um den Zugriff auf Tags in den Instance-Metadaten beim Start der Instance zu ermöglichen

Verwenden Sie den Befehl run-instances und fügen Sie die folgende --metadata-options Option hinzu.

--metadata-options "InstanceMetadataTags=enabled"
Um den Zugriff auf Tags in den Instanz-Metadaten nach dem Start der Instanz zu ermöglichen

Verwenden Sie den folgenden modify-instance-metadata-options-Befehl.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --instance-metadata-tags enabled
Um zu überprüfen, ob der Zugriff auf Tags in den Instanz-Metadaten aktiviert ist

Verwenden Sie den Befehl describe-instances und überprüfen Sie den Wert von. InstanceMetadataTags

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

Es folgt eine Beispielausgabe. Der Wert ist entweder enabled oder disabled.

[ "enabled" ]
PowerShell
Um den Zugriff auf Tags in den Instance-Metadaten während des Instance-Starts zu ermöglichen

Verwenden Sie das New-EC2InstanceCmdlet und fügen Sie den folgenden -MetadataOptions_InstanceMetadataTags Parameter hinzu.

-MetadataOptions_InstanceMetadataTags enabled
Um den Zugriff auf Tags in den Instanz-Metadaten nach dem Start der Instanz zu ermöglichen

Verwenden Sie das Edit-EC2InstanceMetadataOptionCmdlet.

Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -InstanceMetadataTags enabled
Um zu überprüfen, ob der Zugriff auf Tags in Instanzmetadaten aktiviert ist

Verwenden Sie das Get-EC2InstanceCmdlet und überprüfen Sie den Wert von. InstanceMetadataTags

(Get-EC2Instance ` -InstanceId i-1234567890abcdef0).Instances.MetadataOptions.InstanceMetadataTags.Value

Es folgt eine Beispielausgabe. Der Wert ist entweder enabled oder disabled.

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.

IMDSv2
Linux

Führen Sie den folgenden Befehl von Ihrer Linux-Instance aus, um alle Tag-Schlüssel für die Instanz aufzulisten.

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

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

curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/tag-key
Windows

Führen Sie das folgende Cmdlet von Ihrer Windows-Instanz aus, um alle Tagschlüssel für die Instanz aufzulisten.

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

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

Invoke-RestMethod ` -Headers @{"X-aws-ec2-metadata-token" = $token} ` -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance/tag-key
IMDSv1
Linux

Führen Sie den folgenden Befehl von Ihrer Linux-Instance aus, um alle Tag-Schlüssel für die Instanz aufzulisten.

curl http://169.254.169.254/latest/meta-data/tags/instance

In diesem Beispiel wird der Wert eines Schlüssels abgerufen, der im vorherigen Beispiel abgerufen wurde.

curl http://169.254.169.254/latest/meta-data/tags/instance/tag-key
Windows

Führen Sie das folgende Cmdlet von Ihrer Windows-Instanz aus, um alle Tagschlüssel für die Instanz aufzulisten.

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/tags/instance

In diesem Beispiel wird der Wert eines Schlüssels abgerufen, der im vorherigen Beispiel abgerufen wurde.

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/tags/instance/tag-key

Deaktivieren Sie den Zugriff auf Tags in Instanzmetadaten

Sie können den Zugriff auf Instanz-Tags in den Instanz-Metadaten deaktivieren. Sie müssen den Zugriff auf Instanz-Tags in den Instanz-Metadaten beim Start nicht deaktivieren, da er standardmäßig deaktiviert ist.

Console
Um den Zugriff auf Tags in Instanz-Metadaten zu deaktivieren
  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 Speichern.

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

Verwenden Sie den folgenden modify-instance-metadata-options-Befehl.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --instance-metadata-tags disabled
PowerShell
Um den Zugriff auf Tags in Instanzmetadaten zu deaktivieren

Verwenden Sie das Edit-EC2InstanceMetadataOptionCmdlet.

Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -InstanceMetadataTag disabled