Wie behebe ich Probleme im Zusammenhang mit der Markierung in ECS-Aufgaben?

Letzte Aktualisierung: 01.04.2022

Ich habe ein Problem mit Tags für Aufgaben im Amazon Elastic Container Service (Amazon ECS). Wie kann ich dies beheben?

Behebung

Beim Festlegen von Tags mit Amazon ECS haben Sie möglicherweise die folgenden Probleme:

  • Ihre Tags werden nicht von der Dienst- oder Aufgabendefinition an Aufgaben weitergegeben.
  • Ihre Tags haben ein veraltetes Format des Amazon-Ressourcennamens (ARN) und der Ressourcen-ID.
  • Sie können Ihren ECS-Ressourcen aufgrund fehlender Berechtigungen im AWS Identity and Access Management (IAM) oder Tag-Beschränkungen keine Tags hinzufügen.
  • Sie können im AWS Billing Dashboard keine ECS-Tags sehen.

Gehen Sie wie folgt vor, um diese Probleme zu beheben:

Stellen Sie sicher, dass der Parameter PropagateTags für die Weitergabe aus Dienst- oder Aufgabendefinitionen an Aufgaben verwendet wird

Der Parameter PropagateTags kann verwendet werden, um Tags aus der Aufgabendefinition oder dem Dienst in die Aufgabe zu kopieren. Dies kann geschehen, wenn Sie eine Aufgabe ausführen oder einen Dienst erstellen. Dieser Parameter ist standardmäßig nicht aktiviert.

Sie können überprüfen, ob PropagateTags in einem bestimmten Service verwendet wird, indem Sie den folgenden Befehl in AWS CLI ausführen und servicename, clustername und region durch die entsprechenden Werte ersetzen:

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].propagateTags' --output text

Informationen zum Konfigurieren von Tags für die Weitergabe von Tags aus der Dienst- oder Aufgabendefinition mithilfe der CLI finden Sie unter der API RunTask und CreateService.

So aktivieren Sie die Tag-Weitergabe mit der Konsole:

  1. Öffnen Sie die Amazon-ECS-Konsole.
  2. Wählen Sie die AWS-Region für Ihre ECS-Ressource aus.
  3. Wählen Sie im Navigationsbereich Task Definitions (Aufgabendefinitionen) aus.
  4. Wählen Sie die Aufgabendefinition aus der Ressourcenliste und dann Actions (Aktionen) aus. Wählen Sie dann Create Service (Dienst erstellen) oder Run Task (Aufgabe ausführen).
  5. Wählen Sie unter Task tagging configuration (Konfiguration der Aufgaben-Markierung) neben Propagate tags from (Tags weitergeben von) die Option Service oder Task definitions (Service- oder Aufgabendefinitionen) aus.
    Hinweis: Die Standardoption ist Do not propagate (Nicht weitergeben).

Um Tags in ECS mit AWS CloudFormation zu verwenden, müssen Sie die Entität AWS::ECS::Service mithilfe der Eigenschaften EnableECSManagedTags und PropagateTags mit dem Wert SERVICE oder TASK_DEFINITION deklarieren.

Hinweis:

  • Die Verwendung von Eigenschaften im Zusammenhang mit ECS-Servicetags nach der Stack-Erstellung in CloudFormation erfordert ein Stack-Update und den Austausch von Ressourcen. Das bedeutet, dass der Dienst gelöscht und über CloudFormation neu erstellt wird.
  • Der Parameter PropagateTags kann nur verwendet werden, wenn Sie eine Aufgabe ausführen oder einen Dienst erstellen. Weitere Informationen finden Sie unter der API RunTask und CreateService.
  • Sie haben Zugriff auf dieselben Konfigurationen für Scheduled tasks (geplante Aufgaben) wie für Aufgaben, die direkt mit der Amazon-ECS-API RunTask gestartet werden.

Stellen Sie sicher, dass Sie das neue ARN-Format verwenden

Um Amazon-ECS-Ressourcen markieren zu können, müssen Sie die neuen Formate für Amazon-Ressourcenname (ARNs) und IDs verwenden.

Beispiel für die beiden Formate:

  • Altes Format: arn:aws:ecs:region:aws_account_id:service/service-name
  • Neues Format: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Informationen zur Migration Ihrer ECS-Bereitstellung auf das neue ARN- und Ressourcen-ID-Format finden Sie unter Migration Ihrer Amazon-ECS-Bereitstellung auf das neue ARN- und Ressourcen-ID-Format.

