

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à.

# Aggiornare i parametri del servizio Amazon ECS
<a name="update-service-parameters"></a>

Dopo aver creato un servizio, a volte potrebbe essere necessario aggiornare i parametri del servizio, ad esempio il numero di attività.

Quando il pianificatore di servizi avvia nuove attività, determina il posizionamento delle attività nel cluster con la seguente logica.
+ Determinare quale delle istanze di container nel cluster può supportare la definizione di attività del servizio. Ad esempio, dispongono gli attributi richiesti di CPU, memoria, porte e istanza di container.
+ Per impostazione predefinita, il pianificatore di servizi tenta di bilanciare le attività tra le zone di disponibilità in questo modo, anche se è possibile scegliere una strategia di posizionamento diversa.
  + Ordinare le istanze di container valide in base al numero minore 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 pianificatore di servizi arresta le attività in esecuzione, prova a mantenere il bilanciamento tra le zone di disponibilità nel cluster usando la seguente logica. 
+ Ordinare le istanze di container in base al numero maggiore 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.

Utilizzare l'elenco per determinare se è possibile modificare il parametro del servizio.

**Ribilanciamento della zona di disponibilità**  
Indica se utilizzare il ribilanciamento delle zone di disponibilità per il servizio.  
È possibile modificare questo parametro per le implementazioni in sequenza.

**Strategia del provider 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 provider di capacità sono `FARGATE` o `FARGATE_SPOT`.  
Quando si utilizza Amazon EC2, i provider di capacità sono gruppi Auto Scaling.  
È possibile cambiare provider di capacità per le implementazioni in sequenza e le implementazioni blu/verdi.  
L'elenco seguente fornisce le transizioni valide:  
+ Aggiornare Fargate a un provider di capacità di un gruppo Auto Scaling.
+ Aggiornare EC2 a un provider di capacità Fargate.
+ Aggiornare il provider di capacità Fargate a un provider di capacità di un gruppo Auto Scaling.
+ Aggiornare il provider di capacità Amazon EC2 a un provider di capacità Fargate. 
+ Aggiornare 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 parametro `capacityProviderStrategy`.

**Cluster**  
Non è possibile cambiare il nome del cluster.

**Configurazione dell’implementazione**  
La configurazione di implementazione include gli CloudWatch allarmi e l'interruttore automatico utilizzati per rilevare i guasti e la configurazione richiesta.  
L'interruttore di implementazione determina se un'implementazione del servizio avrà esito negativo se il servizio non riesce a raggiungere uno stato stazionario. Se si utilizza l'interruttore automatico di implementazione, un'implementazione del servizio passerà a uno stato non riuscito e interromperà l'avvio di nuove attività. Se si usa l'opzione di rollback, quando l'implementazione di un servizio non riesce, viene eseguito il rollback del servizio per ripristinare l'ultima implementazione completata correttamente.  
Quando viene aggiornato un servizio che utilizza l'interruttore automatico Amazon ECS, Amazon ECS crea un'implementazione e una revisione del servizio. Queste risorse consentono di visualizzare informazioni dettagliate sulla cronologia dei servizi. Per ulteriori informazioni, consultare [Visualizza la cronologia dei servizi utilizzando le distribuzioni dei servizi Amazon ECS](service-deployment.md).  
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 implementazione.  
Se il servizio utilizza il tipo di distribuzione aggiornamento in sequenza (`ECS`), la **percentuale minima di attività integre** rappresenta il numero minimo di attività del servizio che devono rimanere nello stato `RUNNING` durante un'implementazione, espresso come percentuale del numero di attività desiderate (arrotondata per eccesso al numero intero più vicino). Il parametro si applica anche in presenza di istanze di container nello stato `DRAINING`, se il servizio contiene processi che utilizzano EC2. 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à integre per i servizi che non utilizzano un bilanciatore del carico se sono nello stato `RUNNING`. Il servizio considera le attività integre per i servizi che utilizzano un bilanciatore del carico se sono nello stato `RUNNING` e se sono considerate integre mediante il bilanciatore del carico. Il valore predefinito per la percentuale minima di integrità è 100%.  
Se il servizio utilizza il tipo di implementazione aggiornamento in sequenza (`ECS`), il parametro di **percentuale massima** rappresenta il numero massimo di attività del servizio che possono restare in stato `PENDING`, `RUNNING` o `STOPPING` durante un'implementazione, espresso come percentuale del numero di attività desiderato (arrotondata per difetto al numero intero più vicino). Il parametro si applica anche in presenza di istanze di container nello stato `DRAINING`, se il servizio contiene processi che utilizzano EC2. 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 segnale `SIGKILL` e i container vengono forzatamente arrestati. Se il container gestisce il segnale `SIGTERM` normalmente ed esce entro 30 secondi dalla ricezione, non viene inviato un segnale `SIGKILL`. 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` e `desiredCount`. Se un'attività è contrassegnata come non integra, il pianificatore di servizi avvierà innanzitutto un'attività di sostituzione. Poi, si verificano le seguenti situazioni.  
+ Se lo stato di integrità dell'attività di sostituzione è `HEALTHY`, il pianificatore di servizi interrompe l'attività non integra
+ Se 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 a `desiredCount`.
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à supera `desiredCount`, le attività integre vengono interrotte casualmente fino a quando il numero totale delle attività è pari a `desiredCount`. Per ulteriori informazioni sui parametri `maximumPercent` e `desiredCount`, consulta [Parametri di definizione del servizio](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html).

