Endpoint di ECS protezione scalabile Amazon Task - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Endpoint di ECS protezione scalabile Amazon Task

L'agente ECS container Amazon inietta automaticamente la variabile di ECS_AGENT_URI ambiente nei contenitori delle ECS attività di Amazon per fornire un metodo per interagire con l'APIendpoint dell'agente contenitore.

Ti consigliamo di utilizzare l'endpoint Amazon ECS Container Agent per attività che possono determinare autonomamente la necessità di protezione.

Quando un container inizia a elaborare il lavoro, puoi impostare l'protectionEnabledattributo utilizzando il percorso $ECS_AGENT_URI/task-protection/v1/state dell'endpoint di protezione scale-in delle attività dall'interno del contenitore.

Utilizza una PUT richiesta in tal senso URI dall'interno di un contenitore per impostare la protezione scalabile delle attività. Una GET richiesta in tal senso URI restituisce lo stato di protezione corrente di un'attività.

Parametri della richiesta di protezione scalabile in base alla dimensione dell'attività

È possibile impostare la protezione scalabile delle attività utilizzando l'endpoint ${ECS_AGENT_URI}/task-protection/v1/state con i seguenti parametri di richiesta.

ProtectionEnabled

trueSpecificare di contrassegnare un'attività per la protezione. falseSpecificare se rimuovere la protezione e rendere l'attività idonea alla cessazione.

Tipo: Booleano

Campo obbligatorio: sì

ExpiresInMinutes

Il numero di minuti in cui l'attività è protetta. È possibile specificare da un minimo di 1 minuto a un massimo di 2.880 minuti (48 ore). Durante questo periodo di tempo, l'attività non verrà terminata da eventi di dimensionamento derivanti dal servizio Dimensionamento automatico o dalle implementazioni. Trascorso questo periodo di tempo, il parametro protectionEnabled viene impostato su false.

Se non si specifica l'ora, l'attività viene protetta automaticamente per 120 minuti (2 ore).

Tipo: integer

Campo obbligatorio: no

Gli esempi seguenti mostrano come impostare la protezione delle attività con durate diverse.

Esempio di come proteggere un'attività con il periodo di tempo predefinito

Questo esempio mostra come proteggere un'attività con il periodo di tempo predefinito di 2 ore.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true}'

Esempio di protezione di un'attività per 60 minuti

Questo esempio mostra come proteggere un'attività per 60 minuti utilizzando il parametro expiresInMinutes.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true,"ExpiresInMinutes":60}'

Esempio di protezione di un'attività per 24 ore

Questo esempio mostra come proteggere un'attività per 24 ore utilizzando il parametro expiresInMinutes.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true,"ExpiresInMinutes":1440}'

La PUT richiesta restituisce la seguente risposta.

{ "protection": { "ExpirationDate": "2023-12-20T21:57:44.837Z", "ProtectionEnabled": true, "TaskArn": "arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0" } }

Parametri di risposta alla protezione scalabili in base alle attività

Le seguenti informazioni vengono restituite dall'endpoint ${ECS_AGENT_URI}/task-protection/v1/state di protezione scale-in dell'operazione nella risposta. JSON

ExpirationDate

L'ora in cui scadrà la protezione per l'attività. Se l'attività non è protetta, questo valore è nullo.

ProtectionEnabled

Lo stato di protezione dell'attività. Se la protezione scalabile è abilitata per un'attività, il valore è true. In caso contrario è false.

TaskArn

L'Amazon Resource Name completo (ARN) dell'attività a cui appartiene il contenitore.

L'esempio che segue mostra i dettagli restituiti per un'attività protetta.

curl --request GET ${ECS_AGENT_URI}/task-protection/v1/state
{ "protection":{ "ExpirationDate":"2023-12-20T21:57:44Z", "ProtectionEnabled":true, "TaskArn":"arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0" } }

Le seguenti informazioni vengono restituite quando si verifica un errore.

Arn

L'Amazon Resource Name completo (ARN) dell'attività.

Detail

I dettagli relativi all'errore.

Reason

Il motivo dell'errore.

L'esempio che segue mostra i dettagli restituiti per un'attività che non è protetta.

{ "failure":{ "Arn":"arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0", "Detail":null, "Reason":"TASK_NOT_VALID" } }

Le seguenti informazioni vengono restituite quando si verifica un'eccezione.

requestID

L'ID della AWS richiesta per la ECS API chiamata Amazon che genera un'eccezione.

Arn

L'Amazon Resource Name completo (ARN) dell'attività o del servizio.

Code

Il codice di errore.

Message

Messaggio di errore.

Nota

Se viene visualizzato un errore RequestError o RequestTimeout, è probabile che si tratti di un problema di rete. Prova a utilizzare VPC gli endpoint per AmazonECS.

L'esempio che segue mostra i dettagli restituiti quando si verifica un errore.

{ "requestID":"12345-abc-6789-0123-abc", "error":{ "Arn":"arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code":"AccessDeniedException", "Message":"User: arn:aws:sts::444455556666:assumed-role/my-ecs-task-role/1234567890abcdef0 is not authorized to perform: ecs:GetTaskProtection on resource: arn:aws:ecs:us-west-2:555555555555:task/test/1234567890abcdef0 because no identity-based policy allows the ecs:GetTaskProtection action" } }

Il seguente errore viene visualizzato se l'ECSagente Amazon non è in grado di ottenere una risposta dall'ECSendpoint Amazon per motivi quali problemi di rete o il piano di ECS controllo Amazon non è attivo.

{ "error": { "Arn": "arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code": "RequestCanceled", "Message": "Timed out calling Amazon ECS Task Protection API" } }

Il seguente errore viene visualizzato quando l'ECSagente Amazon riceve un'eccezione di limitazione da Amazon. ECS

{ "requestID": "12345-abc-6789-0123-abc", "error": { "Arn": "arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code": "ThrottlingException", "Message": "Rate exceeded" } }