Hinweis: Ihre vorhandenen Ressourcen erhalten bei der Markierung nicht das neue ARN-Format, bis sie neu erstellt werden.

Überprüfen Sie, ob die IAM-Entität über die erforderlichen Berechtigungen und Check-Tags-Beschränkungen verfügt

Wenn Sie Ihrem ECS-Service keine Tags hinzufügen können, gehen Sie wie folgt vor:

  1. Prüfen Sie CloudTrail-Ereignisse in der CloudTrail-Konsole auf TagResource-Ereignisse.
  2. Wenn Sie einen der folgenden Fehler sehen: AccessDenied oder The tags cannot be updated at this time. Wait a few minutes and try again (Die Tags können zu diesem Zeitpunkt nicht aktualisiert werden. Warten Sie ein paar Minuten und versuchen Sie es erneut), dann hat die IAM-Entität nicht die ecs:TagResource-Berechtigungen.
  3. Um dies zu beheben, fügen Sie den IAM-Entitäten ecs:TagResource-Berechtigungen hinzu.
  4. Nachdem die Berechtigungen hinzugefügt wurden, versuchen Sie erneut, die Tags zum ECS-Cluster hinzuzufügen.

Stellen Sie sicher, dass Ihre ECS-Tags innerhalb der Tag-Beschränkungen liegen. Informationen zur Überprüfung der Tag-Beschränkungen finden Sie unter Tag-Beschränkungen.

Prüfen Sie, ob es sich um ein Problem mit dem AWS-Fakturierung und -Kostenmanagement handelt

Um zu überprüfen, ob die erforderlichen Tags auf der Ebene der ECS-Aufgaben vorhanden sind, führen Sie den folgenden Befehl in AWS CLI aus und ersetzen Sie value durch den ARN:

aws ecs list-tags-for-resource --resource-arn <value>

So überprüfen Sie mithilfe der Konsole, ob die erforderlichen Tags auf der Ebene der ECS-Aufgaben vorhanden sind:

  1. Öffnen Sie die Amazon-ECS-Konsole.
  2. Wählen Sie die AWS-Region für Ihre ECS-Ressource aus.
  3. Wählen Sie im Navigationsbereich einen Ressourcentyp aus (z. B. Cluster).
  4. Wählen Sie die Ressource aus der Ressourcenliste aus und wählen Sie Tags.
    Wenn Tags existieren, werden sie aufgelistet.

Wenn Sie nach verwalteten Tags suchen, muss ECS-verwaltet aktiviert sein. Überprüfen Sie den Status ECS-verwaltet, indem Sie den folgenden Befehl ausführen und servicename, clustername und region durch die entsprechenden Werte ersetzen:

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].enableECSManagedTags' --output text

Die Befehlsausgabe enthält den Wert enableECSManagedTags.

Sie können ECS-verwaltete Tags aktivieren, während Sie einen Dienst erstellen oder eine Aufgabe mithilfe der CLI ausführen. Weitere Informationen finden Sie unter der API RunTask undCreateService.

So aktivieren Sie ECS-verwaltete Tags mithilfe der Konsole:

  1. Öffnen Sie die Amazon-ECS-Konsole.
  2. Wählen Sie die AWS-Region für Ihre ECS-Ressource aus.
  3. Wählen Sie im Navigationsbereich Task Definitions (Aufgabendefinitionen) aus.
  4. Wählen Sie die Aufgabendefinition aus der Ressourcenliste und dann Actions (Aktionen) aus. Wählen Sie dann Create Service (Dienst erstellen) oder Run Task (Aufgabe ausführen).
  5. Wählen Sie unter Task tagging configuration (Konfiguration der Aufgaben-Markierung) die Option Enable ECS managed tags (ECS-verwaltete-Tags aktivieren).

Wenn für die Fakturierung verwendete Tags aufgeführt sind, aber im AWS Cost Explorer nicht angezeigt werden, müssen Sie sicherstellen, dass die Tags in der Konsole für das Fakturierungs- und Kostenmanagement aktiviert sind. Informationen zur Aktivierung von Kostenzuordnungs-Tags finden Sie unter Benutzerdefinierte Kostenzuordnungs-Tags aktivieren.
Hinweis: Jedes im Cost Explorer als Filter anzuzeigende Tag muss aktiviert werden. Es kann bis zu 24 Stunden dauern, bis die Tags aktiviert sind.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?