Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Come posso risolvere i problemi che si verificano quando provo a configurare un nuovo provider di capacità o ad aggiornare un provider di capacità esistente per il mio cluster Amazon ECS?

5 minuti di lettura
0

Non riesco a configurare un nuovo provider di capacità o aggiornare un provider di capacità esistente per il mio cluster Amazon Elastic Container Service (Amazon ECS).

Risoluzione

Di seguito sono riportati i problemi più comuni quando si configura un nuovo provider di capacità o si aggiorna un provider di capacità esistente per un cluster ECS:

Usi l'Interfaccia della linea di comando AWS per creare un provider di capacità del gruppo AWS Auto Scaling e ricevi errori

Quando usi l'Interfaccia della linea di comando AWS per creare un provider di capacità, esamina gli eventi AWS CloudTrail per verificare la presenza dell'API CreateCapacityProvider. Di seguito sono riportati gli errori comuni dell'API CapacityProvider:

  • ClientException: questi errori possono essere causati da un'azione del client. L'azione del client utilizza un'azione o una risorsa per conto di un utente di AWS Identity and Access Management (IAM). Tuttavia, l'azione client non dispone delle autorizzazioni necessarie per utilizzare l'azione o la risorsa. Questo errore può anche specificare che un identificatore non è valido.
  • UpdateInProgressException: questo errore viene visualizzato perché è già in corso un aggiornamento dell'agente container ECS sull'istanza di container specificata. Se l'agente container si disconnette in una fase di transizione, ad esempio PENDING o STAGING, l'aggiornamento può rimanere bloccato in quello stato. Tuttavia, quando l'agente si riconnette, l'aggiornamento riprende dal punto in cui si era interrotto.

Per ulteriori informazioni, consulta Errors.

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Ricevi l'errore: "The specified capacity provider already exists. To change the configuration of an existing capacity provider, update the capacity provider" (Il provider di capacità specificato esiste già. Per modificare la configurazione di un provider di capacità esistente, aggiorna il provider di capacità)

Quando crei il provider di capacità, usa un nome diverso dai nomi dei provider di capacità utilizzati in precedenza. Oppure elimina il provider di capacità esistente con quel nome e quindi crea un nuovo provider di capacità.

Per visualizzare un elenco di tutti i provider di capacità creati, esegui il comando AWS CLI describe-capacity-providers:

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

L'output è simile al seguente:

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

Per eliminare un provider di capacità, esegui il comando AWS CLI delete-capacity-provider:

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

Per creare un nuovo provider di capacità, esegui il comando AWS CLI create-capacity-provider:

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"

Ricevi l'errore: "The specified Auto Scaling group ARN is already being used by another capacity provider. Specify a unique Auto Scaling group ARN and try again" (L'ARN del gruppo Auto Scaling specificato è già utilizzato da un altro provider di capacità. Specifica un ARN univoco del gruppo Auto Scaling e riprova)

Il gruppo AWS Auto Scaling e il provider di capacità devono avere una relazione uno a uno. Verifica che il tuo provider di capacità sia associato a un solo gruppo AWS Auto Scaling. Verifica che il gruppo sia associato a un solo provider di capacità.

Crei la strategia del provider di capacità e ricevi l'errore: "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" (Il cluster specificato è occupato. I collegamenti al cluster devono essere nello stato UPDATE\ _COMPLETE o UPDATE\ _FAILED prima di poter essere aggiornati. Attendi e riprova)

Questo errore si risolve automaticamente dopo alcuni minuti. Una volta risolto l'errore, prova ad aggiornare nuovamente il provider di capacità. Oppure esegui il comando AWS CLI describe-clusters per visualizzare lo stato corrente dei collegamenti. Quindi attendi che il collegamento sia nello stato UPDATE\ _COMPLETE:

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

Un output con lo stato di aggiornamento completato è simile al seguente:

[
    "UPDATE_COMPLETE"
]

Ricevi errori dovuti a limitazioni del provider di capacità

Verifica che il tuo provider di capacità soddisfi i requisiti seguenti:

  • Non puoi specificare più di sei provider di capacità per una strategia di capacità.
  • Usa provider di capacità del gruppo AWS Auto Scaling o provider di capacità AWS Fargate nella strategia del tuo cluster. Non puoi usare una combinazione di entrambi i tipi.
  • Il valore base per la strategia del provider di capacità è supportato solo quando esegui le attività.

Il provider di capacità viene creato correttamente con CloudFormation, ma non viene mostrato nella console

Questo si verifica quando non si associa il provider di capacità al cluster nel modello AWS CloudFormation. Per evitare questo problema, usa il frammento di codice seguente nel modello CloudFormation per associare il provider di capacità al cluster:

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

Informazioni correlate

Amazon ECS capacity providers for the EC2 launch type

Come posso risolvere l'errore DELETE_FAILED quando elimino il provider di capacità in Amazon ECS?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa