Wie behebe ich Probleme, wenn ich versuche, einen neuen Kapazitätsanbieter einzurichten oder einen vorhandenen Kapazitätsanbieter für meinen Amazon ECS-Cluster zu aktualisieren?

Lesedauer: 4 Minute
0

Ich kann keinen neuen Kapazitätsanbieter einrichten oder einen vorhandenen Kapazitätsanbieter für meinen Amazon Elastic Container Service (Amazon ECS)-Cluster aktualisieren.

Lösung

Die folgenden Probleme treten häufig auf, wenn Sie einen neuen Kapazitätsanbieter einrichten oder einen vorhandenen Kapazitätsanbieter für Ihren ECS-Cluster aktualisieren:

Sie verwenden die AWS CLI, um einen AWS Auto Scaling-Gruppenkapazitätsanbieter zu erstellen, und Sie erhalten Fehler

Wenn Sie die AWS-CLI verwenden, um einen Kapazitätsanbieter zu erstellen, überprüfen Sie die AWS CloudTrail-Ereignisse, um nach der CreateCapacityProvider-API zu suchen. Im Folgenden sind häufige CapacityProvider-API-Fehler aufgeführt:

  • ClientException: Diese Fehler können durch eine Client-Aktion verursacht werden. Die Client-Aktion verwendet eine Aktion oder Ressource im Namen eines AWS Identity and Access Management (IAM)-Benutzers. Die Client-Aktion verfügt jedoch nicht über die erforderlichen Berechtigungen, um die Aktion oder Ressource zu verwenden. Dieser Fehler kann auch angeben, dass ein Bezeichner nicht gültig ist.
  • UpdateInProgressException: Sie erhalten diese Fehlermeldung, weil auf der von Ihnen angegebenen Container-Instance bereits eine aktuelle Aktualisierung des ECS-Container-Agenten ausgeführt wird. Wenn der Container-Agent in einer Übergangsphase wie PENDING oder STAGING die Verbindung trennt, kann die Aktualisierung in diesem Zustand verbleiben. Wenn der Agent jedoch erneut eine Verbindung herstellt, wird die Aktualisierung an der Stelle fortgesetzt, an der sie zuvor angehalten wurde.

Weitere Informationen finden Sie unter Fehler.

**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Troubleshoot AWS CLI errors. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

Sie erhalten die Fehlermeldung: „The specified capacity provider already exists. To change the configuration of an existing capacity provider, update the capacity provider“

Verwenden Sie beim Erstellen des Kapazitätsanbieters einen Namen, der sich von den zuvor verwendeten Namen des Kapazitätsanbieters unterscheidet. Oder löschen Sie den vorhandenen Kapazitätsanbieter mit diesem Namen, und erstellen Sie dann einen neuen Kapazitätsanbieter.

Um eine Liste aller erstellten Kapazitätsanbieter anzuzeigen, führen Sie den AWS-CLI-Befehl describe-capacity-providers aus:

aws ecs describe-capacity-providers --query capacityProviders\[\].name --region example-region

Die Ausgabe sieht etwa wie folgt aus:

[
    "FARGATE",
    "FARGATE_SPOT",
    "ecs-capacityprovider-1"
]

Um einen Kapazitätsanbieter zu löschen, führen Sie den AWS-CLI-Befehl delete-capacity-provider aus:

aws ecs delete-capacity-provider --capacity-provider ecs-capacityprovider-1 --region example-region

Um einen neuen Kapazitätsanbieter zu erstellen, führen Sie den AWS-CLI-Befehl create-capacity-provider aus:

aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"

Sie erhalten die Fehlermeldung: „The specified Auto Scaling group ARN is already being used by another capacity provider. Specify a unique Auto Scaling group ARN and try again“

Die AWS Auto-Scaling-Gruppe und der Kapazitätsanbieter müssen eine Eins-zu-Eins-Beziehung haben. Vergewissern Sie sich, dass Ihr Kapazitätsanbieter nur einer AWS Auto-Scaling-Gruppe zugeordnet ist. Vergewissern Sie sich, dass die Gruppe nur einem Kapazitätsanbieter zugeordnet ist.

Sie erstellen die Kapazitätsanbieterstrategie und erhalten die folgende Fehlermeldung: „The specified cluster is in a busy state. Cluster attachments must be in UPDATE_COMPLETE or UPDATE_FAILED state before they can be updated. Wait and try again“

Dieser Fehler wird nach einigen Minuten automatisch behoben. Versuchen Sie erneut, den Kapazitätsanbieter zu aktualisieren, nachdem der Fehler behoben ist. Oder führen Sie den AWS CLI-Befehl describe-clusters aus, um den aktuellen Status der Anhänge anzuzeigen. Warten Sie dann, bis der Anhang den Status UPDATE_COMPLETE hat:

aws ecs describe-clusters --clusters example-ARN --include ATTACHMENTS --query clusters\[\].attachmentsStatus --region example-region

Eine Statusausgabe für die abgeschlossene Aktualisierung sieht in etwa wie folgt aus:

[
    "UPDATE_COMPLETE"
]

Sie erhalten Fehlermeldungen aufgrund von Einschränkungen beim Kapazitätsanbieter

Vergewissern Sie sich, dass der Kapazitätsanbieter die folgenden Anforderungen erfüllt:

  • Sie können nicht mehr als sechs Kapazitätsanbieter für eine Kapazitätsstrategie angeben.
  • Verwenden Sie entweder AWS Auto-Scaling-Gruppen-Kapazitätsanbieter oder AWS Fargate-Kapazitätsanbieter in Ihrer Cluster-Strategie. Sie können nicht eine Kombination aus beiden Typen verwenden.
  • Der Basiswert für die Kapazitätsanbieterstrategie wird nur unterstützt, wenn Sie die Aufgaben ausführen.

Der Kapazitätsanbieter wurde erfolgreich mit CloudFormation erstellt, wird aber nicht in der Konsole angezeigt

Dies tritt auf, wenn Sie den Kapazitätsanbieter nicht mit dem Cluster in Ihrer AWS CloudFormation-Vorlage verknüpfen. Um dieses Problem zu vermeiden, verwenden Sie den folgenden Codeausschnitt in der CloudFormation-Vorlage, um den Kapazitätsanbieter mit dem Cluster zu verknüpfen:

...
ECSCluster:
  Type: 'AWS::ECS::Cluster'
  Properties:
    ClusterName: example-cluster
    CapacityProviders:
      - !Ref ECSCapacityProvider
...

Ähnliche Informationen

Amazon ECS-Kapazitätsanbieter für den EC2-Starttyp

Wie behebe ich den DELETE_FAILED-Fehler beim Löschen des Kapazitätsanbieters in Amazon ECS?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 5 Monaten