**Controller di implementazione**  
Il tipo di controller di implementazione da utilizzare per il servizio. Esistono tre tipi di controller di implementazione:  
+ `ECS`
+ `EXTERNAL`
+ `CODE_DEPLOY`
Quando si aggiorna un servizio, è possibile aggiornare il controller di implementazione utilizzato. L'elenco seguente fornisce le transizioni valide:  
+ Aggiornamento dalle distribuzioni CodeDeploy blu/verdi () alle distribuzioni ECS Rolling o Deployments (`CODE_DEPLOY`). blue/green `ECS`
+ Aggiornamento da distribuzioni CodeDeploy blu/verdi () a distribuzioni esterne (). `CODE_DEPLOY` `EXTERNAL`
+ Aggiornamento da implementazioni sequenziali o blue/green distribuzioni ECS () a distribuzioni esterne (). `ECS` `EXTERNAL`
+ Aggiornamento da distribuzioni esterne () a implementazioni sequenziali o distribuzioni ECS (`EXTERNAL`). blue/green `ECS`
Quando si aggiorna il controller di implementazione di un servizio, tenere presenti le considerazioni seguenti:  
+ Non è possibile aggiornare il controller di implementazione di un servizio dal controller di implementazione `ECS` a nessuno degli altri controller se utilizza VPC Lattice o Amazon ECS Service Connect.
+ Non è possibile aggiornare il controller di implementazione di un servizio durante un'implementazione del servizio in corso.
+ Non è possibile aggiornare il controller di implementazione di un servizio a `CODE_DEPLOY` se sul servizio non sono presenti bilanciatori del carico.
+ Non è possibile aggiornare il controller di implementazione di un servizio da `ECS` a uno qualsiasi degli altri controller se `deploymentConfiguration` include allarmi, un interruttore automatico di implementazione o una strategia di implementazione `BLUE_GREEN`. Per ulteriori informazioni, consultare [Controller e strategie di implementazione dei servizi Amazon ECS](ecs_service-options.md).
+ Il valore specificato per `versionConsistency` nella definizione del container non verrà utilizzato da Amazon ECS se si aggiorna il controller di implementazione del servizio da `ECS` a uno qualsiasi degli altri controller. 
+ Se si aggiorna il controller di implementazione di un servizio da `ECS` a uno qualsiasi degli altri controller, le risposte API `UpdateService` e `DescribeService` continueranno a restituire `deployments` invece di `taskSets`. Per ulteriori informazioni su `UpdateService` e`CreateService`, consulta [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Service.html)e [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Service.html)nell'*Amazon ECS API Reference*.
+ Se un servizio utilizza una strategia di implementazione con aggiornamento in sequenza, l'aggiornamento del controller di implementazione da `ECS` a uno qualsiasi degli altri controller modificherà il modo in cui viene utilizzato il valore `maximumPercent` nel `deploymentConfiguration`. Invece di essere utilizzato solo come limite per il totale delle attività in un'implementazione con aggiornamento in sequenza, `maximumPercent` viene utilizzato per sostituire le attività non integre. Per ulteriori informazioni sul modo in cui il pianificatore sostituisce le attività non integre, consultare [Servizi Amazon ECS](ecs_services.md).
+ Se si aggiorna il controller di implementazione di un servizio da `ECS` a uno qualsiasi degli altri controller di implementazione, qualsiasi `advancedConfiguration` specificato con la configurazione del bilanciatore del carico verrà ignorato. Per ulteriori informazioni, consulta [LoadBalancer](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LoadBalancer.html)e [AdvancedConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AdvancedConfiguration.html)nel *riferimento alle API di Amazon ECS*.
Quando aggiorni il controller di distribuzione per un servizio che utilizza CloudFormation, considera quanto segue a seconda del tipo di migrazione che stai eseguendo.  
+ Se disponi di un CloudFormation modello che contiene le informazioni del controller di `EXTERNAL` distribuzione, nonché `PrimaryTaskSet` le risorse `TaskSet` e rimuovi le risorse del task set dal modello durante l'aggiornamento da `EXTERNAL` a`ECS`, le chiamate `DescribeTaskSet` e `DeleteTaskSet` API restituiranno un errore 400 dopo l'aggiornamento del controller di distribuzione`ECS`. Ciò comporta un errore di CloudFormation eliminazione delle risorse del task set, anche se lo CloudFormation stack passa allo `UPDATE_COMPLETE` status. Per ulteriori informazioni, consultare [Resource removed from stack but not deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted) nella Guida per l'utente di AWS CloudFormation . Per risolvere questo problema, eliminare i set di attività utilizzando direttamente l'API `DeleteTaskSet` di Amazon ECS. Per ulteriori informazioni su come eliminare un set di attività, consulta [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html)*Amazon Elastic Container Service* *API Reference*.
+ Se stai migrando da `CODE_DEPLOY` a `ECS` con una nuova definizione di attività ed CloudFormation esegui un'operazione di rollback, la `UpdateService` richiesta Amazon ECS ha esito negativo con il seguente errore:

  ```
  Resource handler returned message: "Invalid request provided: Unable to update 
  task definition on services with a CODE_DEPLOY deployment controller. Use AWS 
  CodeDeploy to trigger a new deployment. (Service: Ecs, Status Code: 400, 
  Request ID: 0abda1e2-f7b3-4e96-b6e9-c8bc585181ac) (SDK Attempt Count: 1)" 
  (RequestToken: ba8767eb-c99e-efed-6ec8-25011d9473f0, HandlerErrorCode: InvalidRequest)
  ```
+ Dopo una migrazione riuscita dal controller di implementazione da `ECS` a `EXTERNAL`, è necessario rimuovere manualmente il set di attività `ACTIVE`, poiché Amazon ECS non gestisce più l'implementazione. Per informazioni su come eliminare un set di attività, consulta il *riferimento [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html)all'API* di Amazon Elastic Container Service.

**Numero di attività desiderato**  
Il numero di istanze dell'attività da posizionare e mantenere in esecuzione nel servizio.  
Se si desidera interrompere temporaneamente il servizio, impostare questo valore su 0. Quindi, quando si desidera avviare il servizio, aggiornarlo con il valore originale.  
È possibile modificare questo parametro per le implementazioni in sequenza e le implementazioni blu/verdi.

**Abilitare i tag gestiti**  
Determina se attivare i tag gestiti da Amazon ECS per le attività all'interno del servizio.  
Solo le attività avviate dopo l'aggiornamento rifletteranno quest'ultimo. Per aggiornare i tag di tutte le attività, utilizzare l'opzione di implementazione forzata.  
È possibile modificare questo parametro per le implementazioni in sequenza e quelle blu/verdi.

**Abilitare ECS Exec**  
Determina se viene utilizzato Amazon ECS Exec.  
Se non si desidera sovrascrivere il valore impostato al momento della creazione del servizio, è possibile impostarlo su null durante l'esecuzione di questa azione.  
È possibile modificare questo parametro per le implementazioni in sequenza.

**Periodo di tolleranza del controllo dell'integrità**  
Il periodo di tempo, in secondi, durante il quale il pianificatore di servizi di Amazon ECS ignora i controlli dell'integrità del bilanciamento del carico elastico, VPC Lattice e del container dopo il primo avvio di un'attività. Se non si specifica un valore per il periodo di tolleranza per il controllo dell’integrità, viene utilizzato il valore predefinito di `0`. Se non si utilizza nessuno dei controlli dell'integrità, allora non viene utilizzato `healthCheckGracePeriodSeconds`.  
Se le attività del servizio tardano ad avviarsi e a rispondere ai controlli dello stato, è possibile specificare un periodo di tolleranza per il controllo dell'integrità fino a un massimo di 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 implementazioni in sequenza e le implementazioni blu/verdi.

