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.

Zulassen 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 Zulassen des Zugriffs auf Tags in Instance-Metadaten aktivieren Sie das Kontrollkästchen Allow (Zulassen).

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

Zulassen des Zugriffs auf Tags in Instance-Metadaten beim Start mithilfe der AWS CLI

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"
So lassen Sie den Zugriff auf Tags in Instance-Metadaten auf einer ausgeführten oder angehaltenen Instance mithilfe der AWS CLI zu

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 Instanz-Tags in den Instanz-Metadaten zugelassen haben, können Sie über die Instanz-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

In diesem Beispiel werden alle Tag-Schlüssel für eine Instance abgerufen.

[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 abgerufen wurde. Die IMDSv2 Anforderung 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

In diesem Beispiel werden alle Tag-Schlüssel für eine Instanz abgerufen.

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 abgerufen wurde. Die IMDSv2 Anforderung 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
Version 1 des Instanz-Metadatendienstes

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

cURL

In diesem Beispiel werden alle Tag-Schlüssel für eine Instance abgerufen.

[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 abgerufen wurde.

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

In diesem Beispiel werden alle Tag-Schlüssel für eine Instanz abgerufen.

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 abgerufen 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 Instanzmetadaten in den Ergebnissen anzuzeigen.

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

Es folgt eine Beispielausgabe. Der Wert von InstanceMetadataTags gibt an, ob der Zugriff auf Tags in Instanzmetadaten zulässig ist. Wenn der Wert istenabled, ist er erlaubt. Wenn der Wert istdisabled, ist er nicht zulässig.

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