Parametri di definizione del servizio di Amazon ECS
Una definizione di servizio stabilisce come eseguire il servizio Amazon ECS. I seguenti parametri possono essere specificati in una definizione di servizio.
Tipo di avvio
launchType-
Tipo: string
Valori validi:
EC2|FARGATE|EXTERNALCampo obbligatorio: no
Il tipo di avvio con cui eseguire il servizio. Se non viene specificato un tipo di avvio, per impostazione predefinita viene utilizzato il
capacityProviderStrategydi default.Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Se viene specificato un
launchType, il parametrocapacityProviderStrategydeve essere omesso.
Strategia del provider di capacità
capacityProviderStrategy-
Tipo: matrice di oggetti
Campo obbligatorio: no
La strategia del fornitore di capacità da utilizzare per il servizio.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
Una strategia del fornitore di capacità consiste di uno o più fornitori di capacità e dei valori
baseeweightda assegnare a essi. Un provider di capacità deve essere associato al cluster da utilizzare in una strategia del provider di capacità. L'API PutClusterCapacityProviders viene utilizzata per associare un provider di capacità a un cluster. È possibile utilizzare solo i provider di capacità con uno statoACTIVEo uno statoUPDATING.Se viene specificato un
capacityProviderStrategy, il parametrolaunchTypedeve essere omesso. Se non viene specificatocapacityProviderStrategyolaunchType, viene utilizzatodefaultCapacityProviderStrategyper il cluster.Se desideri specificare un provider di capacità che utilizzi un gruppo con scalabilità automatica, il provider di capacità deve essere già stato creato. È possibile creare nuovi provider di capacità con l'operazione API CreateCapacityProvider.
Per utilizzare un provider di capacità AWS Fargate, specifica i provider di capacità
FARGATEoFARGATE_SPOT. I provider di capacità AWS Fargate sono disponibili per tutti gli account e, per essere utilizzati, devono solo essere associati a un cluster.L'operazione API PutClusterCapacityProviders viene utilizzata per aggiornare l'elenco dei provider di capacità disponibili per un cluster dopo la creazione del cluster.
capacityProvider-
Tipo: string
Campo obbligatorio: sì
Il nome breve o il nome della risorsa Amazon (ARN) del provider di capacità.
weight-
Tipo: integer
Intervallo valido: numeri interi compresi tra 0 e 1.000.
Campo obbligatorio: no
Il valore del peso indica la percentuale relativa del numero totale di attività avviate che devono utilizzare il provider di capacità specificato.
Ad esempio, supponiamo di avere una strategia che contiene due provider di capacità, ognuno con un peso pari a uno. Una volta soddisfatta la base, le attività si dividono equamente tra i due provider di capacità. Usando la stessa logica, assumiamo di specificare un peso di 1 per capacityProviderA e un peso di 4 per capacityProviderB. Quindi, per ogni attività che viene eseguita utilizzando capacityProviderA, quattro attività utilizzano capacityProviderB.
base-
Tipo: integer
Intervallo valido: numeri interi compresi tra 0 e 100.000.
Campo obbligatorio: no
Il valore di base indica il numero minimo di attività da eseguire nel provider di capacità specificato. Solo un provider di capacità in una strategia di provider di capacità può avere una base definita.
Definizione di attività
taskDefinition-
Tipo: string
Campo obbligatorio: no
I valori
familyerevision(family:revision) o il nome della risorsa Amazon (ARN) completo della definizione di attività da eseguire nel servizio. Se non viene specificato unrevision, viene utilizzata l'ultima revisioneACTIVEdella famiglia specificata.Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Una definizione di attività deve essere specificata quando si utilizza il controller di implementazione dell'aggiornamento in sequenza (
ECS).
Sistema operativo della piattaforma
platformFamily-
Tipo: stringa
Obbligatorio: condizionale
Di default: Linux
Questo parametro è richiesto per i servizi Amazon ECS ospitati su Fargate.
Questo parametro viene ignorato per i servizi Amazon ECS ospitati su Amazon EC2.
Il sistema operativo sui container che esegue il servizio. I valori validi sono
LINUX,WINDOWS_SERVER_2019_FULL,WINDOWS_SERVER_2019_CORE,WINDOWS_SERVER_2022_FULLeWINDOWS_SERVER_2022_CORE.Il valore
platformFamilyper ogni processo specificato per il servizio deve corrispondere al valoreplatformFamilydel servizio. Ad esempio, se hai impostatoplatformFamilysuWINDOWS_SERVER_2019_FULL, il valoreplatformFamilyper tutte le attività deve essereWINDOWS_SERVER_2019_FULL.
Versione della piattaforma
platformVersion-
Tipo: string
Campo obbligatorio: no
La versione della piattaforma su cui sono in esecuzione le attività nel servizio. Viene specificata una versione della piattaforma solo per le attività con tipo di avvio Fargate. Se non è specificata, la versione più recente (
LATEST) viene utilizzata di default.Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Le versioni della piattaforma AWS Fargate vengono utilizzate per fare riferimento a un determinato ambiente di runtime per l'infrastruttura delle attività Fargate. Quando specifichi la versione della piattaforma
LATESTdurante l'esecuzione di un'attività o la creazione di un servizio, ottieni la versione di piattaforma più aggiornata disponibile per le tue attività. Quando incrementi il servizio, tali attività riceveranno la versione della piattaforma specificata nell'implementazione corrente del servizio. Per ulteriori informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.Nota
Le versioni della piattaforma non sono specificate per i processi che utilizzano il tipo di avvio EC2.
Cluster
cluster-
Tipo: string
Campo obbligatorio: no
Il nome breve o il nome della risorsa Amazon (ARN) completo del cluster in cui eseguire il servizio. Se non specifichi un cluster, viene utilizzato il cluster di
default.
Nome servizio
serviceName-
Tipo: string
Campo obbligatorio: sì
Il nome del servizio. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. I nomi dei servizi devono essere univoci all'interno di un cluster, ma puoi avere servizi dai nomi simili in più cluster all'interno di una Regione o in più Regioni.
Strategia di pianificazione
schedulingStrategy-
Tipo: string
Valori validi:
REPLICA|DAEMONCampo obbligatorio: no
La strategia di pianificazione da utilizzare. Se non viene specificata alcuna strategia di pianificazione, viene utilizzata la strategia
REPLICA. Per ulteriori informazioni, consultare Servizi Amazon ECS.Sono disponibili due strategie del pianificatore del servizio:
-
REPLICA: la strategia di pianificazione delle repliche colloca e gestisce il numero desiderato di attività nel cluster. Di default, il pianificatore del servizio distribuisce le attività tra le zone di disponibilità. Puoi utilizzare vincoli e strategie di posizionamento delle attività per personalizzare le decisione riguardo al posizionamento delle attività. Per ulteriori informazioni, consultare Strategia di pianificazione delle repliche. -
DAEMON: la strategia di pianificazione del daemon distribuisce esattamente un'attività in ciascuna istanza di container attiva, che soddisfa tutti i vincoli di posizionamento delle attività specificati nel cluster. Quando si utilizza questa strategia, non è necessario specificare un numero di attività desiderato o una strategia di posizionamento delle attività, né utilizzare le policy di Auto Scaling del servizio. Per ulteriori informazioni, consultare Strategia di pianificazione dei daemon.Nota
I processi Fargate non supportano la strategia di pianificazione
DAEMON
-
Conteggio desiderato
desiredCount-
Tipo: integer
Campo obbligatorio: no
Il numero di istanze della definizione di attività specificata da posizionare e mantenere in esecuzione nel servizio.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
Questo parametro è obbligatorio se si utilizza la strategia di pianificazione
REPLICA. Se il servizio utilizza la strategia di pianificazioneDAEMON, questo parametro è facoltativo.Quando si utilizza il dimensionamento automatico dei servizi, quando si aggiorna un servizio attualmente in esecuzione con un
desiredCountinferiore al numero di attività attualmente in esecuzione, il servizio viene ridotto verticalmente fino aldesiredCountspecificato.
Configurazione dell'implementazione
deploymentConfiguration-
Tipo: oggetto
Campo obbligatorio: no
I parametri di implementazione opzionali determinano quante attività vengono eseguite durante l'implementazione e l'ordine di arresto e di avvio delle attività.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
maximumPercent-
Tipo: integer
Campo obbligatorio: no
Se il servizio utilizza il tipo di implementazione con aggiornamento in sequenza (
ECS), il parametromaximumPercentrappresenta un limite superiore sul numero di attività del servizio che sono consentite nello statoRUNNING,STOPPINGoPENDINGdurante un'implementazione. Viene espresso come percentuale deldesiredCountarrotondato per difetto al valore intero più vicino. Questo parametro può essere utilizzato per definire le dimensioni del batch di implementazione. Ad esempio, se il servizio utilizza il pianificatore di serviziREPLICAe ha undesiredCountdi quattro attività e un valoremaximumPercentpari al 200%, il pianificatore avvia quattro nuove attività prima di arrestare le quattro attività più vecchie. a condizione che le risorse del cluster necessarie per questa operazione siano disponibili. Il valore predefinitomaximumPercentper un servizio che utilizza il pianificatore di serviziREPLICAè del 200%.Il pianificatore di Amazon ECS utilizza questo parametro per sostituire le attività non integre avviando prima le attività sostitutive e poi interrompendo quelle non integre, purché siano disponibili risorse del cluster per avviare attività sostitutive. Per ulteriori informazioni sul modo in cui il pianificatore sostituisce le attività non integre, consultare Servizi Amazon ECS.
Se il servizio sta utilizzando il tipo di pianificatore di servizi
DAEMON, il parametromaximumPercentdeve rimanere al 100%. Si tratta del valore di default.Il numero massimo di attività durante un'implementazione è uguale a
desiredCountmoltiplicato permaximumPercent/100, arrotondato per difetto al numero intero più vicino.Se un servizio utilizza il tipo di implementazione blu/verde (
CODE_DEPLOY) o attività e tipi di implementazioneEXTERNALche utilizzano il tipo di lancio EC2, il valore di percentuale massima è impostato sul valore predefinito. Il valore viene utilizzato solo per definire il limite superiore sul numero di attività nel servizio che rimangono nello statoRUNNINGmentre le istanze di container sono nello statoDRAINING.Nota
Non è possibile specificare un valore
maximumPercentpersonalizzato per un servizio che utilizza i tipi di implementazione blu/verde (CODE_DEPLOY) oEXTERNALe dispone di attività che utilizzano EC2.Se il servizio utilizza i tipi di implementazione blu/verde (
CODE_DEPLOY) oEXTERNAL, e le attività del servizio utilizzano Fargate, il valore percentuale massimo non viene utilizzato. Il valore viene comunque restituito quando si descrive il servizio. minimumHealthyPercent-
Tipo: integer
Campo obbligatorio: no
Se il servizio utilizza il tipo di implementazione aggiornamento in sequenza (
ECS), il parametrominimumHealthyPercentrappresenta un limite inferiore sul numero di attività del servizio che devono restare nello statoRUNNINGdurante un'implementazione. Viene espresso come percentuale deldesiredCountarrotondato per eccesso al valore intero più vicino. Questo parametro può essere utilizzato per eseguire l'implementazione senza utilizzare capacità aggiuntiva del cluster.Ad esempio, se il servizio ha un
desiredCountdi quattro attività, unminimumHealthyPercentdel 50% e unmaximumPercentdel 100%, il pianificatore di servizi arresta due attività esistenti per liberare capacità del cluster prima di avviare due nuove attività.Se alcune attività non sono integre e se
maximumPercentnon consente al pianificatore di Amazon ECS di avviare attività sostitutive, il pianificatore interrompe le attività non integre una per una, utilizzando laminimumHealthyPercentcome vincolo, per liberare la capacità necessaria per avviare attività sostitutive. Per ulteriori informazioni sul modo in cui il pianificatore sostituisce le attività non integre, consultare Servizi Amazon ECS.Per i servizi che non utilizzano un load balancer, considera quanto riportato di seguito:
-
Un servizio è considerato integro se tutti i container essenziali all'interno delle attività del servizio superano i controlli dello stato.
-
Se un'attività non dispone di container essenziali con un controllo dell'integrità definito, il pianificatore del servizio attenderà 40 secondi dopo che un'attività raggiunge uno stato
RUNNINGprima di contarla per la percentuale minima di integrità totale. -
Se un'attività ha uno o più container essenziali con un controllo dell'integrità definito, il pianificatore del servizio attenderà che l'attività raggiunga uno stato integro prima di contarla per la percentuale minima di integrità totale. Un'attività è considerata sana quando tutti i container essenziali al suo interno hanno superato i controlli dello stato. La quantità di tempo che il pianificatore del servizio può attendere è determinata dalle impostazioni di controllo dello stato del container. Per ulteriori informazioni, consultare Controllo dell'integrità.
Per i servizi che utilizzano un load balancer, considera quanto riportato di seguito:
-
Se un'attività non dispone di container essenziali con un controllo dell'integrità definito, il pianificatore del servizio attenderà che il controllo dell'integrità del gruppo di destinazione del load balancer restituisca uno stato integro prima di contarla nella percentuale minima di integrità totale.
-
Se un'attività dispone di un container essenziale con un controllo dell'integrità definito, il pianificatore del servizio attenderà che l'attività raggiunga uno stato integro e il controllo dell'integrità del gruppo di destinazione del load balancer restituisca uno stato integro prima di contare l'attività nella percentuale minima di integrità totale.
Il valore predefinito di un servizio di replica per
minimumHealthyPercentè 100%. Il valoreminimumHealthyPercentdi default per un servizio che utilizza la pianificazione di serviziDAEMONè 0% per la AWS CLI, gli SDK AWSe le API ed è 50% per la AWS Management Console.Il numero minimo di attività integre durante un'implementazione è uguale a
desiredCountmoltiplicato perminimumHealthyPercent/100, arrotondato per eccesso al numero intero più vicino.Se un servizio utilizza il tipo di implementazione blu/verde (
CODE_DEPLOY) oEXTERNALed esegue attività che utilizzano EC2, il valore di percentuale integra massima è impostato sul valore predefinito. Il valore viene utilizzato solo per definire il limite inferiore sul numero di attività nel servizio che rimangono nello statoRUNNINGmentre le istanze di container sono nello statoDRAINING.Nota
Non è possibile specificare un valore
maximumPercentpersonalizzato per un servizio che utilizza i tipi di implementazione blu/verde (CODE_DEPLOY) oEXTERNALe dispone di attività che utilizzano EC2.Se un servizio utilizza i tipi di implementazione blu/verde (
CODE_DEPLOY) oEXTERNALed esegue processi che utilizzano Fargate, il valore della percentuale minima di integrità non viene utilizzato, anche se viene restituito nella descrizione del servizio. -
Controller di implementazione
deploymentController-
Tipo: oggetto
Campo obbligatorio: no
Il tipo di controller di implementazione da utilizzare per il servizio. Se non viene specificato alcun controller di implementazione, viene utilizzato il controller
ECS. Per ulteriori informazioni, consultare Servizi Amazon ECS.Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
type-
Tipo: string
Valori validi:
ECS|CODE_DEPLOY|EXTERNALObbligatorio: sì
Il tipo di controller di implementazione da utilizzare. Esistono tre tipi di controller di implementazione:
ECS-
Il tipo di implementazione aggiornamento in sequenza (
ECS) prevede la sostituzione della versione attualmente in esecuzione del container con quella più recente. Il numero di container che Amazon ECS aggiunge o rimuove dal servizio durante un aggiornamento in sequenza è controllato regolando il numero minimo e massimo di integrità consentite durante l'implementazione di un servizio, come specificato in deploymentConfiguration. CODE_DEPLOY-
Il tipo di implementazione blu/verde (
CODE_DEPLOY) usa il tipo di implementazione blu/verde basato su CodeDeploy, che consente di verificare la nuova implementazione di un servizio prima di inviare traffico di produzione. EXTERNAL-
Utilizza il tipo di implementazione esterna quando desideri usare qualsiasi controller di implementazione di terze parti per il controllo completo sul processo di implementazione per un servizio Amazon ECS.
Posizionamento dei processi
placementConstraints-
Tipo: matrice di oggetti
Campo obbligatorio: no
Serie di oggetti vincolo di posizionamento da utilizzare per le attività del servizio. Puoi specificare un massimo di 10 vincoli per attività. Questo limite include i vincoli nella definizione dell'attività e quelli specificati in fase di runtime. Se si utilizza Fargate, i vincoli di posizionamento dei processi non sono supportati.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
type-
Tipo: string
Campo obbligatorio: no
Il tipo di vincolo. Utilizza
distinctInstanceper accertarti che ogni attività in un determinato gruppo sia in esecuzione su un'istanza di container diversa. UtilizzamemberOfper limitare la selezione a un gruppo di candidati validi. Il valoredistinctInstancenon è supportato nelle definizioni di attività. expression-
Tipo: string
Campo obbligatorio: no
Un'espressione del linguaggio di query del cluster da applicare al vincolo. Non puoi specificare un'espressione se il tipo di vincolo è
distinctInstance. Per ulteriori informazioni, consultare Creare espressioni per definire istanze di container per le attività di Amazon ECS.
placementStrategy-
Tipo: matrice di oggetti
Campo obbligatorio: no
Gli oggetti strategia di posizionamento da utilizzare per le attività del servizio. Puoi specificare un massimo di quattro regole di strategia per ogni servizio.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
type-
Tipo: string
Valori validi:
random|spread|binpackCampo obbligatorio: no
Il tipo di strategia di posizionamento. La strategia di posizionamento
randomposiziona in modo casuale le attività sui candidati disponibili. La strategia di posizionamentospreaddistribuisce le attività in modo uniforme tra i candidati disponibili in base al parametrofield. La strategiabinpackposiziona le attività sui candidati disponibili che dispongono della quantità minima di risorsa specificata con il parametrofield. Ad esempio, se adotti il binpacking della memoria, un'attività verrà posizionata sull'istanza con la quantità minima di memoria residua (ma ancora sufficiente a eseguire l'attività). field-
Tipo: string
Campo obbligatorio: no
Il campo a cui applicare la strategia di posizionamento. Per la strategia di posizionamento
spread, i valori validi sonoinstanceId(ohost, che ha lo stesso effetto) oppure qualsiasi attributo personalizzato o di piattaforma applicato a un'istanza di container, comeattribute:ecs.availability-zone. Per la strategia di posizionamentobinpack, i valori validi sonocpuememory. Per la strategia di posizionamentorandomquesto campo non viene utilizzato.
Tag
-
Tipo: matrice di oggetti
Campo obbligatorio: no
I metadati applicati al servizio per aiutarti a catalogarli e organizzarli. Ogni tag è composto da una chiave e da un valore opzionale, entrambi personalizzabili. Quando un servizio viene eliminato, vengono eliminati anche i tag. Al servizio è possibile applicare un massimo di 50 tag. Per ulteriori informazioni, consultare Aggiunta di tag alle risorse Amazon ECS.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
key-
Tipo: string
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 128 caratteri.
Campo obbligatorio: no
Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.
value-
Tipo: string
Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.
Campo obbligatorio: no
La parte facoltativa di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).
-
Tipo: Booleano
Valori validi:
true|falseCampo obbligatorio: no
Specifica se usare i tag gestiti di Amazon ECS per i processi nel servizio. Se non viene specificato alcun valore, il valore predefinito è
false. Per ulteriori informazioni, consultare Uso dei tag per la risoluzione dei problemi.Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
propagateTags-
Tipo: string
Valori validi:
TASK_DEFINITION|SERVICECampo obbligatorio: no
Specifica se copiare i tag dalla definizione di attività o dal servizio nelle attività del servizio. Se non viene specificato alcun valore, i tag non vengono copiati. I tag possono essere copiati solo nelle attività all'interno del servizio durante la creazione del servizio. Per aggiungere tag a un processo dopo la creazione di un servizio o di un processo, utilizza l'operazione API
TagResource.Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
Configurazione di rete
networkConfiguration-
Tipo: oggetto
Campo obbligatorio: no
La configurazione di rete per il servizio. Questo parametro è obbligatorio per le definizioni di attività che utilizzano la modalità di rete
awsvpcper ricevere la propria interfaccia di rete elastica e non è supportato per altre modalità. Se si utilizza Fargate, la modalità di reteawsvpcè obbligatoria. Per ulteriori informazioni sulle reti per EC2, consultare Opzioni di rete di attività di Amazon ECS per EC2. Per maggiori informazioni sulla rete per Fargate, consultare Amazon ECS task networking options for Fargate.Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
awsvpcConfiguration-
Tipo: oggetto
Campo obbligatorio: no
Un oggetto che rappresenta le sottoreti e i gruppi di sicurezza per un'attività o un servizio.
subnets-
Tipo: matrice di stringhe
Campo obbligatorio: sì
Le sottoreti associate all'attività o al servizio. Esiste un limite di 16 sottoreti che possono essere specificate in base a
awsvpcConfiguration. securityGroups-
Tipo: matrice di stringhe
Campo obbligatorio: no
I gruppi di sicurezza associati all'attività o al servizio. Se non specifichi un gruppo di sicurezza, viene utilizzato il gruppo di sicurezza predefinito dell'ambiente VPC. Esiste un limite di cinque gruppi di sicurezza che possono essere specificati in base a
awsvpcConfiguration. assignPublicIP-
Tipo: string
Valori validi:
ENABLED|DISABLEDCampo obbligatorio: no
Se l'interfaccia di rete elastica dell'attività riceve un indirizzo IP pubblico. Se non viene specificato alcun valore, viene utilizzato il valore predefinito
DISABLED.
healthCheckGracePeriodSeconds-
Tipo: integer
Campo obbligatorio: no
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, puoi 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.
Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
loadBalancers-
Tipo: matrice di oggetti
Campo obbligatorio: no
Un oggetto che rappresenta il load balancer da utilizzare con il tuo servizio. Per i servizi che utilizzano un Application Load Balancer o un Network Load Balancer, esiste un limite di cinque gruppi di destinazione che puoi collegare a un servizio.
Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Dopo aver creato un servizio, la configurazione del load balancer non può essere modificata dalla AWS Management Console. Puoi utilizzare AWS Copilot, AWS CloudFormation, AWS CLI o l'SDK per modificare solo la configurazione del load balancer per il controller di implementazione in sequenza
ECS, non per le implementazioni ble/verde o esterne di AWS CodeDeploy. Quando aggiungi, aggiorni o rimuovi una configurazione del load balancer, Amazon ECS avvia una nuova implementazione con la configurazione aggiornata di Elastic Load Balancing. Questo causa la registrazione e l'annullamento della registrazione dai load balancer. Si consiglia di verificarlo in un ambiente di test prima di aggiornare la configurazione di Elastic Load Balancing. Per informazioni su come modificare la configurazione, consulta UpdateServicenella Documentazione di riferimento API di Amazon Elastic Container Service.Per gli Application Load Balancer e i Network Load Balancer, questo oggetto deve contenere l'ARN del gruppo di destinazione del load balancer, il nome del container (così come appare nella definizione di quest'ultimo) e la porta del container per accedere dal load balancer. Quando un'attività di questo servizio è posizionata su un'istanza di container, l'unione dell'istanza e della porta del container viene registrata come destinazione nel gruppo di destinazione specificato qui.
targetGroupArn-
Tipo: string
Campo obbligatorio: no
Il nome della risorsa Amazon (ARN) completo del gruppo o dei gruppi di destinazione dell'Elastic Load Balancer associati a un servizio.
L'ARN del gruppo di destinazione viene specificato solo quando di utilizza un Application Load Balancer o un Network Load Balancer.
loadBalancerName-
Tipo: string
Campo obbligatorio: no
Il nome del load balancer da associare al servizio.
Se utilizzi un Application Load Balancer o un Network Load Balancer, il parametro relativo al nome del load balancer deve essere omesso.
containerName-
Tipo: string
Campo obbligatorio: no
Il nome del container (così come appare nella definizione di quest'ultimo) da associare al load balancer.
containerPort-
Tipo: integer
Campo obbligatorio: no
La porta del container da associare al load balancer. Questa porta deve corrispondere a un
containerPortnella definizione di attività utilizzata dalle attività nel servizio. Per le attività che utilizzano EC2, l'istanza di container deve consentire il traffico in ingresso sullahostPortdella mappatura delle porte.
role-
Tipo: string
Campo obbligatorio: no
Il nome breve o l'ARN completo del ruolo IAM che consente ad Amazon ECS di effettuare chiamate al load balancer per tuo conto. Questo parametro è consentito solo se utilizzi un load balancer con un singolo gruppo di destinazione e se la definizione di attività non utilizza la modalità di rete
awsvpc. Se specifichi il parametrorole, devi anche specificare un oggetto load balancer con il parametroloadBalancers.Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
Se il ruolo specificato ha un percorso diverso da
/, devi specificare l'ARN del ruolo completo (scelta consigliata) o anteporre il percorso al nome del ruolo come prefisso. Ad esempio, se un ruolo con il nomebarha il percorso/foo/, devi specificare/foo/barcome nome del ruolo. Per ulteriori informazioni, consultare Friendly Names and Paths nella Guida per l'utente IAM.Importante
Se il tuo account ha già creato il ruolo collegato al servizio Amazon ECS, tale ruolo viene utilizzato di default per il tuo servizio, a meno che tu non specifichi un ruolo qui. Il ruolo collegato al servizio è obbligatorio se la definizione di attività utilizza la modalità di rete awsvpc; in tal caso, non è necessario specificare un ruolo qui. Per ulteriori informazioni, consultare Uso di ruoli collegati ai servizi per Amazon ECS.
serviceConnectConfiguration-
Tipo: oggetto
Campo obbligatorio: no
La configurazione di questo servizio per rilevare e connettersi ai servizi, ed essere rilevati e connessi da altri servizi all'interno di uno spazio nomi.
Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Per ulteriori informazioni, consultare Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi.
enabled-
Tipo: Booleano
Campo obbligatorio: sì
Specifica se utilizzare Service Connect con questo servizio.
namespace-
Tipo: string
Campo obbligatorio: no
Il nome breve o il nome della risorsa Amazon (ARN) completo del namespace AWS Cloud Map da utilizzare con Service Connect. Il namespace deve trovarsi nella stessa Regione AWS del cluster e del servizio Amazon ECS. Il tipo di namespace non influisce su Service Connect. Per ulteriori informazioni su AWS Cloud Map, consulta Utilizzo dei servizi nella Guida per gli sviluppatori di AWS Cloud Map.
services-
Tipo: matrice di oggetti
Campo obbligatorio: no
Un array degli oggetti del servizio Service Connect. Questi sono nomi e alias (detti anche endpoint) utilizzati da altri servizi Amazon ECS per connettersi a questo servizio.
Questo campo non è obbligatorio per un servizio Amazon ECS "client" che un membro di un namespace utilizza solo per connettersi ad altri servizi nel namespace. Un esempio può essere un'applicazione front-end che accetta richieste in arrivo da un sistema di bilanciamento del carico collegato al servizio o con altri mezzi.
Un oggetto seleziona una porta dalla definizione di attività, assegna un nome per il servizio AWS Cloud Map e un array di alias (noti come endpoint) e porte perché le applicazioni client possano fare riferimento a questo servizio.
portName-
Tipo: string
Campo obbligatorio: sì
portNamedeve corrispondere alnamedi una delleportMappingsda tutti i container nella definizione di attività di questo servizio Amazon ECS. discoveryName-
Tipo: string
Campo obbligatorio: no
Il
discoveryNameè il nome del nuovo servizio AWS Cloud Map creato da Amazon ECS per questo servizio Amazon ECS. Deve essere univoco nel namespace AWS Cloud Map.Se questo campo non è specificato, viene utilizzato
portName. clientAliases-
Tipo: matrice di oggetti
Campo obbligatorio: no
L'elenco degli alias client per questo servizio Service Connect. Si usano per assegnare nomi che possono essere utilizzati da applicazioni client. Il numero massimo di alias client che si può avere in questo elenco è 1.
Ogni alias ("endpoint") è un nome DNS completo e un numero di porta che altre attività Amazon ECS ("client") possono utilizzare per connettersi a questo servizio.
Ogni combinazione di nome e porta deve essere univoca nel namespace.
Questi nomi sono configurati all'interno di ogni attività del servizio client, non in AWS Cloud Map. Le richieste DNS per risolvere questi nomi non lasciano l'attività e non vengono conteggiate ai fini della quota di richieste DNS al secondo per interfaccia di rete elastica.
port-
Tipo: integer
Campo obbligatorio: sì
Il numero della porta di ascolto per il proxy Service Connect. Questa porta è disponibile all'interno di tutte le attività nello stesso namespace.
Per evitare di modificare le applicazioni nei servizi client Amazon ECS, imposta la stessa porta utilizzata dall'applicazione client per impostazione predefinita.
dnsName-
Tipo: string
Campo obbligatorio: no
Il
dnsNameè il nome utilizzato nelle applicazioni di attività client per connettersi a questo servizio. Il nome deve essere un'etichetta DNS valida.Se questo campo non viene specificato, il valore predefinito sarà
discoveryName.namespace. Se il valorediscoveryNamenon viene specificato, viene utilizzato il valoreportNamedella definizione dell'attività.Per evitare di modificare le applicazioni nei servizi client Amazon ECS, imposta lo stesso nome utilizzato dall'applicazione client per impostazione predefinita. Ad esempio, alcuni nomi comuni sono
database,dbo il nome minuscolo di un database, ad esempiomysqloredis.
ingressPortOverride-
Tipo: integer
Campo obbligatorio: no
(Facoltativo) Il numero della porta di ascolto per il proxy Service Connect.
Utilizza il valore di questo campo per ignorare il proxy per il traffico sul numero di porta specificato nella
portMappingdenominata nella definizione di attività di questa applicazione, quindi utilizzalo nei tuoi gruppi di sicurezza Amazon VPC per consentire il traffico nel proxy per questo servizio Amazon ECS.In modalità
awsvpc, il valore predefinito è il numero di porta del container specificato nellaportMappingnella definizione di attività di questa applicazione. In modalitàbridge, il valore predefinito è la porta temporanea dinamica del proxy Service Connect. logConfiguration-
Tipo: oggetto LogConfiguration
Campo obbligatorio: no
Questo definisce dove vengono pubblicati i log del proxy di Service Connect. Usa i log per il debug durante eventi imprevisti. Questa configurazione imposta il parametro
logConfigurationnel container del proxy Service Connect in ogni attività di questo servizio Amazon ECS. Il container del proxy non è specificato nella definizione di attività.Ti consigliamo di utilizzare la stessa configurazione di log dei container delle applicazioni della definizione di attività per questo servizio Amazon ECS. Per FireLens, questa è la configurazione del log del container dell'applicazione. Non è il container del router di log FireLens che utilizza l'immagine del container
fluent-bitofluentd.
serviceRegistries-
Tipo: matrice di oggetti
Campo obbligatorio: no
I dettagli della configurazione dell'individuazione per il tuo servizio. Per ulteriori informazioni, consultare Usare il rilevamento servizi per connettere i servizi Amazon ECS con nomi DNS.
Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
registryArn-
Tipo: string
Campo obbligatorio: no
Il nome della risorsa Amazon (ARN) del registro del servizio. Il registro del servizio attualmente supportato è AWS Cloud Map. Per ulteriori informazioni, consultare Working with Services nella Guida per gli sviluppatori di AWS Cloud Map.
port-
Tipo: integer
Campo obbligatorio: no
Il valore della porta utilizzato se l'individuazione dei servizi ha specificato un record SRV. Questo campo è obbligatorio se vengono utilizzati entrambi la modalità di rete
awsvpce i record SRV. containerName-
Tipo: string
Campo obbligatorio: no
Il valore che indica il nome del container da utilizzare per l'individuazione del servizio. Questo valore è specificato nella definizione dell'attività. Se la definizione di attività specificata dall'attività del servizio utilizza le modalità di rete
bridgeohost, devi specificare una combinazione dicontainerNameecontainerPortnella definizione di attività. Se la definizione di attività specificata dall'attività del servizio utilizza la modalità di reteawsvpce utilizzi un record tipo DNS SRV, devi specificare una combinazione dicontainerNameecontainerPorto un valoreport, ma non entrambi. containerPort-
Tipo: integer
Campo obbligatorio: no
Il valore della porta da utilizzare per l'individuazione del servizio. Questo valore è specificato nella definizione dell'attività. Se la definizione di attività specificata dall'attività del servizio utilizza le modalità di rete
bridgeohost, devi specificare una combinazione dicontainerNameecontainerPortnella definizione di attività. Se la definizione di attività specificata dall'attività del servizio utilizza la modalità di reteawsvpce utilizzi un record tipo DNS SRV, devi specificare una combinazione dicontainerNameecontainerPorto un valoreport, ma non entrambi.
Token client
clientToken-
Tipo: string
Campo obbligatorio: no
L'identificatore univoco (con distinzione tra maiuscole e minuscole) che fornisci per assicurare l'idempotenza della richiesta. Può contenere fino a 32 caratteri ASCII.
Ribilanciamento della zona di disponibilità
availabilityZoneRebalancing-
Tipo: string
Campo obbligatorio: no
Indica se il servizio utilizza il ribilanciamento della zona di disponibilità. I valori validi sono
ENABLEDeDISABLED.Quando si aggiorna un servizio, questo parametro non innesca una nuova implementazione del servizio.
Comportamento predefinito:
-
Per i nuovi servizi: se non viene specificato alcun valore, il valore predefinito è
DISABLED. -
Per i servizi esistenti: se non viene specificato alcun valore, Amazon ECS imposta il valore predefinito sul valore esistente. Se in precedenza non è stato impostato alcun valore, Amazon ECS lo imposta su
DISABLED.
Per ulteriori informazioni sul ribilanciamento delle zone di disponibilità, consultare Bilanciamento di un servizio Amazon ECS tra zone di disponibilità.
-
Configurazioni del volume
volumeConfigurations-
Tipo: oggetto
Campo obbligatorio: no
La configurazione che verrà utilizzata per creare volumi per le attività gestite dal servizio. Solo i volumi contrassegnati come
configuredAtLaunchnella definizione dell'attività possono essere configurati utilizzando questo oggetto.Quando si aggiorna un servizio, questo parametro innesca una nuova implementazione del servizio.
Questo oggetto è necessario per collegare i volumi Amazon EBS alle attività gestite da un servizio. Per ulteriori informazioni, consultare Usare i volumi Amazon EBS con Amazon ECS.
name-
Tipo: string
Campo obbligatorio: sì
Il nome di un volume configurato durante la creazione o l'aggiornamento di un servizio. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini (
_) e caratteri di sottolineatura (-). Questo valore deve corrispondere al nome di volume specificato nella definizione dell'attività. managedEBSVolume-
Tipo: oggetto
Campo obbligatorio: no
La configurazione del volume utilizzata per creare volumi Amazon EBS collegati alle attività mantenute da un servizio al momento della creazione o dell'aggiornamento del servizio. Viene allegato un volume per ogni attività.
encrypted-
Tipo: Booleano
Campo obbligatorio: no
Valori validi:
true|falseSpecifica se crittografare ciascun volume Amazon EBS creato. Se è stata attivata la crittografia di Amazon EBS per impostazione predefinita per una determinata Regione AWS per l'Account AWS ma questo parametro è stato impostato su
false, quest'ultimo verrà sovrascritto e i volumi verranno crittografati con la chiave KMS specificata per la crittografia per impostazione predefinita. Per ulteriori informazioni sulla crittografia di Amazon EBS per impostazione predefinita, consultare Enable Amazon EBS encryption by default nella Guida per l'utente di Amazon EBS. Per ulteriori informazioni sulla crittografia dei volumi Amazon EBS collegati alle attività di Amazon ECS, consultare Crittografia dei dati archiviati nei volumi Amazon EBS allegati alle attività Amazon ECS. kmsKeyId-
Tipo: string
Campo obbligatorio: no
L'identificatore della AWS Key Management Service (AWS KMS) da utilizzare per la crittografia di Amazon EBS. Se
kmsKeyIdviene specificata, lo stato crittografato deve esseretrue.La chiave specificata utilizzando questo parametro sostituisce la chiave KMS predefinita di Amazon EBS o qualsiasi chiave KMS a livello di cluster per la crittografia dell'archiviazione gestita di Amazon ECS che potrebbe essere stata specificata. Per ulteriori informazioni, consultare Crittografia dei dati archiviati nei volumi Amazon EBS allegati alle attività Amazon ECS.
È possibile specificare la chiave KMS utilizzando una delle opzioni seguenti:
-
ID della chiave: ad esempio,
1234abcd-12ab-34cd-56ef-1234567890ab. -
Alias della chiave: ad esempio,
alias/ExampleAlias. -
ARN della chiave: ad esempio,
arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. -
ARN dell'alias: ad esempio,
arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
Importante
AWS autentica la chiave KMS in modo asincrono. Pertanto, se si specifica un ID, alias o ARN non valido, l'azione sembra essere completata, ma alla fine ha esito negativo. Per ulteriori informazioni, consultare Troubleshooting Amazon EBS volume attachment issues.
-
volumeType-
Tipo: string
Campo obbligatorio: no
Valori validi:
gp2|gp3|io1|io2|sc1|st1|standardIl tipo di volume di Amazon EBS. Per ulteriori informazioni sui tipi di volume, consultare Amazon EBS volume types nella Guida per l'utente di Amazon EBS. Il tipo di volume di default è
gp3.Nota
Il tipo di volume
standardnon è supportato per le attività Fargate. sizeInGiB-
Tipo: integer
Campo obbligatorio: no
Intervallo valido: numeri interi compresi tra 1 e 16.384.
La dimensione del volume EBS in gibibyte (GiB). Se non viene fornito un ID di snapshot per configurare un volume per l'allegato, è necessario fornire un valore di dimensione. Se viene configurato un volume per l'allegato utilizzando uno snapshot, il valore predefinito è la dimensione dello snapshot. È possibile specificare una dimensione maggiore o uguale a quella dello snapshot.
Per i tipi di volume
gp2egp3, l'intervallo valido è 1-16.384.Per i tipi di volume
io1eio2, l'intervallo valido è 4-16.384.Per i tipi di volume
st1esc1, l'intervallo valido è 125-16.384.Per il tipo di volume
standard, l'intervallo valido è 1-1.024. snapshotId-
Tipo: string
Campo obbligatorio: no
L'ID di snapshot di un volume Amazon EBS esistente che Amazon ECS utilizza per creare nuovi volumi per il collegamento. È necessario specificare
snapshotIdosizeInGiB. volumeInitializationRate-
Tipo: integer
Campo obbligatorio: no
La velocità, in MiB/s, con cui i dati vengono recuperati da uno snapshot di un volume Amazon EBS esistente per creare nuovi volumi per il collegamento. Questa proprietà può essere specificata solo se si indica un
snapshotId. Per ulteriori informazioni su questa velocità di inizializzazione dei volumi, compreso l'intervallo di velocità supportate, consultare Initialize Amazon EBS volumes nella Guida per l'utente di Amazon EBS. iops-
Tipo: integer
Campo obbligatorio: no
Il numero di operazioni I/O al secondo (IOPS). Per volumi
gp3,io1eio2, questo rappresenta il numero di IOPS che sono assegnate al volume. Per volumigp2, questo valore rappresenta le prestazioni di base per il volume e la frequenza con la quale il volume accumula crediti I/O per l'ottimizzazione. Questo parametro è obbligatorio per i volumiio1eio2. Questo parametro non è supportato per volumigp2,st1,sc1ostandard.Per i volumi
gp3, l'intervallo di valori valido è compreso tra 3.000 e 16.000.Per i volumi
io1, l'intervallo di valori valido è compreso tra 100 e 64.000.Per i volumi
io2, l'intervallo di valori valido è compreso tra 100 e 64.000. throughput-
Tipo: integer
Campo obbligatorio: no
Il throughput per il provisioning dei volumi collegati alle attività mantenute da un servizio.
Importante
Questo parametro è supportato solo per i volumi
gp3. roleArn-
Tipo: string
Campo obbligatorio: sì
Il nome della risorsa Amazon (ARN) del ruolo dell'infrastruttura AWS Identity and Access Management (IAM) che fornisce le autorizzazioni di Amazon ECS per gestire le risorse Amazon EBS per tue attività. Per ulteriori informazioni, consultare Ruolo IAM dell'infrastruttura Amazon ECS.
tagSpecifications-
Tipo: oggetto
Campo obbligatorio: no
La specifica per i tag da applicare a ciascun volume di Amazon EBS.
resourceType-
Tipo: string
Campo obbligatorio: sì
Valori validi:
volumeIl tipo di risorsa cui applicare tag al momento della creazione.
-
Tipo: matrice di oggetti
Campo obbligatorio: no
I metadati applicati ai volumi per aiutare a categorizzarli e organizzarli. Ogni tag è composto da una chiave e da un valore opzionale, entrambi personalizzabili.
AmazonECSCreatedeAmazonECSManagedsono tag riservati che vengono aggiunti da Amazon ECS, quindi è possibile specificare un massimo di 48 tag personalizzati. Quando un volume viene eliminato, vengono eliminati anche i tag. Per ulteriori informazioni, consultare Aggiunta di tag alle risorse Amazon ECS.key-
Tipo: string
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 128 caratteri.
Campo obbligatorio: no
Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.
value-
Tipo: string
Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.
Campo obbligatorio: no
La parte facoltativa di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).
propagateTags-
Tipo: string
Valori validi:
TASK_DEFINITION|SERVICE|NONECampo obbligatorio: no
Specificare se copiare i tag dalla definizione di attività o dal servizio in un volume. Se
NONEè specificato o non viene specificato alcun valore, i tag non vengono copiati.
fileSystemType-
Tipo: string
Campo obbligatorio: no
Valori validi:
xfs|ext3|ext4|NTFSIl tipo di file system su un volume. Il tipo di file system del volume determina il modo in cui i dati vengono archiviati e recuperati nel volume. Per i volumi creati da una snapshot, è necessario specificare lo stesso tipo di file system utilizzato dal volume al momento della creazione della snapshot. Se c'è una mancata corrispondenza del tipo di file system, l'attività non verrà avviata.
I valori validi per Linux sono
xfs, ext3, and ext4. L'impostazione predefinita per i volumi collegati alle attività di Linux èXFS.I valori validi per Windows sono
NTFS. L'impostazione predefinita per i volumi collegati alle attività di Windows èNTFS.