Ritiro e manutenzione delle attività per AWS Fargate su Amazon ECS - 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à.

Ritiro e manutenzione delle attività per AWS Fargate su Amazon ECS

AWS è responsabile della manutenzione dell'infrastruttura sottostante per AWS Fargate. AWS determina quando una revisione della versione della piattaforma deve essere sostituita con una nuova revisione dell'infrastruttura. Questa operazione è nota come ritiro delle attività. AWS invia una notifica di ritiro dell'attività quando viene ritirata una revisione della versione della piattaforma. Aggiorniamo regolarmente le versioni della piattaforma supportate per introdurre una nuova revisione contenente aggiornamenti al software runtime di Fargate e alle dipendenze sottostanti come il sistema operativo e il runtime del container. Dopo aver reso disponibile una revisione più recente, ritiriamo la versione precedente per garantire che tutti i carichi di lavoro dei clienti vengano eseguiti sulla revisione più aggiornata della versione della piattaforma di Fargate. Quando una revisione viene ritirata, tutte le attività in esecuzione su di essa vengono interrotte.

Le attività di Amazon ECS possono essere classificate come attività di servizio o come attività autonome. Le attività del servizio sono implementate nell'ambito di un servizio e controllate dalla pianificazione di Amazon ECS. Per ulteriori informazioni, consulta Servizi Amazon ECS. Le attività autonome sono attività avviate dall'RunTaskAPI Amazon ECS, direttamente o da uno strumento di pianificazione esterno, come le attività pianificate (che vengono avviate da Amazon EventBridge) oppure. AWS Batch AWS Step Functions Non devi effettuare alcuna operazione in risposta al ritiro delle attività di servizio poiché il pianificatore di Amazon ECS sostituisce automaticamente le attività.

Per le attività autonome, potrebbe essere necessario eseguire una gestione aggiuntiva in risposta al ritiro delle attività. Per ulteriori informazioni, consulta Amazon ECS può gestire automaticamente le attività autonome?.

Per le attività di servizio, non è necessario intraprendere alcuna azione per ritirarle, a meno che non si desideri sostituirle prima dell'esecuzione. AWS Quando il pianificatore di Amazon ECS arresta le attività, quest'ultimo utilizza maximumPercent e avvia nuove attività nel tentativo di mantenere il numero di servizi desiderato. Segui le best practice per ridurre al minimo l'impatto del ritiro delle attività. Il valore predefinito maximumPercent per un servizio che utilizza il pianificatore di servizi REPLICA è del 200%. Pertanto, quando AWS Fargate inizia a ritirare le attività, Amazon ECS pianifica prima una nuova attività e quindi attende che sia in esecuzione, prima di ritirare una vecchia attività. Quando imposti il valore maximumPercent al 100%, Amazon ECS arresta prima l'attività, quindi la sostituisce.

Per il ritiro di un'attività autonoma, AWS interrompe l'attività alla o dopo la data di ritiro dell'attività. Amazon ECS non avvia un'attività sostitutiva quando un'attività viene interrotta. Se hai bisogno che queste attività continuino a essere eseguite, devi arrestare le attività in esecuzione e avviarne una sostitutiva prima del tempo indicato nella notifica. Pertanto, consigliamo ai clienti di monitorare lo stato delle attività autonome e, se necessario, di implementare una logica per sostituire quelle interrotte.

Quando un'attività viene interrotta in uno degli scenari seguenti, puoi eseguire il comando describe-tasks. Il stoppedReason nella risposta è ECS is performing maintenance on the underlying infrastructure hosting the task.

La manutenzione delle attività viene applicata quando una revisione della versione della piattaforma deve essere sostituita con una nuova. In caso di problemi con un host Fargate sottostante, Amazon ECS sostituisce l'host senza un avviso di ritiro delle attività.

Panoramica sull'avviso di ritiro delle attività

Quando AWS contrassegna una revisione della versione della piattaforma come da ritirare, identifichiamo tutte le attività in esecuzione su quella revisione della versione della piattaforma in tutte le regioni. Inviamo quindi una notifica per account per Regione, evidenziando le attività o i servizi interessati e indicando la data in cui inizieranno i ritiri.

La figura seguente mostra il ciclo di vita di una revisione della versione della piattaforma di Fargate, dall'avvio di una nuova revisione al ritiro della versione della piattaforma.

Diagramma che mostra il ciclo di vita del ritiro delle attività di Fargate.

Le seguenti informazioni forniscono dettagli.

  • Dopo l'avvio di una nuova revisione della versione della piattaforma, tutte le nuove attività vengono pianificate in base a tale revisione.

  • Le attività esistenti che sono state pianificate e in esecuzione rimangono nella revisione in cui erano state originariamente inserite per tutta la durata dell'attività e non vengono migrate a quella nuova.

  • Le nuove attività, ad esempio come parte di un aggiornamento di un servizio o del ritiro delle attività di Fargate, vengono inserite nell'ultima versione della piattaforma disponibile al momento dell'avvio.