**Sistemi di load balancer**  
È necessario utilizzare un ruolo collegato al servizio quando si aggiorna un bilanciatore del carico.  
Un elenco di oggetti del bilanciatore del carico per il bilanciamento del carico elastico. Contiene il nome del bilanciatore del carico, il nome del container e la porta del container per accedere dal bilanciatore del carico. Il nome del container è come appare in una definizione del container.  
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 si aggiunge, si aggiorna o si rimuove una configurazione del bilanciatore del carico, Amazon ECS avvia nuove attività con la configurazione aggiornata del bilanciamento del carico elastico, e poi interrompe le attività vecchie quando le nuove sono in esecuzione.  
Per i servizi che utilizzano aggiornamenti continui, è possibile aggiungere, aggiornare o rimuovere i gruppi di destinazione di bilanciamento del carico elastico. È possibile eseguire l'aggiornamento da un singolo gruppo di destinazione a più gruppi di destinazione e da più gruppi di destinazione a un singolo gruppo di destinazione.  
Per i servizi che utilizzano blue/green distribuzioni, puoi aggiornare i gruppi target Elastic Load Balancing utilizzando through. `[CreateDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html)` CodeDeploy Tieni presente che non sono supportati più gruppi target per le distribuzioni. blue/green Per ulteriori informazioni, consultare [Register multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html).   
Per i servizi che utilizzano il controller di distribuzione esterno, è possibile aggiungere, aggiornare o rimuovere i sistemi di bilanciamento del carico utilizzando. [CreateTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateTaskSet.html) Per le implementazioni esterne, non sono supportati più gruppi di destinazione. Per ulteriori informazioni, consultare [Register multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html).   
Passare un elenco vuoto per rimuovere i bilanciatori del carico  
È possibile modificare questo parametro per le implementazioni in sequenza.

**Configurazione della rete**  
La configurazione di rete del servizio.   
È possibile modificare questo parametro per le implementazioni in sequenza.

**Vincoli di posizionamento**  
Una serie di oggetti di vincolo 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 specificato, questo valore sovrascriverà tutti i vincoli di posizionamento esistenti definiti per il servizio. Per rimuovere tutti i vincoli di posizionamento esistenti, specificare una serie vuota.  
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 implementazioni in sequenza e quelle blu/verdi.

**Strategia di posizionamento**  
Gli oggetti di strategia di posizionamento delle attività per aggiornare il servizio da utilizzare. Se non viene specificato alcun valore, la strategia di posizionamento esistente per il servizio rimarrà invariata. Se specificato, questo valore sovrascriverà la strategia di posizionamento esistente definita per il servizio. Per rimuovere una strategia di posizionamento esistente, specificare un oggetto vuoto.  
È possibile modificare questo parametro per le implementazioni in sequenza e quelle blu/verdi.

**Versione della piattaforma**  
La versione della piattaforma Fargate su cui viene eseguito il 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 implementazioni in sequenza.

**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 quest'ultimo. Per aggiornare i tag su tutte le attività, impostare `forceNewDeployment` su `true`, in modo tale che Amazon ECS avvii nuove attività con i tag aggiornati.  
È possibile modificare questo parametro per le implementazioni in sequenza e le implementazioni blu/verdi.

**Configurazione di 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 implementazioni in sequenza.

**Registri del servizio**  
È necessario utilizzare un ruolo collegato ai servizi quando si aggiornano i registri di servizio.  
I dettagli per i registri di rilevamento servizi da assegnare a questo servizio. Per ulteriori informazioni, consultare [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html).  
Quando si aggiunge, si aggiorna o si rimuove la configurazione dei registri del servizio, Amazon ECS avvia nuove attività con la configurazione aggiornata dei registri del servizio, e poi interrompe le attività vecchie quando le nuove attività sono in esecuzione.  
Passare un elenco vuoto per rimuovere i registri di servizio.  
È possibile modificare questo parametro per le implementazioni in sequenza.

**Definizione di attività**  
La definizione di attività e la revisione 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 di container 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 bilanciatore del carico devono rimanere nella definizione di attività.   
Il comportamento di estrazione delle immagini del container è diverso a seconda delle opzioni di calcolo. Per ulteriori informazioni, consultare uno dei seguenti argomenti:  
+ [Progettazione per AWS Fargate per Amazon ECS](AWS_Fargate.md)
+ [Architetto per la EC2 capacità di Amazon ECS](launch-type-ec2.md)
+ [Esterno (Amazon ECS Anywhere) per Amazon ECS](launch-type-external.md)
È possibile modificare questo parametro per le implementazioni in sequenza.

