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à.
Parametri ECS di definizione del servizio Amazon
Una definizione di servizio definisce come eseguire il ECS servizio Amazon. I seguenti parametri possono essere specificati in una definizione di servizio.
Tipo di avvio
launchType
-
Tipo: stringa
Valori validi:
EC2
|FARGATE
|EXTERNAL
Campo 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
capacityProviderStrategy
di default. Per ulteriori informazioni, consulta Tipi di ECS lancio di Amazon.Se viene specificato un
launchType
, il parametrocapacityProviderStrategy
deve 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.
Una strategia del fornitore di capacità consiste di uno o più fornitori di capacità e dei valori
base
eweight
da assegnare a essi. Un provider di capacità deve essere associato al cluster da utilizzare in una strategia del provider di capacità. PutClusterCapacityProviders APIViene utilizzato per associare un provider di capacità a un cluster. È possibile utilizzare solo i provider di capacità con uno statoACTIVE
o uno statoUPDATING
.Se viene specificato un
capacityProviderStrategy
, il parametrolaunchType
deve essere omesso. Se non viene specificatocapacityProviderStrategy
olaunchType
, viene utilizzatodefaultCapacityProviderStrategy
per 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. Con l' CreateCapacityProvider APIoperazione è possibile creare nuovi fornitori di capacità.
Per utilizzare un provider di capacità AWS Fargate, specificare
FARGATE
o i provider diFARGATE_SPOT
capacità. I provider di capacità AWS Fargate sono disponibili per tutti gli account e devono essere associati solo a un cluster per essere utilizzati.L' PutClusterCapacityProviders APIoperazione viene utilizzata per aggiornare l'elenco dei fornitori di capacità disponibili per un cluster dopo la creazione del cluster.
capacityProvider
-
Tipo: stringa
Campo obbligatorio: sì
Il nome breve o completo Amazon Resource Name (ARN) del fornitore 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à. Utilizzando la stessa logica, supponiamo di specificare un peso di 1 per capacityProviderA e un peso di 4 per capacityProviderB. Quindi, per ogni operazione 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
L'
family
andrevision
(family:revision
) o il nome completo di Amazon Resource Name (ARN) della definizione dell'attività da eseguire nel tuo servizio. Se non viene specificato unrevision
, viene utilizzata l'ultima revisioneACTIVE
della famiglia specificata.Una definizione di attività deve essere specificata quando si utilizza il controller di distribuzione di aggiornamento in sequenza (
ECS
).
Sistema operativo della piattaforma
platformFamily
-
Tipo: stringa
Obbligatorio: condizionale
Di default: Linux
Questo parametro è obbligatorio per i ECS servizi Amazon ospitati su Fargate.
Questo parametro viene ignorato per i ECS servizi Amazon ospitati su AmazonEC2.
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_FULL
eWINDOWS_SERVER_2022_CORE
.Il valore
platformFamily
per ogni processo specificato per il servizio deve corrispondere al valoreplatformFamily
del servizio. Ad esempio, se hai impostatoplatformFamily
suWINDOWS_SERVER_2019_FULL
, il valoreplatformFamily
per 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.AWS Le versioni della piattaforma Fargate vengono utilizzate per fare riferimento a un ambiente di runtime specifico per l'infrastruttura di attività Fargate. Quando specifichi la versione della piattaforma
LATEST
durante 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, consulta Versioni della piattaforma Fargate per Amazon ECS.Nota
Le versioni della piattaforma non sono specificate per le attività che utilizzano il tipo di EC2 avvio.
Cluster
cluster
-
Tipo: string
Campo obbligatorio: no
Il nome breve o completo Amazon Resource Name (ARN) del cluster su cui eseguire il servizio. Se non specifichi un cluster, viene utilizzato il cluster di
default
.
Nome servizio
serviceName
-
Tipo: stringa
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: stringa
Valori validi:
REPLICA
|DAEMON
Campo obbligatorio: no
La strategia di pianificazione da utilizzare. Se non viene specificata alcuna strategia di pianificazione, viene utilizzata la strategia
REPLICA
. Per ulteriori informazioni, consulta ECSServizi Amazon.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, consulta Strategia di replica. -
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, consulta Strategia 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.
Questo parametro è obbligatorio se si utilizza la strategia di pianificazione
REPLICA
. Se il servizio utilizza la strategia di pianificazioneDAEMON
, questo parametro è facoltativo.
Configurazione dell'implementazione
deploymentConfiguration
-
Tipo: oggetto
Campo obbligatorio: no
I parametri di distribuzione opzionali che determinano quante attività vengono eseguite durante l'implementazione e l'ordine di arresto e di avvio delle attività.
maximumPercent
-
Tipo: integer
Campo obbligatorio: no
Se il servizio utilizza il tipo di implementazione con aggiornamento in sequenza (
ECS
), il parametromaximumPercent
rappresenta un limite superiore sul numero di attività del servizio che sono consentite nello statoRUNNING
,STOPPING
oPENDING
durante un'implementazione. Viene espresso come percentuale deldesiredCount
arrotondato 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 serviziREPLICA
e ha undesiredCount
di quattro attività e un valoremaximumPercent
pari al 200%, il pianificatore può avviare 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 predefinitomaximumPercent
per un servizio che utilizza il pianificatore di serviziREPLICA
è del 200%.Se il servizio sta utilizzando il tipo di pianificatore di servizi
DAEMON
, il parametromaximumPercent
deve rimanere al 100%. Si tratta del valore di default.Il numero massimo di attività durante un'implementazione è uguale a
desiredCount
moltiplicato permaximumPercent
/100, arrotondato per difetto al numero intero più vicino.Se un servizio utilizza i tipi blu/green (
CODE_DEPLOY
) o diEXTERNAL
distribuzione e le attività che utilizzano il tipo di EC2 avvio, il valore percentuale massimo viene impostato sul valore predefinito. Il valore viene utilizzato per definire il limite massimo del numero di attività del servizio che rimangono nelloRUNNING
stato mentre le istanze del contenitore si trovano nello stato.DRAINING
Nota
Non è possibile specificare un
maximumPercent
valore personalizzato per un servizio che utilizza i tipi blue/green (CODE_DEPLOY
) oEXTERNAL
deployment e ha attività che utilizzano il EC2 tipo di avvio.Se le attività del servizio utilizzano il tipo di avvio Fargate, il valore della percentuale massima non viene utilizzato anche se viene restituito nella descrizione del servizio.
minimumHealthyPercent
-
Tipo: integer
Campo obbligatorio: no
Se il servizio utilizza il tipo di implementazione aggiornamento in sequenza (
ECS
), il parametrominimumHealthyPercent
rappresenta un limite inferiore sul numero di attività del servizio che devono restare nello statoRUNNING
durante un'implementazione. Viene espresso come percentuale deldesiredCount
arrotondato 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 undesiredCount
di quattro attività e unminimumHealthyPercent
del 50%, il pianificatore di servizi può arrestare due attività esistenti per liberare capacità del cluster prima di avviare due nuove attività.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
RUNNING
prima 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, consulta Controllo dello stato.
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%. IlminimumHealthyPercent
valore predefinito per un servizio che utilizza la pianificazione delDAEMON
servizio è 0% per AWS CLI AWS SDKs, il e APIs e 50% per. AWS Management ConsoleIl numero minimo di attività integre durante un'implementazione è uguale a
desiredCount
moltiplicato perminimumHealthyPercent
/100, arrotondato per eccesso al numero intero più vicino.Se un servizio utilizza il tipo blue/green (
CODE_DEPLOY
) oEXTERNAL
deployment e sta eseguendo attività che utilizzano il tipo di EC2 avvio, il valore della percentuale di integrità minima viene impostato sul valore predefinito. Il valore viene utilizzato per definire il limite inferiore al numero di attività del servizio che rimangono nelloRUNNING
stato mentre le istanze del contenitore si trovano nello stato.DRAINING
Nota
Non è possibile specificare un
maximumPercent
valore personalizzato per un servizio che utilizza i tipi blue/green (CODE_DEPLOY
) oEXTERNAL
deployment e ha attività che utilizzano il EC2 tipo di avvio.Se un servizio utilizza i tipi di implementazione blu/verde (
CODE_DEPLOY
) oEXTERNAL
ed esegue processi che utilizzano il tipo di avvio 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 distribuzione da utilizzare per il servizio. Se non viene specificato alcun controller di implementazione, viene utilizzato il controller
ECS
. Per ulteriori informazioni, consulta ECSServizi Amazon.type
-
Tipo: stringa
Valori validi:
ECS
|CODE_DEPLOY
|EXTERNAL
Obbligatorio: sì
Il tipo di controller di distribuzione da utilizzare. Esistono tre tipi di controller di distribuzione:
ECS
-
Il tipo di distribuzione aggiornamento in sequenza (
ECS
) prevede la sostituzione della versione attualmente in esecuzione del container con quella più recente. Il numero di contenitori che Amazon ECS aggiunge o rimuove dal servizio durante un aggiornamento continuo è controllato modificando il numero minimo e massimo di attività integre consentite durante la distribuzione di un servizio, come specificato nelladeploymentConfiguration. CODE_DEPLOY
-
Il tipo di distribuzione blue/green (
CODE_DEPLOY
) utilizza il modello di distribuzione blue/green powered by CodeDeploy, che consente di verificare una nuova implementazione di un servizio prima di inviargli traffico di produzione. EXTERNAL
-
Usa il tipo di distribuzione esterna quando desideri utilizzare qualsiasi controller di distribuzione di terze parti per il pieno controllo del processo di distribuzione di un ECS servizio Amazon.
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 utilizzi il tipo di avvio Fargate, i vincoli di posizionamento delle attività non sono supportati.
type
-
Tipo: string
Campo obbligatorio: no
Il tipo di vincolo. Utilizza
distinctInstance
per accertarti che ogni attività in un determinato gruppo sia in esecuzione su un'istanza di container diversa. UtilizzamemberOf
per limitare la selezione a un gruppo di candidati validi. Il valoredistinctInstance
non è 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, consulta Crea 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.
type
-
Tipo: stringa
Valori validi:
random
|spread
|binpack
Campo obbligatorio: no
Il tipo di strategia di posizionamento. La strategia di posizionamento
random
posiziona in modo casuale le attività sui candidati disponibili. La strategia di posizionamentospread
distribuisce le attività in modo uniforme tra i candidati disponibili in base al parametrofield
. La strategiabinpack
posiziona 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 sonocpu
ememory
. Per la strategia di posizionamentorandom
questo 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, consulta Etichettare le risorse Amazon ECS.
key
-
Tipo: stringa
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: stringa
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
|false
Campo obbligatorio: no
Speciifica se utilizzare i tag ECS gestiti da Amazon per le attività del servizio. Se non viene specificato alcun valore, il valore predefinito è
false
. Per ulteriori informazioni, consulta Utilizza i tag per la fatturazione. propagateTags
-
Tipo: stringa
Valori validi:
TASK_DEFINITION
|SERVICE
Campo 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'attività dopo la creazione del servizio o la creazione di un'attività, utilizza l'
TagResource
APIazione.
Configurazione della 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
awsvpc
per ricevere la propria interfaccia di rete elastica e non è supportato per altre modalità. Con il tipo di avvio Fargate, la modalità di reteawsvpc
è obbligatoria. Per ulteriori informazioni sul networking per il tipo di EC2 lancio di Amazon, consultaOpzioni di Amazon ECS Task Networking per il tipo di EC2 avvio. Per ulteriori informazioni sulla rete per il tipo di lancio Fargate, vedere Fargate Task Networking.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 si specifica un gruppo di sicurezza, VPC viene utilizzato il gruppo di sicurezza predefinito per. Esiste un limite di cinque gruppi di sicurezza che possono essere specificati in base a
awsvpcConfiguration
. assignPublicIP
-
Tipo: stringa
Valori validi:
ENABLED
|DISABLED
Campo 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, in cui lo strumento di pianificazione dei ECS servizi Amazon deve ignorare i controlli di integrità degli obiettivi Elastic Load Balancing, i controlli dello stato dei container e i controlli di integrità di Route 53 non integri dopo che un'attività è entrata in uno stato.
RUNNING
Ciò è valido solo se il tuo servizio è configurato per utilizzare un load balancer. Se il servizio ha definito un load balancer e non si specifica un valore del periodo di tolleranza del controllo integrità, viene utilizzato il valore predefinito di0
.Se le attività del servizio impiegano un po' di tempo per avviarsi e rispondere ai controlli di integrità, puoi specificare un periodo di tolleranza per il controllo dello stato di integrità fino a 2.147.483.647 secondi, durante il quale lo scheduler del servizio ignora lo stato del controllo. ECS Questo periodo di prova può impedire al ECS service scheduler di contrassegnare le attività come non integre e di interromperle prima che abbiano il tempo di completarsi.
Se non utilizzi un Elastic Load Balancing, ti consigliamo di utilizzare
startPeriod
nei parametri di controllo dell'integrità di definizione del processo. Per ulteriori informazioni, consulta Determinare lo stato delle ECS attività di Amazon utilizzando i controlli dello stato dei container. 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.
Dopo aver creato un servizio, la configurazione del load balancer non può essere modificata dalla AWS Management Console. Puoi utilizzare AWS Copilot AWS CLI o SDK modificare la configurazione del bilanciamento del carico solo per il controller di distribuzione
ECS
mobile, non AWS CodeDeploy blu/verde o esterno. AWS CloudFormation Quando aggiungi, aggiorni o rimuovi una configurazione di load balancer, Amazon ECS avvia una nuova distribuzione con la configurazione Elastic Load Balancing aggiornata. 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 UpdateServiceAmazon Elastic Container Service API Reference.Per Application Load Balancer e Network Load Balancer, questo oggetto deve contenere il gruppo target del load balancerARN, il nome del contenitore (come appare in una definizione del contenitore) e la porta del contenitore a cui 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 completo di Amazon Resource Name (ARN) del gruppo target Elastic Load Balancing associato a un servizio.
Un gruppo target ARN viene specificato solo quando si 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
containerPort
nella definizione di attività utilizzata dalle attività nel servizio. Per le attività che utilizzano il tipo di EC2 avvio, l'istanza del contenitore deve consentire il traffico in entrata sulla mappaturahostPort
delle porte.
role
-
Tipo: string
Campo obbligatorio: no
Il nome breve o completo ARN del IAM ruolo che consente ECS ad Amazon di effettuare chiamate al tuo sistema di bilanciamento del carico 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
.Se il ruolo specificato ha un percorso diverso da
/
, devi specificare il ruolo completo ARN (questa opzione è consigliata) o anteporre il percorso al nome del ruolo. Ad esempio, se un ruolo con il nomebar
ha il percorso/foo/
, devi specificare/foo/bar
come nome del ruolo. Per ulteriori informazioni, consulta Friendly Names and Paths nella Guida per l'IAMutente.Importante
Se il tuo account ha già creato il ruolo ECS collegato ai servizi Amazon, quel 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, consulta Utilizzo 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.
Per ulteriori informazioni, consulta Usa Service Connect per connettere ECS i servizi Amazon 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 completo Amazon Resource Name (ARN) dello spazio dei AWS Cloud Map nomi da utilizzare con Service Connect. Lo spazio dei nomi deve essere lo Regione AWS stesso del ECS servizio e del cluster Amazon. Il tipo di spazio dei nomi non influisce su Service Connect. Per ulteriori informazioni in merito AWS Cloud Map, consulta Working with Services nella AWS Cloud Map Developer Guide.
services
-
Tipo: matrice di oggetti
Campo obbligatorio: no
Un array degli oggetti del servizio Service Connect. Si tratta di nomi e alias (noti anche come endpoint) utilizzati da altri ECS servizi Amazon per connettersi a questo servizio.
Questo campo non è obbligatorio per un ECS servizio Amazon «client» che è membro di un namespace solo per connettersi ad altri servizi all'interno dello spazio dei nomi. 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 dell'attività, assegna un nome al AWS Cloud Map servizio e una serie di alias (noti anche come endpoint) e porte alle applicazioni client per fare riferimento a questo servizio.
portName
-
Tipo: stringa
Campo obbligatorio: sì
portName
Deve corrispondere a unoname
portMappings
di tutti i contenitori nella definizione dell'attività di questo ECS servizio Amazon. discoveryName
-
Tipo: string
Campo obbligatorio: no
discoveryName
È il nome del nuovo AWS Cloud Map servizio che Amazon ECS crea per questo ECS servizio Amazon. Deve essere univoco nello spazio dei nomi 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 DNS nome e un numero di porta che altri ECS servizi Amazon («client») possono utilizzare per connettersi a questo servizio.
Ogni combinazione di nome e porta deve essere univoca nello spazio dei nomi.
Questi nomi sono configurati all'interno di ogni attività del servizio client, non in AWS Cloud Map. DNSle richieste per risolvere questi nomi non escono dall'attività e non vengono conteggiate ai fini della quota di DNS richieste al secondo per elastic network interface.
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 spazio dei nomi.
Per evitare di modificare le applicazioni nei ECS servizi client Amazon, impostala sulla 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'DNSetichetta valida.Se questo campo non viene specificato, il valore predefinito sarà
discoveryName.namespace
. Se il valorediscoveryName
non viene specificato, viene utilizzato il valoreportName
della definizione dell'attività.Per evitare di modificare le tue applicazioni nei ECS servizi client Amazon, imposta questo nome con lo stesso nome utilizzato dall'applicazione client per impostazione predefinita. Ad esempio, alcuni nomi comuni sono
database
,db
o il nome minuscolo di un database, ad esempiomysql
oredis
.
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 aggirare il proxy per il traffico sul numero di porta specificato nel nome
portMapping
nella definizione dell'attività di questa applicazione, quindi utilizzalo nei tuoi gruppi di VPC sicurezza Amazon per consentire il traffico verso il proxy per questo ECS servizio Amazon.In modalità
awsvpc
, il valore predefinito è il numero di porta del container specificato nellaportMapping
nella 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
logConfiguration
parametro nel contenitore proxy Service Connect in ogni attività di questo ECS servizio Amazon. Il container del proxy non è specificato nella definizione di attività.Ti consigliamo di utilizzare la stessa configurazione di log dei contenitori delle applicazioni della definizione delle attività per questo ECS servizio Amazon. Infatti FireLens, questa è la configurazione di registro del contenitore dell'applicazione. Non è il contenitore del FireLens log router che utilizza l'immagine del
fluentd
contenitorefluent-bit
or.
serviceRegistries
-
Tipo: matrice di oggetti
Campo obbligatorio: no
I dettagli della configurazione dell'individuazione per il tuo servizio. Per ulteriori informazioni, consulta Usa Service Discovery per connettere ECS i servizi Amazon con DNS i nomi.
registryArn
-
Tipo: string
Campo obbligatorio: no
L'Amazon Resource Name (ARN) del registro dei servizi. Il registro dei servizi attualmente supportato è AWS Cloud Map. Per ulteriori informazioni, consulta Utilizzo dei servizi nella Guida per gli sviluppatori di AWS Cloud Map .
port
-
Tipo: integer
Campo obbligatorio: no
Il valore della porta utilizzato se il servizio di individuazione dei servizi ha specificato un SRV record. Questo campo è obbligatorio se vengono utilizzati sia la modalità di
awsvpc
rete che i SRV record. 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
bridge
ohost
, devi specificare una combinazione dicontainerName
econtainerPort
nella definizione di attività. Se la definizione di attività specificata dall'attività di servizio utilizza la modalità diawsvpc
rete e viene utilizzato un SRV DNS record di tipo, è necessario specificare unacontainerPort
combinazionecontainerName
e o unport
valore, 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
bridge
ohost
, devi specificare una combinazione dicontainerName
econtainerPort
nella definizione di attività. Se la definizione di attività specificata dall'attività di servizio utilizza la modalità diawsvpc
rete e viene utilizzato un SRV DNS record di tipo, è necessario specificare unacontainerPort
combinazionecontainerName
e o unport
valore, 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 ASCII caratteri.
Configurazioni del volume
volumeConfigurations
-
Tipo: oggetto
Campo obbligatorio: no
La configurazione che verrà utilizzata per creare volumi per le attività gestite dal servizio. Viene creato un volume per ogni attività del servizio. Solo i volumi contrassegnati come
configuredAtLaunch
nella definizione dell'attività possono essere configurati utilizzando questo oggetto. Questo oggetto è necessario per collegare i volumi di EBS dati Amazon alle attività gestite da un servizio. Per ulteriori informazioni, consulta Amazon EBS Volumes.name
-
Tipo: stringa
Campo obbligatorio: sì
Il nome di un volume configurato durante la creazione o l'aggiornamento di un servizio. Sono consentite fino a 255 lettere (maiuscole e minuscole), numeri, caratteri di sottolineatura (
_
) e trattini ().-
Questo valore deve corrispondere al nome del volume specificato nella definizione dell'attività. managedEBSVolume
-
Tipo: oggetto
Campo obbligatorio: no
La configurazione del volume per EBS i volumi Amazon collegati alle attività gestite da un servizio quando un servizio viene creato o aggiornato.
encrypted
-
Tipo: Booleano
Campo obbligatorio: no
Valori validi:
true
|false
Speciifica se il EBS volume Amazon collegato alle attività gestite da un servizio verrà crittografato. Se hai attivato la EBS crittografia Amazon per impostazione predefinita per il tuo account, questa impostazione verrà sostituita e il volume verrà crittografato. Per ulteriori informazioni sulla EBS crittografia predefinita, consulta Encryption by default nella Amazon EC2 User Guide.
kmsKeyId
-
Tipo: string
Campo obbligatorio: no
L'identificatore della chiave AWS Key Management Service (AWS KMS) da utilizzare per la EBS crittografia Amazon. Se questo parametro non è specificato, EBS viene utilizzato il tuo AWS KMS key per Amazon. Se
KmsKeyId
viene specificata, lo stato crittografato deve esseretrue
.Puoi specificare la KMS chiave utilizzando uno dei seguenti metodi:
-
ID chiave: ad esempio,
1234abcd-12ab-34cd-56ef-1234567890ab
. -
Alias chiave: ad esempio,
alias/ExampleAlias
. -
Chiave ARN: ad esempio,
arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab
. -
Alias ARN: ad esempio,
arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias
.
Importante
AWS autentica la chiave in modo asincrono. KMS Pertanto, se si specifica un ID o ARN un alias non valido, l'azione può sembrare riuscita, ma alla fine non riesce. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi ai EBS volumi allegati di Amazon.
-
volumeType
-
Tipo: string
Campo obbligatorio: no
Valori validi:
gp2
gp3
|io1
|io2
|sc1
|st1
|standard
Il tipo di EBS volume. Per ulteriori informazioni sui tipi di volume, consulta i tipi di EBS volume Amazon nella Amazon EC2 User Guide. Il tipo di volume di default è
gp3
.Nota
Il tipo di
standard
volume non è supportato per i EBS volumi Amazon configurati per il collegamento alle attività di Fargate. sizeInGiB
-
Tipo: integer
Campo obbligatorio: no
Intervallo valido: numeri interi compresi tra 1 e 16.384
La dimensione del EBS volume in gibibyte (GiB). Se non si fornisce un ID snapshot per configurare un volume per l'allegato, è necessario fornire un valore di dimensione. Se si configura un volume per l'allegato utilizzando un'istantanea, il valore predefinito è la dimensione dell'istantanea. È quindi possibile specificare una dimensione maggiore o uguale alla dimensione dell'istantanea.
Per
gp2
i tipi digp3
volume, l'intervallo valido è 1-16.384.Per i tipi
io1
diio2
volume, l'intervallo valido è 4-16.384.Per i tipi
st1
disc1
volume, l'intervallo valido è 125-16.384.Per il tipo di
standard
volume, l'intervallo valido è 1-1.024. snapshotId
-
Tipo: string
Campo obbligatorio: no
L'ID dell'istantanea di un EBS volume esistente utilizzato per creare un nuovo volume allegato all'attività. ECS
iops
-
Tipo: integer
Campo obbligatorio: no
Il numero di operazioni di I/O al secondo ()IOPS. Per
gp3
io1
, eio2
volumi, rappresenta il numero di IOPS quelli forniti per il volume. Pergp2
i volumi, questo valore rappresenta le prestazioni di base del volume e la velocità con cui il volume accumula crediti di I/O per il bursting. Questo parametro è obbligatorio per i volumiio1
eio2
. Questo parametro non è supportato pergp2
,st1
,sc1
o volumi.standard
Per
gp3
i volumi, l'intervallo di valori valido è compreso tra 3.000 e 16.000.Per
io1
i volumi, l'intervallo di valori valido è compreso tra 100 e 64.000.Per
io2
i volumi, l'intervallo di valori valido è compreso tra 100 e 64.000. throughput
-
Tipo: integer
Campo obbligatorio: no
La velocità effettiva necessaria per il provisioning dei volumi collegati alle attività gestite da un servizio.
Importante
Questo parametro è supportato solo per i
gp3
volumi. roleArn
-
Tipo: stringa
Campo obbligatorio: sì
Il ruolo Amazon Resource ARN (ARN) dell'infrastruttura AWS Identity and Access Management (IAM) che fornisce ECS le autorizzazioni Amazon per gestire le EBS risorse Amazon per le tue attività. Per ulteriori informazioni, consulta IAMRuolo ECS dell'infrastruttura Amazon.
tagSpecifications
-
Tipo: oggetto
Campo obbligatorio: no
La specifica per i tag da applicare ai volumi Amazon EBS gestiti dal servizio.
resourceType
-
Tipo: stringa
Campo obbligatorio: sì
Valori validi:
volume
Il tipo di risorsa cui applicare tag al momento della creazione.
-
Tipo: matrice di oggetti
Campo obbligatorio: no
I metadati che applichi ai volumi per aiutarti a classificarli e organizzarli. Ogni tag è composto da una chiave e da un valore opzionale, entrambi definiti dall'utente.
AmazonECSCreated
eAmazonECSManaged
sono tag riservati aggiunti da ECS Amazon per tuo conto, quindi puoi specificare un massimo di 48 tag personalizzati. Quando un volume viene eliminato, vengono eliminati anche i tag. Per ulteriori informazioni, consulta Etichettare le risorse Amazon ECS.key
-
Tipo: stringa
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: stringa
Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.
Campo obbligatorio: no
La parte opzionale di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).
propagateTags
-
Tipo: stringa
Valori validi:
TASK_DEFINITION
|SERVICE
|NONE
Campo obbligatorio: no
Speciifica se copiare i tag dalla definizione dell'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
Il 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 un'istantanea, è necessario specificare lo stesso tipo di file system utilizzato dal volume al momento della creazione dell'istantanea. Se il tipo di file system non corrisponde, l'operazione non verrà avviata. L'impostazione predefinita per i volumi collegati alle attività di Linux è.
XFS
Modello di definizione del servizio
Di seguito viene illustrata la JSON rappresentazione di una definizione ECS di servizio Amazon.
Tipo di EC2 lancio di Amazon
{ "cluster": "", "serviceName": "", "taskDefinition": "", "loadBalancers": [ { "targetGroupArn": "", "loadBalancerName": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "desiredCount": 0, "clientToken": "", "launchType": "EC2", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "role": "", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 0, "minimumHealthyPercent": 0, "alarms": { "alarmNames": [ "" ], "enable": true, "rollback": true } }, "placementConstraints": [ { "type": "distinctInstance", "expression": "" } ], "placementStrategy": [ { "type": "binpack", "field": "" } ], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION", "enableExecuteCommand": true, "serviceConnectConfiguration": { "enabled": true, "namespace": "", "services": [ { "portName": "", "discoveryName": "", "clientAliases": [ { "port": 0, "dnsName": "" } ], "ingressPortOverride": 0 } ], "logConfiguration": { "logDriver": "journald", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] } }, "volumeConfigurations": [ { "name": "", "managedEBSVolume": { "encrypted": true, "kmsKeyId": "", "volumeType": "", "sizeInGiB": 0, "snapshotId": "", "iops": 0, "throughput": 0, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "", "value": "" } ], "propagateTags": "NONE" } ], "roleArn": "", "filesystemType": "" } } ] }
Tipo di avvio di Fargate
{ "cluster": "", "serviceName": "", "taskDefinition": "", "loadBalancers": [ { "targetGroupArn": "", "loadBalancerName": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "desiredCount": 0, "clientToken": "", "launchType": "FARGATE", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "platformFamily": "", "role": "", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 0, "minimumHealthyPercent": 0, "alarms": { "alarmNames": [ "" ], "enable": true, "rollback": true } }, "placementStrategy": [ { "type": "binpack", "field": "" } ], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION", "enableExecuteCommand": true, "serviceConnectConfiguration": { "enabled": true, "namespace": "", "services": [ { "portName": "", "discoveryName": "", "clientAliases": [ { "port": 0, "dnsName": "" } ], "ingressPortOverride": 0 } ], "logConfiguration": { "logDriver": "journald", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] } }, "volumeConfigurations": [ { "name": "", "managedEBSVolume": { "encrypted": true, "kmsKeyId": "", "volumeType": "", "sizeInGiB": 0, "snapshotId": "", "iops": 0, "throughput": 0, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "", "value": "" } ], "propagateTags": "NONE" } ], "roleArn": "", "filesystemType": "" } } ] }
È possibile creare questo modello di definizione del servizio utilizzando il comando AWS CLI seguente.
aws ecs create-service --generate-cli-skeleton