Le notifiche di ritiro delle attività vengono inviate tramite AWS Health Dashboard e tramite e-mail all'indirizzo e-mail registrato e includono le seguenti informazioni:

  • Data di ritiro dell'attività: l'attività viene interrotta a partire da questa data.

  • Per le attività autonome, IDs le attività.

  • Per le attività di servizio, l'ID del cluster in cui viene eseguito il servizio e il IDs nome del servizio.

  • I passaggi successivi da eseguire.

In genere, inviamo una notifica per ciascuna attività del servizio e attività autonome in ogni Regione AWS. Tuttavia, in alcuni casi potresti ricevere più di un evento per ogni tipo di attività, ad esempio quando ci sono troppe attività per essere ritirate e superano i limiti previsti dai nostri meccanismi di notifica.

Puoi identificare le attività pianificate per il ritiro nei modi seguenti:

  • Il AWS Health Dashboard

    AWS Health le notifiche possono essere inviate tramite Amazon EventBridge a sistemi di archiviazione come Amazon Simple Storage Service, eseguire azioni automatiche come eseguire una AWS Lambda funzione o altri sistemi di notifica come Amazon Simple Notification Service. Per ulteriori informazioni, consulta Monitoraggio AWS Health degli eventi con Amazon EventBridge. Per una configurazione di esempio per inviare notifiche ad Amazon Chime, Slack o Microsoft Teams, consulta l'archivio AWS Health Aware su. GitHub

    Di seguito è riportato un esempio di evento. EventBridge

    { "version": "0", "id": "3c268027-f43c-0171-7425-1d799EXAMPLE", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-08-16T23:18:51Z", "region": "us-east-1", "resources": [ "cluster|service", "cluster|service" ], "detail": { "eventArn": "arn:aws:health:us-east-1::event/ECS/AWS_ECS_TASK_PATCHING_RETIREMENT/AWS_ECS_TASK_PATCHING_RETIREMENT_test1", "service": "ECS", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "7988399e2e6fb0b905ddc88e0e2de1fd17e4c9fa60349577446d95a18EXAMPLE", "lastUpdatedTime": "Wed, 16 Aug 2023 23:18:52 GMT", "eventRegion": "us-east-1", "eventTypeCode": "AWS_ECS_TASK_PATCHING_RETIREMENT", "eventTypeCategory": "scheduledChange", "startTime": "Wed, 16 Aug 2023 23:18:51 GMT", "endTime": "Fri, 18 Aug 2023 23:18:51 GMT", "eventDescription": [ { "language": "en_US", "latestDescription": "\\nA software update has been deployed to Fargate which includes CVE patches or other critical patches. No action is required on your part. All new tasks launched automatically uses the latest software version. For existing tasks, your tasks need to be restarted in order for these updates to apply. Your tasks running as part of the following ECS Services will be automatically updated beginning Wed, 16 Aug 2023 23:18:51 GMT.\\n\\nAfter Wed, 16 Aug 2023 23:18:51 GMT, the ECS scheduler will gradually replace these tasks, respecting the deployment settings for your service. Typically, services should see little to no interruption during the update and no action is required. When AWS stops tasks, AWS uses the minimum healthy percent (1) and launches a new task in an attempt to maintain the desired count for the service. By default, the minimum healthy percent of a service is 100 percent, so a new task is started first before a task is stopped. Service tasks are routinely replaced in the same way when you scale the service or deploy configuration changes or deploy task definition revisions. If you would like to control the timing of this restart you can update the service before Wed, 16 Aug 2023 23:18:51 GMT, by running the update-service command from the ECS command-line interface specifying force-new-deployment for services using Rolling update deployment type. For example:\\n\\n$ aws ecs update-service -service service_name \\\n--cluster cluster_name -force-new-deployment\\n\\nFor services using Blue/Green deployment type with AWS CodeDeploy:\\nPlease refer to create-deployment document (2) and create new deployment using same task definition revision.\\n\\nFor further details on ECS deployment types, please refer to ECS Deployment Developer Guide (1).\\nFor further details on Fargate's update process, please refer to the AWS Fargate User Guide (3).\\nIf you have any questions or concerns, please contact AWS Support (4).\\n\\n(1) https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html\\n(2) https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html\\n(3) https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-maintenance.html\\n(4) https://aws.amazon.com/support\\n\\nA list of your affected resources(s) can be found in the 'Affected resources' tab in the 'Cluster/ Service' format in the AWS Health Dashboard. \\n\\n" } ], "affectedEntities": [ { "entityValue": "arn:aws:ecs:eu-west-1:111222333444:task/examplecluster/00805ce1d81940b5a37398e5a2c23333" }, { "entityValue": "arn:aws:ecs:eu-west-1:111222333444:task/examplecluster/00805ce1d81940b5a37398e5a2c25555" } } ] } }
  • E-mail

    Viene inviata un'e-mail all'indirizzo di posta elettronica registrato per l' Account AWS ID.

Per informazioni su come preparare il ritiro delle attività, consulta Preparati per il ritiro delle attività di AWS Fargate su Amazon ECS .

Posso disabilitare il ritiro delle attività?

No. Come parte del modello di responsabilità AWS condivisa, AWS è responsabile della gestione e della manutenzione dell'infrastruttura sottostante per AWS Fargate. Ciò include l'esecuzione di aggiornamenti periodici della piattaforma per garantire sicurezza e stabilità. Questi aggiornamenti vengono applicati automaticamente dai clienti AWS e non possono essere disattivati. Questo è uno dei vantaggi principali dell'utilizzo di a AWS Fargate rispetto all'esecuzione dei carichi di lavoro su EC2 istanze, la responsabilità della manutenzione della piattaforma sottostante è gestita da. AWS In questo modo, puoi concentrarti sulle applicazioni, piuttosto che sulla manutenzione dell'infrastruttura. Applicando automaticamente questi aggiornamenti della piattaforma, AWS è in grado di mantenere l'ambiente Fargate sicuro up-to-date e protetto, senza che sia richiesta alcuna azione da parte dell'utente in qualità di cliente. Questo aiuta a fornire un ambiente containerizzato affidabile e sicuro per l'esecuzione dei carichi di lavoro su Fargate.

Posso ricevere notifiche di ritiro delle attività tramite altri AWS servizi?

AWS invia una notifica di ritiro dell'attività al AWS Health Dashboard e al contatto di posta elettronica principale su. Account AWS AWS Health Dashboard Fornisce una serie di integrazioni in altri AWS servizi, tra cui. EventBridge È possibile EventBridge utilizzarlo per automatizzare la visibilità degli avvisi (ad esempio inoltrando il messaggio a uno strumento). ChatOps Per ulteriori informazioni, consulta Solution overview: Capturing task retirement notifications.

Posso modificare il ritiro di un'attività dopo averla pianificata?

No. La pianificazione si basa sul tempo di attesa per il ritiro delle attività, che ha un valore predefinito di sette giorni. Se hai bisogno di più tempo, puoi estendere il periodo di attesa a 14 giorni. Per ulteriori informazioni, consulta Fase 2: registrazione delle notifiche di ritiro delle attività per avvisare i team ed effettuare azioni. La modifica di questa configurazione si applica ai ritiri che verranno pianificati in futuro. I ritiri attualmente pianificati non sono influenzati. Se avete ulteriori dubbi, contattateci. Supporto

In che modo Amazon ECS gestisce le attività che fanno parte di un servizio?

Per le attività di servizio, non è necessario intraprendere alcuna azione in risposta al ritiro dell'attività, a meno che non si desideri sostituire tali attività prima dell' AWS esecuzione. Quando il pianificatore di Amazon ECS arresta le attività, quest'ultimo utilizza la percentuale minima di integrità e avvia nuove attività nel tentativo di mantenere il numero di servizi desiderato. Per ridurre al minimo l'impatto del ritiro delle attività di Fargate, i carichi di lavoro devono essere implementati seguendo le best practice di Amazon ECS. Ad esempio, quando distribuiscono un'applicazione stateless come servizio Amazon ECS, come un server Web o API, i clienti devono distribuire più repliche di attività e impostarle al 100%. minimumHealthyPercent Il valore predefinito per la percentuale minima di integrità di un servizio è il 100%. Pertanto, quando Fargate inizia a ritirare le attività, Amazon ECS pianifica una nuova attività e attende che sia in esecuzione, prima di ritirarne una vecchia. Le attività del servizio vengono sostituite regolarmente come parte del ritiro delle attività allo stesso modo quando dimensioni il servizio, implementi le modifiche alla configurazione o le revisioni di definizioni delle attività. Per preparare il processo di ritiro delle attività, consulta Preparati per il ritiro delle attività di AWS Fargate su Amazon ECS .

Amazon ECS può gestire automaticamente le attività autonome?

No. AWS non può creare un'attività sostitutiva per attività autonome avviate daRunTask, attività pianificate (ad esempio tramite EventBridge Scheduler) o. AWS Batch AWS Step Functions Amazon ECS gestisce solo le attività che fanno parte di un servizio.

Risoluzione dei problemi relativi alla disponibilità del servizio durante il ritiro delle attività

Se Amazon ECS non è in grado di avviare un'attività sostitutiva durante il ritiro delle attività, la disponibilità del servizio potrebbe risentirne. Ciò può verificarsi a causa di una configurazione errata del cliente, ad esempio:

  • Ruoli IAM mancanti o configurati in modo non corretto

  • Capacità insufficiente nelle sottoreti di destinazione

  • Configurazioni errate del gruppo di sicurezza

  • Errori nelle definizioni delle attività

Quando Amazon ECS non è in grado di avviare attività sostitutive, le attività ritirate vengono arrestate senza sostituzioni, riducendo la capacità disponibile del servizio e causando potenzialmente interruzioni del servizio. Monitora il numero di attività del tuo servizio e i CloudWatch parametri di Amazon per assicurarti che le attività sostitutive vengano lanciate con successo durante gli eventi di pensionamento.