**Configurazione del volume**  
I dettagli del volume che era `configuredAtLaunch`. Quando `configuredAtLaunch` è impostato su `true` nella definizione dell'attività, questo parametro di servizio configura un volume Amazon EBS per ogni attività nel servizio da creare e allegare durante l'implementazione. [È possibile configurare le dimensioni, il tipo di volume, l'IOPS, la velocità effettiva, l'istantanea e la crittografia in Configuration. ServiceManaged EBSVolume](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceManagedEBSVolumeConfiguration.html) Il `name` del volume deve corrispondere al `name` dalla definizione dell'attività. Se impostato su null, non viene attivata alcuna nuova implementazione. In caso contrario, se questa configurazione è diversa da quella esistente, attiva una nuova implementazione.  
È possibile modificare questo parametro per le implementazioni in sequenza.

**Configurazione di VPC Lattice**  
La configurazione di VPC Lattice per il 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 implementazioni in sequenza.

## AWS CDK considerazioni
<a name="cdk-considerations"></a>

 AWS CDK Non tiene traccia degli stati delle risorse. Non sa se si sta creando o aggiornando un servizio. I clienti devono utilizzare l'escape hatch per accedere direttamente al costrutto L1 `Service` di ECS. 

Per informazioni sugli escape hatch, consulta [Personalizza i costrutti della AWS Construct Library](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html#develop-customize-escape) nella Guida per sviluppatori *AWS Cloud Development Kit (AWS CDK) v2*. 

Per eseguire la migrazione del servizio esistente al costrutto `ecs.Service`, effettuare le seguenti operazioni:

1. Utilizzare l'escape hatch per accedere al costrutto L1 del `Service`. 

1. Impostare manualmente le seguenti proprietà nel costrutto L1 del `Service`. 

   Se il servizio utilizza la capacità di Amazon EC2:
   + `daemon?`
   + `placementConstraints?`
   + `placementStrategies?`
   + Se si utilizza la modalità di rete `awsvpc`, è necessario impostare le `vpcSubnets?` e i costrutti `securityGroups?`.

   Se il servizio utilizza Fargate:
   + `FargatePlatformVersion`
   + Le `vpcSubnets?` e i costrutti `securityGroups?`.

1. Impostare `launchType` nel modo seguente:

   ```
   const cfnEcsService = service.node.findChild('Service') as ecs.CfnService;
   cfnEcsService.launchType = "FARGATE";
   ```

Per eseguire la migrazione da un tipo di avvio a un provider di capacità, procedere come segue:

1. Utilizzare l'escape hatch per accedere al costrutto L1 del `Service`. 

1. Aggiungere il costrutto `capacityProviderStrategies?`.

1. Distribuire il servizio.

# Aggiornamento di un servizio Amazon ECS
<a name="update-service-console-v2"></a>

Dopo aver creato un servizio, a volte potrebbe essere necessario aggiornare i parametri del servizio, ad esempio il numero di attività.

Quando viene aggiornato un servizio che utilizza l'interruttore automatico Amazon ECS, Amazon ECS crea un'implementazione e una revisione del servizio. Queste risorse consentono di visualizzare informazioni dettagliate sulla cronologia dei servizi. Per ulteriori informazioni, consultare [Visualizza la cronologia dei servizi utilizzando le distribuzioni dei servizi Amazon ECS](service-deployment.md).

## Prerequisiti
<a name="update-service-prerequisites"></a>

Prima di aggiornare un servizio, verificare quali parametri del servizio possono essere modificati in base al tipo di implementazione. Per un elenco completo dei parametri modificabili, consultare [Aggiornare i parametri del servizio Amazon ECS](update-service-parameters.md).

## Procedura
<a name="update-service-procedure"></a>

------
#### [ Console ]

1. [Apri la console nella versione 2https://console.aws.amazon.com/ecs/.](https://console.aws.amazon.com/ecs/v2)

1. Nella pagina **Cluster**, scegliere il cluster.

1. Nella pagina dei dettagli del cluster, nella sezione **Servizi**, selezionare la casella di spunta accanto al servizio e poi scegliere **Aggiorna**.

1. Per fare in modo che il tuo servizio inizi una nuova implementazione, seleziona **Force new deployment** (Forza una nuova implementazione).

1. Per **Definizione dell'attività**, scegli la famiglia di definizioni dell'attività e la revisione.
**Importante**  
La console verifica che la famiglia di definizioni di processi e la revisione selezionate siano compatibili con la configurazione di calcolo definita. Se viene visualizzato un avviso, verificare che siano selezionate sia la compatibilità delle definizioni di processo che la configurazione di calcolo.

1. Se hai scelto **Replica**, per **Desired tasks** (Attività desiderate), immetti il numero di attività da avviare e mantenere nel servizio.

1. Se è stato scelto **Replica**, per consentire ad Amazon ECS di monitorare la distribuzione delle attività tra le zone di disponibilità e ridistribuirle in caso di squilibrio, in **Ribilanciamento del servizio delle zone di disponibilità**, selezionare **Ribilanciamento del servizio della zona di disponibilità.**

1. Per **Min running tasks** (Numero minimo di attività in esecuzione), specifica il limite inferiore per il numero di attività nel servizio che devono rimanere nello stato `RUNNING` durante un'implementazione, espresso come percentuale del numero di attività desiderate (arrotondata per eccesso al numero intero più vicino). Per ulteriori informazioni, consultare [Deployment configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html#sd-deploymentconfiguration).

1. Per **Max running tasks** (Numero massimo di attività in esecuzione), specifica il limite superiore per il numero di attività del servizio consentite nello stato `RUNNING` o `PENDING` durante un'implementazione, espresso come percentuale del numero di attività desiderate (arrotondata per difetto al numero intero più vicino).

1. Per configurare il modo in cui le attività vengono implementate per il servizio, espandere le **Opzioni di implementazione** e quindi configurare le opzioni.

   1. Per **Tipo di controller di implementazione**, specificare il controller di implementazione del servizio. La console Amazon ECS supporta i seguenti tipi di controller: `ECS`.

   1. Per **Strategia di implementazione**, scegliere la strategia utilizzata da Amazon ECS per implementare nuove versioni del servizio.

   1. A seconda della scelta della **Strategia di implementazione**, eseguire le seguenti operazioni:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/update-service-console-v2.html)

   1. Per eseguire le funzioni Lambda per una fase del ciclo di vita, in **Hook del ciclo di vita di implementazione**, svolgere le seguenti operazioni per ogni funzione Lambda unica:

      1. Scegliere **Aggiungi**.

         Ripetere l'operazione per ogni funzione unica che si desidera eseguire.

      1. Per **Funzione Lambda**, immettere il nome della funzione.

      1. Per **Ruolo**, scegli il ruolo che hai creato nei prerequisiti con le blue/green autorizzazioni.

         Per ulteriori informazioni, consulta [Autorizzazioni richieste per le funzioni Lambda nelle distribuzioni Amazon ECS blue/green](blue-green-permissions.md).

      1. Per **Fasi del ciclo di vita**, selezionare le fasi eseguite dalla funzione Lambda.

      1.  (Facoltativo) Per **Dettagli dell'hook**, inserire una coppia chiave-valore che fornisca informazioni sull'hook.

1. Per configurare il modo in cui Amazon ECS rileva e gestisce gli errori di implementazione, espandi **Deployment failure detection** (Rilevamento degli errori di implementazione), quindi scegli le tue opzioni. 

   1. Per interrompere un'implementazione quando le attività non possono essere avviate, seleziona **Use the Amazon ECS deployment circuit breaker** (Usa l'interruttore automatico di implementazione di Amazon ECS).

      Per fare in modo che il software ripristini automaticamente l'implementazione all'ultimo stato di implementazione completata quando l'interruttore automatico di implementazione imposta l'implementazione su uno stato di errore, selezionare **Rollback in caso di errore**.

   1. Per interrompere una distribuzione in base alle metriche dell'applicazione, seleziona **Usa CloudWatch allarmi**. Quindi, dal **nome CloudWatch dell'allarme**, scegli gli allarmi. Per creare un nuovo allarme, vai alla CloudWatch console.

      Per fare in modo che il software ripristini automaticamente la distribuzione all'ultimo stato di distribuzione completato quando un CloudWatch allarme imposta la distribuzione **su uno stato fallito, seleziona Rollback in caso** di errori.

