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à.
Aggiornamento dei parametri del servizio Amazon ECS
Dopo aver creato un servizio, a volte potrebbe essere necessario aggiornare i parametri del servizio, ad esempio il numero di attività.
Quando il service scheduler avvia nuove attività, determina il posizionamento delle attività nel cluster con la seguente logica.
-
Determina quali istanze di container nel cluster possono supportare la definizione delle attività del servizio. Ad esempio, hanno la CPU, la memoria, le porte e gli attributi di istanza del contenitore richiesti.
-
Per impostazione predefinita, il service scheduler tenta di bilanciare le attività tra le zone di disponibilità in questo modo, anche se è possibile scegliere una strategia di posizionamento diversa.
-
Ordina le istanze di container valide in base al minor numero di attività in esecuzione per questo servizio nella stessa zona di disponibilità dell'istanza. Ad esempio, se nella zona A è presente un'attività del servizio in esecuzione e nelle zone B e C nessuna, le istanze di container valide nella zona B o C sono considerate ottimali per il posizionamento.
-
Posizionare la nuova attività del servizio in un'istanza di container valida in una zona di disponibilità ottimale (in base alle fasi precedenti), favorendo le istanze di container con il minor numero di attività in esecuzione per questo servizio.
-
Quando il service scheduler interrompe l'esecuzione delle attività, tenta di mantenere l'equilibrio tra le zone di disponibilità del cluster utilizzando la seguente logica:
-
Ordina le istanze del contenitore in base al maggior numero di attività in esecuzione per questo servizio nella stessa zona di disponibilità dell'istanza. Ad esempio, se nella zona A è presente un'attività del servizio in esecuzione e nelle zone B e C ne sono presenti due, le istanze di container nella zona B o C sono considerate ottimali per l'arresto.
-
Arrestare l'attività del servizio in un'istanza di container in una zona di disponibilità ottimale (in base alle fasi precedenti), favorendo le istanze di container con il maggior numero di attività in esecuzione per questo servizio.
Utilizza l'elenco per determinare se è possibile modificare il parametro del servizio.
- Ribilanciamento della zona di disponibilità
-
Indica se utilizzare il ribilanciamento della zona di disponibilità per il servizio.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Strategia del fornitore di capacità
-
I dettagli di una strategia di un provider di capacità. È possibile impostare un provider di capacità quando si crea un cluster, si esegue un'attività o si aggiorna un servizio.
Quando si utilizza Fargate, i fornitori di capacità sono
FARGATE
o.FARGATE_SPOT
Quando utilizzi Amazon EC2, i fornitori di capacità sono gruppi di Auto Scaling.
Puoi cambiare fornitore di capacità per distribuzioni continue e implementazioni blu/verdi.
L'elenco seguente fornisce le transizioni valide:
-
Aggiorna il tipo di lancio Fargate a un provider di capacità di gruppo Auto Scaling.
-
Aggiorna il tipo di EC2 lancio di Amazon a un provider di capacità Fargate.
-
Aggiorna il provider di capacità Fargate a un fornitore di capacità di gruppo Auto Scaling.
-
Aggiorna il fornitore EC2 di capacità Amazon a un fornitore di capacità Fargate.
-
Aggiornate il gruppo Auto Scaling o il provider di capacità Fargate al tipo di avvio. Quando si utilizza la CLI o l'API, si passa un elenco vuoto nel
capacityProviderStrategy
parametro.
-
- Cluster
-
Non è possibile modificare il nome del cluster.
- Configurazione della distribuzione
-
La configurazione di distribuzione include gli CloudWatch allarmi e l'interruttore automatico utilizzati per rilevare i guasti e la configurazione richiesta.
L'interruttore di distribuzione determina se una distribuzione del servizio avrà esito negativo se il servizio non riesce a raggiungere uno stato stazionario. Se si utilizza l'interruttore automatico di distribuzione, la distribuzione di un servizio passerà a uno stato di errore e interromperà l'avvio di nuove attività. Se si utilizza l'opzione di rollback, quando la distribuzione di un servizio fallisce, il servizio viene ripristinato all'ultima distribuzione completata correttamente.
Quando aggiorni un servizio che utilizza Amazon ECS circuit breaker, Amazon ECS crea una distribuzione e una revisione del servizio. Queste risorse consentono di visualizzare informazioni dettagliate sulla cronologia dei servizi. Per ulteriori informazioni, consulta Visualizza la cronologia dei servizi utilizzando le distribuzioni di servizi Amazon ECS.
Il pianificatore del servizio utilizza i parametri di percentuale minima di attività integre e di percentuale massima (nella configurazione di implementazione del servizio) per determinare la strategia di distribuzione.
Se un servizio utilizza il tipo di distribuzione rolling update (
ECS
), la percentuale minima di integrità rappresenta un limite inferiore al numero di attività di un servizio che devono rimanere nelloRUNNING
stato durante una distribuzione, come percentuale del numero di attività desiderato (arrotondato al numero intero più vicino). Il parametro si applica anche quando tutte le istanze del contenitore sono nelloDRAINING
stato se il servizio contiene attività che utilizzano il tipo di EC2 avvio. Utilizza questo parametro per eseguire l'implementazione senza impiegare capacità aggiuntiva del cluster. Ad esempio, se il servizio ha un numero desiderato di quattro attività e una percentuale minima di attività integre del 50%, lo scheduler può arrestare due attività esistenti per liberare capacità del cluster prima di avviare due nuove attività. Il servizio considera le attività idonee per i servizi che non utilizzano un sistema di bilanciamento del carico se si trovano nelloRUNNING
stato. Il servizio considera integre le attività per i servizi che utilizzano un sistema di bilanciamento del carico se si trovanoRUNNING
nello stato in cui si trovano e vengono segnalate come integre dal sistema di bilanciamento del carico. Il valore predefinito per la percentuale minima di integrità è 100%.Se un servizio utilizza il tipo di distribuzione rolling update (
ECS
), il parametro della percentuale massima rappresenta un limite massimo al numero di attività di un servizio consentiteSTOPPING
nello statoPENDING
, o durante una distribuzioneRUNNING
, come percentuale del numero desiderato di attività (arrotondato per difetto al numero intero più vicino). Il parametro si applica anche quando tutte le istanze del contenitore sono nelloDRAINING
stato se il servizio contiene attività che utilizzano il tipo di EC2 avvio. Utilizza questo parametro per definire le dimensioni del batch di implementazione. Ad esempio, se il servizio ha un numero desiderato di quattro attività e un valore percentuale massimo del 200%, lo scheduler può avviare quattro nuove attività prima di arrestare le quattro precedenti, a condizione che le risorse del cluster necessarie per questa operazione siano disponibili. Il valore predefinito per la percentuale massima è 200%.Quando il pianificatore del servizio sostituisce un'attività durante un aggiornamento, se il servizio utilizza un load balancer, rimuove prima l'attività da tale sistema e attende la fine delle connessioni. Quindi, viene emesso l'equivalente del comando docker stop ai container in esecuzione nell'attività. Questo determina un segnale
SIGTERM
e un timeout della durata di 30 secondi, dopo il quale viene inviato un segnaleSIGKILL
e i container vengono forzatamente arrestati. Se il container gestisce il segnaleSIGTERM
normalmente ed esce entro 30 secondi dalla ricezione, non viene inviato un segnaleSIGKILL
. Il pianificatore del servizio avvia e arresta le attività secondo quanto definito dalle impostazioni di percentuale minima di attività integre e percentuale massima.Il pianificatore di servizi sostituisce inoltre le attività ritenute non integre dopo l'esito negativo di un controllo dell'integrità del container o di un sistema di bilanciamento del carico del gruppo di destinazione. Questa sostituzione dipende dai parametri di definizione del servizio
maximumPercent
edesiredCount
. Se un'attività è contrassegnata come non integra, il pianificatore di servizi avvierà innanzitutto un'attività di sostituzione. Quindi, accade quanto segue.Se lo stato di integrità dell'attività sostitutiva è pari a
HEALTHY
, l'utilità di pianificazione del servizio interrompe l'attività non integraSe lo stato di integrità dell'attività di sostituzione è
UNHEALTHY
, il pianificatore interromperà l'attività di sostituzione non integra o l'attività esistente non integra per far sì che il numero totale delle attività sia pari adesiredCount
.
Se il parametro
maximumPercent
impedisce al pianificatore di avviare un'attività di sostituzione, il pianificatore interromperà un'attività non integra alla volta, in modo casuale, per liberare spazio, e poi avvierà un'attività di sostituzione. Il processo di avvio e arresto continua fino a quando tutte le attività non integre vengono sostituite con attività integre. Dopo aver sostituito tutte le attività non integre e aver avviato solo quelle integre, se il numero totale delle attività superadesiredCount
, le attività integre vengono interrotte casualmente fino a quando il numero totale delle attività è pari adesiredCount
. Per ulteriori informazioni sui parametrimaximumPercent
edesiredCount
, consulta Parametri di definizione del servizio. - Numero di attività desiderato
-
Il numero di istanze dell'attività da inserire e mantenere in esecuzione nel servizio.
Se desideri interrompere temporaneamente il servizio, imposta questo valore su 0. Quindi, quando sei pronto per avviare il servizio, aggiorna il servizio con il valore originale.
È possibile modificare questo parametro per le distribuzioni in sequenza e le distribuzioni blu/verdi.
- Abilita i tag gestiti
-
Determina se attivare i tag gestiti di Amazon ECS per le attività del servizio.
Solo le attività avviate dopo l'aggiornamento rifletteranno l'aggiornamento. Per aggiornare i tag di tutte le attività, utilizza l'opzione di distribuzione forzata.
È possibile modificare questo parametro per le distribuzioni in sequenza e le distribuzioni blu/verdi.
- Abilita ECS Exec
-
Determina se viene utilizzato Amazon ECS Exec.
Se non desideri sovrascrivere il valore impostato al momento della creazione del servizio, puoi impostarlo su null durante l'esecuzione di questa azione.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Periodo di grazia per il controllo sanitario
-
Periodo di tempo, in secondi, durante il quale lo scheduler del servizio Amazon ECS ignora i controlli non corretti di Elastic Load Balancing, VPC Lattice e dello stato dei container dopo il primo avvio di un'attività. Se non si specifica un valore del periodo di tolleranza per il controllo dello stato di salute, viene utilizzato il valore predefinito di.
0
Se non si utilizza nessuno dei controlli sanitari, nonhealthCheckGracePeriodSeconds
viene utilizzato.Se le attività del servizio impiegano un po' di tempo per iniziare e rispondere ai controlli sanitari, puoi specificare un periodo di tolleranza per il controllo sanitario fino a 2.147.483.647 secondi (circa 69 anni). durante i quali il pianificatore del servizio Amazon ECS ignora lo stato di questi controlli. Questo periodo di tolleranza può evitare che il pianificatore del servizio contrassegni le attività come non integre e le interrompa prima che abbiano il tempo di iniziare.
È possibile modificare questo parametro per le distribuzioni in sequenza e le distribuzioni blu/verdi.
- Sistemi di load balancer
-
È necessario utilizzare un ruolo collegato al servizio quando si aggiorna un sistema di bilanciamento del carico.
Un elenco di oggetti del load balancer Elastic Load Balancing. Contiene il nome del load balancer, il nome del container e la porta del container a cui accedere dal load balancer. Il nome del contenitore è quello che appare in una definizione del contenitore.
Amazon ECS non aggiorna automaticamente i gruppi di sicurezza associati ai sistemi di bilanciamento del carico Elastic Load Balancing o alle istanze di container di Amazon ECS.
Quando aggiungi, aggiorni o rimuovi una configurazione del load balancer, Amazon ECS avvia nuove attività con la configurazione Elastic Load Balancing aggiornata, quindi interrompe le vecchie attività quando le nuove attività sono in esecuzione.
Per i servizi che utilizzano aggiornamenti continui, puoi aggiungere, aggiornare o rimuovere i gruppi target Elastic Load Balancing. È possibile eseguire l'aggiornamento da un singolo gruppo target a più gruppi target e da più gruppi target a un unico gruppo target.
Per i servizi che utilizzano distribuzioni blu/verdi, puoi aggiornare i gruppi target di Elastic Load Balancing utilizzando through.
CreateDeployment
CodeDeploy Tieni presente che i gruppi target multipli non sono supportati per le distribuzioni blu/verdi. Per ulteriori informazioni, consulta Registrare più gruppi target con un servizio.Per i servizi che utilizzano il controller di distribuzione esterno, è possibile aggiungere, aggiornare o rimuovere i sistemi di bilanciamento del carico utilizzando. CreateTaskSet Tieni presente che non sono supportati più gruppi di destinazione per le distribuzioni esterne. Per ulteriori informazioni, consulta Registrare più gruppi target con un servizio.
Passa un elenco vuoto per rimuovere i sistemi di bilanciamento del carico.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Configurazione della rete
-
La configurazione della rete di servizio.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Vincoli di posizionamento
-
Una serie di oggetti con vincoli di posizionamento delle attività per aggiornare il servizio da utilizzare. Se non viene specificato alcun valore, i vincoli di posizionamento esistenti per il servizio rimarranno invariati. Se questo valore viene specificato, sostituirà tutti i vincoli di posizionamento esistenti definiti per il servizio. Per rimuovere tutti i vincoli di posizionamento esistenti, specificate un array vuoto.
Puoi specificare un massimo di 10 vincoli per ogni attività. Questo limite include i vincoli nella definizione di attività e quelli specificati in fase di runtime.
È possibile modificare questo parametro per le distribuzioni in sequenza e le distribuzioni blu/verdi.
- Strategia di posizionamento
-
La strategia di posizionamento delle attività si riferisce all'aggiornamento del servizio da utilizzare. Se non viene specificato alcun valore, la strategia di posizionamento esistente per il servizio rimarrà invariata. Se questo valore viene specificato, sostituirà la strategia di posizionamento esistente definita per il servizio. Per rimuovere una strategia di posizionamento esistente, specificate un oggetto vuoto.
È possibile modificare questo parametro per le distribuzioni in sequenza e le distribuzioni blu/verdi.
- Versione della piattaforma
-
La versione della piattaforma Fargate su cui funziona il tuo servizio.
Un servizio che utilizza una versione della piattaforma Linux non può essere aggiornato per utilizzare una versione della piattaforma Windows e viceversa.
È possibile modificare questo parametro per le distribuzioni continue.
- Propaga i tag
-
Determina se propagare i tag dalla definizione dell'attività o dal servizio all'attività. Se non viene specificato alcun valore, i tag non vengono propagati.
Solo le attività avviate dopo l'aggiornamento rifletteranno l'aggiornamento. Per aggiornare i tag su tutte le attività, imposta
forceNewDeployment
sutrue
, in modo che Amazon ECS avvii nuove attività con i tag aggiornati.Puoi modificare questo parametro per le distribuzioni continue e le distribuzioni blu/verdi.
- Configurazione Service Connect
-
La configurazione per Amazon ECS Service Connect. Questo parametro determina il modo in cui il servizio si connette ad altri servizi all'interno dell'applicazione.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Registri di servizio
-
È necessario utilizzare un ruolo collegato al servizio quando si aggiornano i registri dei servizi.
I dettagli dei registri di rilevamento dei servizi da assegnare a questo servizio. Per ulteriori informazioni, consulta Individuazione dei servizi.
Quando aggiungi, aggiorni o rimuovi la configurazione dei registri di servizio, Amazon ECS avvia nuove attività con la configurazione aggiornata dei registri di servizio, quindi interrompe le vecchie attività quando le nuove attività sono in esecuzione.
Passa un elenco vuoto per rimuovere i registri di servizio.
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Definizione dell'attività
-
La definizione e la revisione dell'attività da utilizzare per il servizio.
Se si modificano le porte utilizzate dai container in una definizione di attività, potrebbe essere necessario aggiornare i gruppi di sicurezza per le istanze del contenitore in modo che funzionino con le porte aggiornate.
Se aggiorni la definizione di attività per il servizio, il nome e la porta del container specificati nella configurazione del sistema di bilanciamento del carico devono rimanere nella definizione di attività.
Il comportamento di estrazione dell'immagine del contenitore è diverso a seconda dei tipi di avvio. Per ulteriori informazioni, consultare uno dei seguenti argomenti:
È possibile modificare questo parametro per le distribuzioni in sequenza.
- Configurazione del volume
-
I dettagli del volume che era
configuredAtLaunch
. Se impostato su true, questo parametro configura l'allegato del task Amazon EBS durante la distribuzione. Puoi configurare dimensioni, VolumeType, IOPS, throughput, snapshot e crittografia in Configuration. ServiceManaged EBSVolume Ilname
volume deve corrispondere a quello indicato nella definizione dell'attività.name
Se impostato su null, non viene attivata alcuna nuova distribuzione. Altrimenti, se questa configurazione è diversa da quella esistente, attiva una nuova distribuzione.È possibile modificare questo parametro per le distribuzioni in sequenza.
- Configurazione VPC Lattice
-
La configurazione VPC Lattice per il tuo servizio. Questo definisce il modo in cui il servizio si integra con VPC service-to-service Lattice per la comunicazione.
È possibile modificare questo parametro per le distribuzioni in sequenza.
AWS CDK considerazioni
AWS CDK Non tiene traccia degli stati delle risorse. Non sa se stai creando o aggiornando un servizio. I clienti devono utilizzare la botola di fuga per accedere direttamente al costrutto ecs Service
L1.
Per informazioni sugli escape hatch, consulta Personalizza i costrutti della AWS Construct Library nella Guida per sviluppatori v2.AWS Cloud Development Kit (AWS CDK)
Per migrare il servizio esistente al costrutto, procedi come segueecs.Service
:
-
Utilizzate la botola di fuga per accedere al costrutto L1.
Service
-
Impostate manualmente le seguenti proprietà nel costrutto L1.
Service
Se il tuo servizio utilizza la EC2 capacità di Amazon:
-
daemon?
-
placementConstraints?
-
placementStrategies?
-
Se utilizzi la modalità
awsvpc
di rete, devi impostare isecurityGroups?
costruttivpcSubnets?
e.
Se il tuo servizio utilizza Fargate:
-
FargatePlatformVersion
-
I
vpcSubnets?
e isecurityGroups?
costrutti.
-
-
Imposta
launchType
come segue:const cfnEcsService = service.node.findChild('Service') as ecs.CfnService; cfnEcsService.launchType = "FARGATE";
Per migrare da un tipo di avvio a un provider di capacità, procedi come segue:
-
Utilizzate la porta di fuga per accedere al costrutto
Service
L1. -
Aggiungete il costrutto.
capacityProviderStrategies?
-
Distribuire il servizio.