1. Per modificare le opzioni di calcolo, espandere **Configurazione di calcolo**, quindi effettuare le seguenti operazioni: 

   1. Per i servizi attivi AWS Fargate, per la **versione della piattaforma**, scegli la nuova versione.

   1. Per i servizi che utilizzano una strategia del provider di capacità, in **Strategia del provider di capacità**, eseguire le operazioni seguenti:
      + Per aggiungere un provider di capacità aggiuntivo, scegli **Aggiungi altro**. Quindi, scegli il provider in **Provider di capacità**.
      + Per rimuovere un provider di capacità, scegli **Rimuovi** a destra del provider.

      Un servizio che utilizza un provider di capacità di un gruppo Auto Scaling non può essere aggiornato per utilizzare un provider di capacità Fargate. Un servizio che utilizza un provider di capacità Fargate che non può essere aggiornato per utilizzare un provider di capacità di un gruppo Auto Scaling.

1. (Facoltativo) Per configurare il servizio di dimensionamento automatico, espandere **Dimensionamento automatico del servizio** e quindi specificare i seguenti parametri. Per utilizzare il dimensionamento automatico predittivo, che esamina i dati di caricamento precedenti provenienti dai flussi di traffico, è necessario configurarlo dopo aver creato il servizio. Per ulteriori informazioni, consultare [Usa modelli storici per scalare i servizi Amazon ECS con scalabilità predittiva](predictive-auto-scaling.md).

   1. Per utilizzare il dimensionamento automatico, selezionare **Dimensionamento automatico del servizio**.

   1. Per **Numero minimo di attività**, inserire il limite inferiore del numero di attività che devono essere utilizzate dal servizio di dimensionamento automatico. Il numero desiderato non scenderà al di sotto di questo conteggio.

   1. In **Numero massimo di processi**, specificare il limite superiore del numero di processi che devono essere utilizzati dal servizio di dimensionamento automatico. Il numero desiderato non sarà superiore a questo conteggio.

   1. Scegli il tipo di policy. In **Tipo di policy di dimensionamento**, scegliere una delle opzioni seguenti.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/update-service-console-v2.html)

1. (Facoltativo) Per utilizzare Service Connect, seleziona **Turn on Service Connect** (Attiva Service Connect), quindi specifica quanto segue:

   1. In **Service Connect configuration** (Configurazione Service Connect), specifica la modalità client.
      + Se il servizio esegue un'applicazione client di rete che deve connettersi solo ad altri servizi nel namespace, scegliere **Solo lato client**.
      + Se il servizio esegue un'applicazione di rete o di servizio Web, deve fornire endpoint per questo servizio e si connette ad altri servizi nel namespace, scegliere **Client e server**.

   1. Per utilizzare un namespace differente da quello del cluster predefinito, per **Namespace**, scegliere il namespace del servizio. Può trattarsi di uno spazio dei nomi creato separatamente Regione AWS nello stesso spazio dell'utente Account AWS o di uno spazio dei nomi nella stessa regione condiviso con l'account utilizzando (). AWS Resource Access Manager AWS RAM[https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html)

   1. (Facoltativo) Specificare una configurazione del log. Selezionare **Usa la raccolta di log**. L'opzione predefinita invia i log dei contenitori a Logs. CloudWatch Le altre opzioni del driver di registro sono configurate utilizzando. AWS FireLens Per ulteriori informazioni, consulta [Inviare i log di Amazon ECS a un servizio o AWS AWS Partner](using_firelens.md).

      Di seguito sono riportate descrizioni più dettagliate per ogni destinazione di log di container.
      + **Amazon CloudWatch**: configura l'attività per inviare i log dei container a CloudWatch Logs. Vengono fornite le opzioni predefinite dei driver di registro, che creano un gruppo di CloudWatch log per tuo conto. Per specificare un nome del gruppo di log diverso, modifica i valori dell'opzione del driver.
      + **Amazon Data Firehose**: configura l'attività per inviare i log del container a Firehose. Vengono fornite le opzioni di driver di log predefinite che inviano i log a un flusso di consegna Firehose. Per specificare un nome del flusso di consegna diverso, modifica i valori dell'opzione del driver.
      + **Flusso di dati Amazon Kinesis**: configura il processo per inviare log di container a Kinesis Data Streams. Vengono fornite le opzioni di driver di log predefinite che inviano i log a un flusso di consegna Kinesis Data Streams. Per specificare un nome del flusso diverso, modifica i valori dell'opzione del driver.
      + **Amazon OpenSearch Service**: configura l'attività per inviare i log dei container a un dominio OpenSearch di servizio. Devono essere fornite le opzioni del driver di log. 
      + **Amazon S3**: configura l'attività per inviare log di container a un bucket Amazon S3. Vengono fornite le opzioni del driver di log predefinito, ma è necessario specificare un nome del bucket Amazon S3 valido.

   1. Per abilitare i log di accesso, segui questi passaggi:

      1. Espandi la **configurazione del registro di accesso**. Per **Format**, scegli **JSON** o`TEXT`.

      1. Per includere i parametri di interrogazione nei log di accesso, selezionate **Includi parametri di interrogazione**.
**Nota**  
**Per disabilitare i log di accesso, in **Formato**, scegli Nessuno.**

1. Se l'attività utilizza un volume di dati compatibile con la configurazione al momento dell'implementazione, è possibile configurare il volume espandendo **Volume**.

   Il nome e il tipo di volume vengono configurati durante la creazione di una revisione della definizione di attività e non possono essere modificati quando si aggiorna un servizio. Per aggiornare il nome e il tipo di volume, è necessario creare una nuova revisione della definizione di attività e aggiornare il servizio utilizzando la nuova revisione.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/update-service-console-v2.html)

1. (Facoltativo) Per identificare il tuo servizio, espandi la sezione **Tags** (Tag), quindi configura i tag.
   + [Aggiungere un tag] Scegliere **Aggiungi tag** e procedere come segue:
     + In **Chiave**, immetti il nome della chiave.
     + In **Valore**, immetti il valore della chiave.
   + [Rimuovere un tag] Accanto al tag, scegliere **Remove tag (Rimuovi tag)**.

1. Scegliere **Aggiorna**.

------
#### [ AWS CLI ]
+ Esegui `update-service`. Per informazioni sull'esecuzione del comando, consulta [update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html) nella Guida di riferimento. AWS Command Line Interface 

  L'esempio `update-service` seguente aggiorna il numero di attività desiderato del servizio `my-http-service` su 2.

  Sostituisci il *user-input* con i tuoi valori.

  ```
  aws ecs update-service \
      --cluster MyCluster \
      --service my-http-service \
      --desired-count 2
  ```

------

## Fasi successive
<a name="update-service-next-steps"></a>

Tracciare l'implementazione e visualizzare la cronologia dei servizi dell'interruttore automatico di Amazon ECS. Per ulteriori informazioni, consultare [Visualizza la cronologia dei servizi utilizzando le distribuzioni dei servizi Amazon ECS](service-deployment.md).

# Aggiornamento di un servizio Amazon ECS per utilizzare un provider di capacità
<a name="update-service-managed-instances"></a>

Se si dispone di un servizio esistente che utilizza il tipo di avvio Amazon EC2 o Fargate e si desidera utilizzare le istanze gestite da Amazon ECS, occorre aggiornare il servizio per utilizzare il provider di capacità delle istanze gestite da Amazon ECS.

## Prerequisiti
<a name="update-service-managed-instances-prerequisites"></a>

Creare un provider di capacità per le istanze gestite da Amazon ECS. Per ulteriori informazioni, consultare [Creazione di un provider di capacità per le istanze gestite da Amazon ECS](create-capacity-provider-managed-instances.md).

## Procedura
<a name="update-service-managed-instances-procedure"></a>

------
#### [ Console ]

1. Apri la console alla [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Nella pagina **Cluster**, scegliere il cluster.

1. Nella pagina dei dettagli del cluster, nella sezione **Servizi**, selezionare la casella di spunta accanto al servizio e poi scegliere **Aggiorna**.

1. Selezionare **Forza una nuova implementazione**.

1. In **Configurazione di calcolo**, scegliere Strategia del provider di capacità. Poi, scegliere una delle opzioni seguenti:
   + Se il provider di capacità delle istanze gestite da Amazon ECS è il provider di capacità predefinito, scegliere **Usa impostazione predefinita del cluster**.
   + Se il provider di capacità delle istanze gestite da Amazon ECS non è il provider di capacità predefinito, scegliere **Usa personalizzato (avanzate)**. Scegliere il provider di capacità delle istanze gestite da Amazon ECS, quindi per **Peso**, scegliere 1.

1. Scegliere **Aggiorna**.

------
#### [ AWS CLI ]
+ Esegui `update-service`. Per informazioni sull'esecuzione del comando, consulta [update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html) nella Guida di riferimento. AWS Command Line Interface 

  Sostituisci il *user-input* con i tuoi valori.

  ```
  aws ecs update-service \
      --cluster my-cluster \
      --service my-service \
      --capacity-provider-strategy capacityProvider=my-managed-instance-capacity-provider,weight=1 \
      --force-new-deployment
  ```

------