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 di definizione delle attività di Amazon ECS
Le definizioni delle attività sono suddivise in parti separate: la famiglia di attività, il ruolo dell'attività AWS Identity and Access Management (IAM), la modalità di rete, le definizioni dei contenitori, i volumi, i vincoli di posizionamento delle attività e i tipi di avvio. Le definizioni della famiglia e del container sono richieste in una definizione di attività. Al contrario, il ruolo dell'attività, la modalità di rete, i volumi, i vincoli di posizionamento delle attività e il tipo di avvio sono facoltativi.
Puoi utilizzare questi parametri in un file JSON per configurare la definizione del processo.
Di seguito sono riportate descrizioni più dettagliate per ogni parametro di definizione di attività.
Family
family
-
Tipo: stringa
Campo obbligatorio: sì
Quando registri una definizione di attività, le assegni una famiglia, ovvero una sorta di nome per più versioni della definizione di attività, specificando un numero di revisione. Alla prima definizione di attività registrata in una determinata famiglia viene assegnato il numero di revisione 1 e a qualsiasi definizione di attività registrata successivamente viene assegnato un numero di revisione sequenziale.
Tipi di avvio
Quando registri una definizione di attività, puoi specificare un tipo di avvio che Amazon ECS deve convalidare per la definizione di attività. Se la definizione di attività non viene convalidata in base alle compatibilità specificate, viene restituita un'eccezione client. Per ulteriori informazioni, consulta Tipi di avvio di Amazon ECS.
Il parametro seguente è permesso in una definizione di attività.
requiresCompatibilities
-
Tipo: array di stringhe
Campo obbligatorio: no
Valori validi:
EC2
|FARGATE
|EXTERNAL
Il tipo di avvio per il quale è stata convalidata la definizione di attività. In questo modo viene avviato un controllo per garantire che tutti i parametri utilizzati nella definizione di attività soddisfino i requisiti del tipo di avvio.
Ruolo del processo
taskRoleArn
-
▬Tipo: stringa
Campo obbligatorio: no
Quando registri una definizione di attività, puoi specificare un ruolo di processo per un ruolo IAM che conceda ai container nel processo l'autorizzazione per chiamare le API AWS specificate nelle relative policy associate per tuo conto. Per ulteriori informazioni, consulta Ruolo IAM dell'attività Amazon ECS.
All'avvio dell'AMI Windows Server ottimizzata per Amazon ECS, i ruoli IAM per le attività su Windows richiedono che l'opzione
-EnableTaskIAMRole
sia impostata. I container devono anche eseguire un codice di configurazione per utilizzare la funzionalità. Per ulteriori informazioni, consulta Configurazione aggiuntiva dell'istanza Windows di Amazon EC2.
Ruolo per l'esecuzione del processo
executionRoleArn
-
▬Tipo: stringa
Obbligatorio: condizionale
L'Amazon Resource Name (ARN) del ruolo di esecuzione dell'attività che concede all'agente container Amazon ECS l'autorizzazione a effettuare chiamate AWS API per tuo conto.
Nota
Il ruolo IAM di esecuzione del processo è richiesto in base ai requisiti del processo. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.
Modalità di rete
networkMode
-
▬Tipo: stringa
Campo obbligatorio: no
La modalità di rete Docker da utilizzare per i container nel processo. Per le attività Amazon ECS ospitate su istanze Linux di Amazon EC2, i valori validi sono
none
,bridge
,awsvpc
ehost
. Se non viene specificata alcuna modalità di rete, la modalità di rete di default èbridge
. Per i processi Amazon ECS ospitati su istanze Windows di Amazon EC2, i valori validi sonodefault
eawsvpc
. Se non viene specificata alcuna modalità di rete, viene utilizzata la modalità di retedefault
. Per le attività di Amazon ECS ospitate su Fargate, è richiestaawsvpc
la modalità di rete.Se la modalità di rete è impostata su
none
, i container dell'attività non dispongono di connettività esterna e non è possibile specificare le mappature delle porte nella definizione del container.Se la modalità di rete è
bridge
, l'attività utilizza la rete virtuale integrata di Docker su Linux che viene eseguita all'interno di ogni istanza Amazon EC2 che ospita l'attività. La rete virtuale integrata su Linux utilizza il driver di retebridge
Docker.Se la modalità di rete è
host
, l'attività utilizza la rete dell'host che ignora la rete virtuale integrata di Docker e mappa le porte del container direttamente all'interfaccia di rete elastica (ENI) dell'istanza Amazon EC2 che ospita l'attività. Le mappature dinamiche delle porte non possono essere utilizzate in questa modalità di rete. Un container in una definizione di attività che utilizza questa modalità deve specificare un numero dihostPort
specifico. Un numero di porta su un host non può essere utilizzato da più attività. Di conseguenza, non sarà possibile eseguire più attività con la stessa definizione di attività su una singola istanza Amazon EC2.Importante
Quando si eseguono attività che utilizzano la modalità di rete
host
, per una maggiore sicurezza, non eseguire container utilizzando l'utente root (UID 0). Come best practice per la sicurezza, utilizza sempre un utente non root.Per i tipi di avvio di Amazon EC2, se la modalità di rete è
awsvpc
, all'attività viene assegnata un'interfaccia di rete elastica ed è necessario specificare aNetworkConfiguration
quando si crea un servizio o si esegue un'attività con la definizione dell'attività. Per ulteriori informazioni, consulta Opzioni di task networking di Amazon ECS per il tipo di lancio EC2.Se la modalità di rete è
default
, l'attività utilizza la rete virtuale integrata di Docker su Windows che viene eseguita all'interno di ogni istanza Amazon EC2 che ospita l'attività. La rete virtuale integrata su Windows utilizza il driver di retenat
Docker.Per i tipi di avvio di Fargate, quando la modalità di rete è attiva
awsvpc
, all'operazione viene assegnata un'interfaccia di rete elastica ed è necessario specificare aNetworkConfiguration
quando si crea un servizio o si esegue un'attività con la definizione dell'attività. Per ulteriori informazioni, vedere Fargate Task Networking. La modalità di reteawsvpc
offre le massime prestazioni di rete per i container perché utilizza lo stack di rete di Amazon EC2. Le porte dei container esposte vengono mappate direttamente alla porta dell'interfaccia di rete elastica collegata. Pertanto, non puoi utilizzare le mappature delle porte host dinamiche.Le modalità di rete
host
eawsvpc
offrono le massime prestazioni di rete per i container perché utilizzano lo stack di rete di Amazon EC2. Con le modalità di retehost
eawsvpc
, le porte dei container esposte sono mappate direttamente alla porta host corrispondente (per la modalità di retehost
) o alla porta dell'interfaccia di rete elastica collegata (per la modalità di reteawsvpc
). Pertanto, non puoi utilizzare le mappature delle porte host dinamiche.Con il tipo di avvio Fargate, la modalità di rete
awsvpc
è obbligatoria. Se utilizzi il tipo di avvio EC2, la modalità di rete consentita dipende dal sistema operativo dell'istanza EC2 sottostante. Con Linux, può essere utilizzata qualsiasi modalità di rete. Se Windows, possono essere utilizzate le modalitàdefault
eawsvpc
.
Piattaforma di runtime
operatingSystemFamily
-
▬Tipo: stringa
Obbligatorio: condizionale
Di default: LINUX
Questo parametro è richiesto per le attività Amazon ECS ospitate su Fargate.
Quando registri una definizione di attività, devi specificare la famiglia del sistema operativo.
I valori validi per le attività Amazon ECS ospitate su Fargate sono
LINUX
,WINDOWS_SERVER_2019_FULL
WINDOWS_SERVER_2019_CORE
,WINDOWS_SERVER_2022_FULL
eWINDOWS_SERVER_2022_CORE
.I valori validi per i processi Amazon ECS ospitati su EC2 sono
LINUX
,WINDOWS_SERVER_2022_CORE
,WINDOWS_SERVER_2022_FULL
,WINDOWS_SERVER_2019_FULL
eWINDOWS_SERVER_2019_CORE
,WINDOWS_SERVER_2016_FULL
,WINDOWS_SERVER_2004_CORE
eWINDOWS_SERVER_20H2_CORE
.Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.
Quando una definizione di attività fa parte di un servizio, questo valore deve corrispondere al valore
platformFamily
del servizio. cpuArchitecture
-
▬Tipo: stringa
Obbligatorio: condizionale
Valore di default: X86_64
Questo parametro è richiesto per i processi Amazon ECS ospitati su Fargate. Se il parametro viene lasciato come
null
, il valore predefinito viene assegnato automaticamente all'avvio di un'attività ospitata su Fargate.Quando registri una definizione di attività, devi specificare l'architettura della CPU. I valori validi sono
X86_64
eARM64
.Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.
Quando si dispone di processi Linux per il tipo di avvio Fargate o per il tipo di avvio EC2, puoi impostare il valore su
ARM64
. Per ulteriori informazioni, consulta Definizioni delle attività di Amazon ECS per carichi di lavoro ARM a 64 bit.
Dimensioni processo
Quando registri una definizione di attività, puoi specificare la quantità totale di CPU e memoria utilizzata per l'attività. Questo valore è separato dai valori cpu
e memory
a livello di definizione del container. Per le attività ospitate su istanze Amazon EC2, questi campi sono facoltativi. Per le attività ospitate su Fargate (sia Linux sia Windows), questi campi sono obbligatori e sono supportati valori specifici per cpu
e memory
.
Nota
I parametri della CPU e della memoria a livello di processo vengono ignorati per i container Windows. Ti consigliamo di specificare risorse a livello di container per i container Windows.
Il parametro seguente è permesso in una definizione di attività:
cpu
-
▬Tipo: stringa
Obbligatorio: condizionale
Nota
Questo parametro non è supportato per i container Windows.
Il limite rigido di unità CPU da presentare per il processo. È possibile specificare i valori della CPU nel file JSON come stringa in unità CPU o CPU virtuali (vCPU). Ad esempio, è possibile specificare un valore CPU come
1024
nelle unità CPU o1 vCPU
nelle vCPU. Quando la definizione di attività è registrata, un valore vCPU viene convertito in un numero intero che indica le unità CPU.Per le attività in esecuzione su istanze Amazon EC2 o esterne, questo campo è facoltativo. Se il cluster non dispone di istanze di container registrate con le unità CPU richieste disponibili, l'attività non va a buon fine. I valori supportati per le attività eseguite su istanze EC2 o esterne sono compresi tra
0.125
vCPU e10
vCPU.Per le attività in esecuzione su Fargate (sia container Linux che Windows), questo campo è obbligatorio ed è necessario utilizzare uno dei seguenti valori che determina l'intervallo di valori validi per il parametro
memory
. La tabella seguente illustra le combinazioni valide di CPU e memoria a livello di attività.Valore CPU
Valore memoria
Sistemi operativi supportati per AWS Fargate
256 (0,25 vCPU)
512 MiB, 1 GB, 2 GB
Linux
512 (0,5 vCPU)
1 GB, 2 GB, 3 GB, 4 GB
Linux
1024 (1 vCPU)
2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB
Linux, Windows
2048 (2 vCPU)
Tra 4 GB e 16 GB in incrementi di 1 GB
Linux, Windows
4096 (4 vCPU)
Tra 8 GB e 30 GB in incrementi di 1 GB
Linux, Windows
8192 (8 vCPU)
Nota
Questa opzione richiede la piattaforma Linux
1.4.0
o successiva.Tra 16 GB e 60 GB in incrementi di 4 GB
Linux
16384 (16vCPU)
Nota
Questa opzione richiede la piattaforma Linux
1.4.0
o successiva.Tra 32 GB e 120 GB in incrementi di 8 GB
Linux
memory
-
▬Tipo: stringa
Obbligatorio: condizionale
Nota
Questo parametro non è supportato per i container Windows.
Il limite rigido di memoria da presentare all'attività. È possibile specificare i valori di memoria nella definizione dell'attività come stringa in mebibyte (MiB) o gigabyte (GB). Ad esempio, è possibile specificare un valore di memoria
3072
in MiB o3 GB
in GB. Quando la definizione di attività è registrata, un valore GB viene convertito in un numero intero che indica il MiB.Per le attività ospitate su istanze Amazon EC2, questo campo è facoltativo e può essere utilizzato qualsiasi valore. Se viene specificato un valore di memoria a livello di attività, il valore di memoria a livello di container è facoltativo. Se il cluster non dispone di istanze di container registrate con la memoria richiesta disponibile, l'attività non va a buon fine. Puoi ottimizzare l'utilizzo delle risorse assegnando alle attività quanta più memoria possibile per un determinato tipo di istanza. Per ulteriori informazioni, consulta Riservare la memoria delle istanze del contenitore Amazon ECS Linux .
Per i processi ospitati su Fargate (sia container Linux che Windows), questo campo è obbligatorio e devi utilizzare uno dei seguenti valori che determina l'intervallo di valori validi per il parametro
cpu
:Valore di memoria (in MiB, con valore equivalente approssimativo in GB)
Valore CPU
Sistemi operativi supportati per Fargate
512 (0,5 GB), 1024 (1 GB), 2048 (2 GB)
256 (0,25 vCPU)
Linux
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
512 (0,5 vCPU)
Linux
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
1024 (1 vCPU)
Linux, Windows
Tra 4096 (4 GB) e 16384 (16 GB) in incrementi di 1024 (1 GB)
2048 (2 vCPU)
Linux, Windows
Tra 8192 (8 GB) e 30720 (30 GB) in incrementi di 1024 (1 GB)
4096 (4 vCPU)
Linux, Windows
Tra 16 GB e 60 GB in incrementi di 4 GB
Nota
Questa opzione richiede la piattaforma Linux
1.4.0
o successiva.8192 (8 vCPU)
Linux
Tra 32 GB e 120 GB in incrementi di 8 GB
Nota
Questa opzione richiede la piattaforma Linux
1.4.0
o successiva.16384 (16vCPU)
Linux
Definizioni del container
Quando registri una definizione di attività, devi specificare un elenco di definizioni del container che vengono trasmesse al daemon Docker in un'istanza di container. I seguenti parametri sono consentiti in una definizione del container.
Argomenti
Parametri standard di definizione del container
I seguenti parametri di definizione di attività sono obbligatori o utilizzati nella maggior parte delle definizioni del container.
Nome
name
-
Tipo: stringa
Campo obbligatorio: sì
Il nome di un container. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. Se colleghi più container in una definizione di attività, il parametro
name
di uno dei container può essere inserito nel parametrolinks
di un altro container. Questo per collegare i container.
Immagine
image
-
Tipo: stringa
Campo obbligatorio: sì
L'immagine utilizzata per avviare un container. Questa stringa viene trasmessa direttamente al daemon Docker. Per impostazione predefinita, le immagini nel registro Docker Hub sono disponibili. Puoi anche specificare altri repository con
orepository-url
/image
:tag
. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole); sono consentiti numeri, trattini, caratteri di sottolineatura, due punti, punti, barre e cancelletti. Questo parametro è mappato arepository-url
/image
@digest
Image
nella sezione Crea un containerdell'API remota Docker e al parametro IMAGE
di docker run. -
Quando viene avviato un nuovo processo, l'agente del container Amazon ECS esegue il pull della versione più recente dell'immagine e del tag specificati per il container da utilizzare. Tuttavia, gli aggiornamenti successivi a un'immagine del repository non vengono propagate alle attività già in esecuzione.
-
Le immagini nei registri privati sono supportate. Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
-
Le immagini nei repository Amazon ECR possono essere specificate utilizzando la convenzione di denominazione
registry/repository:tag
oregistry/repository@digest
, ad esempio,aws_account_id
.dkr.ecr.region
.amazonaws.com/
omy-web-app
:latest
aws_account_id
.dkr.ecr.region
.amazonaws.com/
.my-web-app
@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE
-
Le immagini in repository ufficiali su Docker Hub utilizzano un singolo nome (ad esempio
ubuntu
omongo
). -
Le immagini in altri repository su Docker Hub vengono qualificate con un nome di organizzazione (ad esempio,
amazon/amazon-ecs-agent
). -
Le immagini in altri archivi online vengono ulteriormente qualificate da un nome di dominio (ad esempi,
quay.io/assemblyline/ubuntu
).
-
Memoria
memory
-
Tipo: integer
Campo obbligatorio: no
La quantità (in MiB) della memoria da presentare al container. Se il container tenta di superare la memoria specificata qui, viene terminato. La quantità totale di memoria prenotata per tutti i container all'interno di un processo deve essere inferiore al valore
memory
del processo, se specificato. Questo parametro è mappato aMemory
nella sezione Create a containerdi Docker Remote API e l'opzione --memory
a docker run. Se utilizzi il tipo di avvio Fargate, questo parametro è facoltativo.
Se utilizzi il tipo di avvio EC2, devi specificare un valore di memoria a livello di attività o un valore di memoria a livello di container. Se specifichi sia un valore di
memory
a livello di container che un valore dimemoryReservation
,memory
deve essere maggiore del valore dimemoryReservation
. Se specifichimemoryReservation
, tale valore viene sottratto dalle risorse di memoria disponibili per l'istanza di container in cui il container viene posizionato. in caso contrario, viene utilizzato il valorememory
.Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.
Nota
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta Riservare la memoria delle istanze del contenitore Amazon ECS Linux .
memoryReservation
-
Tipo: integer
Campo obbligatorio: no
Il limite flessibile (in MiB) della memoria da prenotare per il container. Quando la memoria di sistema è in conflitto, Docker tenta di conservare la memoria del container entro questo limite flessibile. Tuttavia, il container può utilizzare una quantità maggiore di memoria, se necessario. Il container può utilizzare memoria fino al limite rigido specificato con il parametro
memory
(se applicabile) o tutta la memoria disponibile sull'istanza di container, a seconda di quale evento si verifica prima. Questo parametro è mappato aMemoryReservation
nella sezione Create a containerdi Docker Remote API e l'opzione --memory-reservation
a docker run. Se non viene specificato un valore di memoria a livello di attività, è necessario specificare un numero intero diverso da zero per uno o entrambi i codici
memory
omemoryReservation
in una definizione del container. Se specifichi entrambe,memory
deve essere superiore amemoryReservation
. Se specifichimemoryReservation
, tale valore viene sottratto dalle risorse di memoria disponibili per l'istanza di container in cui il container viene posizionato. in caso contrario, viene utilizzato il valorememory
.Ad esempio, supponiamo che il container normalmente utilizza 128 MiB di memoria, ma con picchi occasionali di 256 MiB di memoria per brevi periodi di tempo. Puoi impostare un valore di
memoryReservation
di 128 MiB e un limite rigidomemory
di 300 MiB. Questa configurazione consente al container di riservare 128 MiB di memoria solo dalle risorse restanti nell'istanza di container. Allo stesso tempo, questa configurazione consente al container di utilizzare più risorse di memoria quando necessario.Nota
Questo parametro non è supportato per i container Windows.
Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.
Nota
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta Riservare la memoria delle istanze del contenitore Amazon ECS Linux .
Mappature di porte
portMappings
-
Tipo: array di oggetti
Campo obbligatorio: no
La mappatura delle porte consente ai container di accedere alle porte nell'istanza di container dell'host per inviare o ricevere traffico.
Per le definizioni di attività che utilizzano la modalità di rete
awsvpc
, specifica solo il parametrocontainerPort
. Il valore dihostPort
può essere lasciato vuoto o deve essere lo stesso valore dicontainerPort
.La mappatura delle porte su Windows usa l'indirizzo gateway
NetNAT
anzichélocalhost
. Non vi è alcun loopback per le mappature delle porte su Windows, perciò non è possibile accedere alla porta mappata di un container dall'host stesso.La maggior parte dei campi di questo parametro (inclusi
containerPort
,hostPort
,protocol
) è associata aPortBindings
nella sezione Creazione di un containerdell'API Docker Remote e l'opzione --publish
a docker run. Se la modalità di rete di una definizione di attività è impostata su host
, le porte host devono essere non definite o devono corrispondere alla porta del container nella mappatura della porta.Nota
Dopo che un processo raggiunge lo stato
RUNNING
, gli incarichi manuali e automatici relativi alle porte del container e dell'host sono visibili nelle posizioni seguenti:-
Console: sezione Binding di rete della descrizione di un container per un processo selezionato.
-
AWS CLI: la sezione
networkBindings
dell'output del comando describe-tasks. -
API: risposta
DescribeTasks
. -
Metadati: l'endpoint dei metadati dell'attività.
appProtocol
-
▬Tipo: stringa
Campo obbligatorio: no
Il protocollo dell'applicazione utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect. Ti consigliamo di impostare questo parametro in maniera coerente con il protocollo utilizzato dall'applicazione. Se imposti questo parametro, Amazon ECS aggiunge la gestione delle connessioni specifica del protocollo al proxy Service Connect. Se imposti questo parametro, Amazon ECS aggiunge la telemetria specifica del protocollo nella console Amazon ECS e. CloudWatch
Se non imposti un valore per questo parametro, viene utilizzato TCP. Amazon ECS, tuttavia, non aggiunge la telemetria specifica del protocollo TCP.
Per ulteriori informazioni, consulta Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi.
Valori di protocollo validi:
"HTTP" | "HTTP2" | "GRPC"
containerPort
-
Tipo: integer
Obbligatorio: sì, quando si utilizzano
portMappings
Il numero di porta nel container associato alla porta dell'host definito dall'utente o assegnata automaticamente.
Se utilizzi container in un'attività con il tipo di avvio Fargate, le porte esposte devono essere specificate utilizzando
containerPort
.Per i container Windows su Fargate, non è possibile utilizzare la porta 3150 per
containerPort
. Questo perché la porta è riservata.Supponiamo di utilizzare i container in un'attività con il tipo di avvio EC2 e di specificare una porta di container ma non una porta dell'host. Il container riceve quindi automaticamente una porta dell'host nell'intervallo delle porte temporanee. Per ulteriori informazioni, consulta
hostPort
. La mappatura delle porte che sono assegnate automaticamente in questo modo non contano ai fini della quota di 100 porte riservate di un'istanza di container. containerPortRange
-
▬Tipo: stringa
Campo obbligatorio: no
L'intervallo dei numeri di porta nel container associato all'intervallo di porte host mappato in maniera dinamica.
È possibile impostare questo parametro solo utilizzando l'API
register-task-definition
. L'opzione è disponibile nel parametroportMappings
. Per ulteriori informazioni, consulta register-task-definition nella Documentazione di riferimento sull'AWS Command Line Interface .Quando specifichi un
containerPortRange
, si applicano le seguenti regole:-
Devi utilizzare la modalità di rete
bridge
o la modalità di reteawsvpc
. -
Questo parametro è disponibile per i tipi di avvio EC2 e AWS Fargate.
-
Questo parametro è disponibile per sistemi operativi sia Lunix che Windows.
-
L'istanza di container deve avere almeno la versione 1.67.0 dell'agente del container e almeno la versione 1.67.0-1 del pacchetto
ecs-init
. -
Puoi specificare fino a 100 intervalli di porte per container.
-
Non specificare un
hostPortRange
. Il valore dell'hostPortRange
è impostato come indicato di seguito:-
Per i container in un'attività con la modalità di rete
awsvpc
, lahostPort
è impostata sullo stesso valore dellacontainerPort
. Questa è una strategia di mappatura statica. -
Per i container in un'attività con la modalità di rete
bridge
, l'agente Amazon ECS trova le porte host aperte dall'intervallo effimero predefinito e lo passa a docker per associarle alle porte del container.
-
-
I valori validi di
containerPortRange
sono compresi tra 1 e 65535. -
Una porta può essere inclusa solo in una sola mappatura delle porte per ogni container.
-
Non puoi specificare intervalli di porte sovrapposti.
-
La prima porta nell'intervallo deve essere minore dell'ultima porta nell'intervallo.
-
Docker consiglia di disattivare il proxy docker nel file di configurazione del daemon Docker quando disponi di un numero elevato di porte.
Per ulteriori informazioni, consulta il numero #11185 su.
GitHub Per informazioni sulla modalità di disattivazione del proxy docker nel file di configurazione del daemon Docker, consulta Daemon Docker nella Guida per lo sviluppatore di Amazon ECS.
Puoi effettuare la chiamata a
DescribeTasks
per visualizzare l'hostPortRange
, cioè le porte dell'host associate alle porte del container.Gli intervalli di porte non sono inclusi negli eventi delle attività di Amazon ECS, a EventBridge cui vengono inviati. Per ulteriori informazioni, consulta Automatizza le risposte agli errori di Amazon ECS utilizzando EventBridge.
-
hostPortRange
-
▬Tipo: stringa
Campo obbligatorio: no
L'intervallo di numeri di porta sull'host utilizzato con il collegamento di rete. Questo viene assegnato da Docker e consegnato dall'agente Amazon ECS.
hostPort
-
Tipo: integer
Campo obbligatorio: no
Il numero di porta nell'istanza di container per prenotare per il container.
Se usi container in un'attività con il tipo di avvio Fargate,
hostPort
può essere lasciato vuoto oppure può avere lo stesso valore dicontainerPort
.Supponiamo di utilizzare i container in un'attività con il tipo di avvio EC2. Puoi specificare una porta dell'host non riservata per la mappatura delle porte del container. Questa operazione viene definita mappatura statica delle porte dell'host. In alternativa, puoi omettere
hostPort
(o impostarlo su0
) specificandocontainerPort
. Il container riceve automaticamente una porta nell'intervallo di porte temporanee per il sistema operativo dell'istanza di container e la versione Docker. Questa operazione viene definita mappatura dinamica delle porte dell'host.L'intervallo di porte temporanee predefinite per Docker versione 1.6.0 e successive è elencato nell'istanza in
/proc/sys/net/ipv4/ip_local_port_range
. Se questo parametro kernel non è disponibile, viene utilizzato l'intervallo delle porte temporaneo di default da49153–65535
. Non tentare di specificare una porta dell'host nell'intervallo di porte effimere. Questo perché sono riservate per l'assegnazione automatica. In generale, le porte al di sotto di32768
non rientrano nell'intervallo delle porte temporanee.Le porte prenotate di default sono
22
per SSH, le porte Docker2375
e2376
e le porte51678-51680
dell'agente del container di Amazon ECS. Qualsiasi porta dell'host precedentemente specificata dall'utente per un'attività in esecuzione viene prenotata anche mentre tale attività è in esecuzione. Dopo l'arresto di un'attività, la porta dell'host viene rilasciata. Le porte prenotate correnti vengono visualizzate nel parametroremainingResources
dell'output describe-container-instances. Un'istanza di container può contenere fino a 100 porte prenotate alla volta, incluse quelle predefinite. Le porte assegnate automaticamente non vengono conteggiate ai fini della quota di 100 porte prenotate. name
-
▬Tipo: stringa
Obbligatorio: no, necessario per configurare Service Connect in un servizio
Il nome utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect. Questo parametro è il nome utilizzato nella configurazione di Service Connect di un servizio.
Per ulteriori informazioni, consulta Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi.
Nell'esempio seguente, vengono visualizzati entrambi i campi obbligatori per Service Connect.
"portMappings": [ { "name":
string
, "containerPort":integer
} ] protocol
-
▬Tipo: stringa
Campo obbligatorio: no
Il protocollo utilizzato per la mappatura delle porte. I valori validi sono
tcp
eudp
. Il valore predefinito ètcp
.Importante
È supportato solo
tcp
per Service Connect. Ricorda chetcp
è implicito se questo campo non è impostato.Importante
Il supporto UDP è disponibile solo nelle istanze di container che sono state avviate con la versione 1.2.0 dell'agente del container Amazon ECS (ad esempio l'AMI
amzn-ami-2015.03.c-amazon-ecs-optimized
) o successiva o con agenti del container che sono stati aggiornati alla versione 1.3.0 o successiva. Per passare all'ultima versione dell'agente del container, consulta Aggiornamento dell'agente del container Amazon ECS.
Se specifichi una porta dell'host, utilizza la seguente sintassi.
"portMappings": [ { "containerPort": integer, "hostPort": integer } ... ]
Se desideri una porta dell'host assegnata automaticamente, utilizza la seguente sintassi.
"portMappings": [ { "containerPort": integer } ... ]
-
Credenziali del repository privato
repositoryCredentials
-
Tipo: oggetto RepositoryCredentials
Campo obbligatorio: no
Le credenziali dell'archivio per l'autenticazione di un registro privato.
Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
-
credentialsParameter
-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
repositoryCredentials
L'Amazon Resource Name (ARN) del segreto contenente le credenziali dell'archivio privato.
Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
Nota
Quando utilizzi l'API o gli AWS SDK di Amazon ECS, se il segreto esiste nella stessa regione dell'attività che stai avviando, puoi utilizzare l'ARN completo o il nome del segreto. AWS CLI Quando si utilizza il AWS Management Console, è necessario specificare l'ARN completo del segreto.
Di seguito viene riportato un frammento di una definizione di attività che mostra i parametri obbligatori:
"containerDefinitions": [ { "image": "
private-repo/private-image
", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name
" } } ]
-
Parametri avanzati di definizione del container
I seguenti parametri avanzati di definizione del container forniscono funzionalità estese al comando docker run
Argomenti
Controllo dello stato
healthCheck
-
Comando di controllo dell'integrità del container e parametri di configurazione associati per il container. Per ulteriori informazioni, consulta Determina lo stato delle attività di Amazon ECS utilizzando i controlli dello stato dei container.
command
-
Matrice di stringhe che rappresenta il comando eseguito dal container per determinare l'integrità. La matrice di stringhe può iniziare con
CMD
per eseguire direttamente gli argomenti del comando oppure conCMD-SHELL
per eseguire il comando con la shell predefinita del container. Se non è specificato nessuno dei due, viene utilizzatoCMD
.Quando si registra una definizione di attività in AWS Management Console, utilizzare un elenco di comandi separati da virgole. Questi comandi vengono convertiti in stringa dopo la creazione della definizione delle attività. Di seguito è riportato un esempio di input per il controllo dell'integrità.
CMD-SHELL, curl -f http://localhost/ || exit 1
Quando registrate una definizione di attività utilizzando il pannello AWS Management Console JSON, o le API AWS CLI, racchiudete l'elenco dei comandi tra parentesi. Di seguito è riportato un esempio di input per il controllo dell'integrità.
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
Un codice di uscita 0, senza output
stderr
, indica l'esito positivo, mentre un codice di uscita diverso da zero indica un errore. Per ulteriori informazioni consulta,HealthCheck
nella sezione Create a containerdi Docker Remote API . interval
-
Intervallo di tempo (in secondi) tra ogni controllo dell'integrità. Puoi specificare un valore compreso tra 5 e 300 secondi. Il valore di predefinito è 30 secondi.
timeout
-
Periodo di tempo in secondi per cui attendere che un controllo dell'integrità venga superato prima di considerarlo un errore. Puoi specificare un valore compreso tra 2 e 60 secondi. Il valore di default è 5 secondi.
retries
-
Numero di tentativi per cui riprovare un controllo dello stato non riuscito prima che il container venga considerato non integro. Puoi specificare un valore compreso tra 1 e 10 tentativi. Il valore predefinito è tre tentativi.
startPeriod
-
Periodo di tolleranza facoltativo entro il quale concedere ai container il tempo necessario per il bootstrap prima che i controlli dell'integrità non riusciti vengano conteggiati rispetto al numero massimo di nuovi tentativi. Puoi specificare un valore compreso tra 0 e 300 secondi. Per impostazione predefinita,
startPeriod
è disabilitato.
Ambiente
cpu
-
Tipo: integer
Campo obbligatorio: no
Il numero di unità
cpu
che l'agente del container Amazon ECS riserverà per il container. Su Linux, questo parametro è mappato aCpuShares
nella sezione Create a container(Creazione di un container) di Docker Remote API e l'opzione --cpu-shares
a docker run. Questo campo è facoltativo solo per le attività che utilizzano il tipo di avvio Fargate. La quantità totale di CPU riservata per tutti i container all'interno di un'attività deve essere inferiore al valore
cpu
a livello di attività.Nota
Puoi determinare il numero di unità CPU disponibili per ciascun tipo di istanza Amazon EC2. A tale scopo, moltiplica il numero di vCPU elencate per il tipo di istanza nella pagina di dettaglio delle istanze Amazon EC2
per 1.024. I container Linux condividono unità CPU non assegnate con altri container nell'istanza di container con lo stesso rapporto della quantità assegnata. Ad esempio, supponiamo di eseguire un'attività di container singolo in un tipo di istanza single core con 512 unità di CPU specificate per tale container. Inoltre, tale attività è l'unica in esecuzione sull'istanza di container. In questo esempio, il container può utilizzare la condivisione completa di 1.024 unità CPU in qualsiasi momento. Tuttavia, si supponga di aver avviato un'altra copia della stessa attività su quell'istanza di container. A ogni attività viene garantito un minimo di 512 unità CPU quando necessario. Analogamente, se l'altro container non utilizza la CPU rimanente, ogni container può passare a un maggiore utilizzo della CPU. Tuttavia, se entrambe le attività sono sempre attive al 100%, sono limitate a 512 unità CPU.
Sulle istanze di container Linux, il daemon Docker nell'istanza di container utilizza il valore CPU per calcolare i relativi rapporti di quote di CPU per i container in esecuzione. Per ulteriori informazioni, consulta CPU share constraint
nella documentazione Docker. Il valore minimo valido per il valore della quota di CPU ammesso dal kernel Linux è 2. Tuttavia, il parametro CPU non è obbligatorio e puoi usare valori di CPU minori di 2 nelle definizioni del container. Per i valori di CPU minori di 2 (incluso un valore null), il comportamento varia in base alla versione dell'agente del container Amazon ECS: -
Versioni dell'agente <= 1.1.0: i valori di CPU null e zero vengono trasmessi a Docker come 0, che Docker successivamente converte in 1.024 quote di CPU. I valori di CPU di 1 vengono trasmessi a Docker come 1 e il kernel Linux li converte in due quote di CPU.
-
Versioni dell'agente >= 1.2.0: i valori di CPU null, zero e 1 vengono trasmessi a Docker come due quote di CPU.
Sulle istanze di container Windows, la quota di CPU viene applicata come assoluta. I container Windows hanno accesso solo alla quantità di CPU specificata nella definizione delle attività. Un valore di CPU null o zero viene trasmesso a Docker come
0
, che Windows interpreta come l'1% di una CPU.Per ulteriori esempi, consulta Modalità di gestione delle risorse di CPU e memoria di Amazon ECS
. -
gpu
-
Tipo: oggetto ResourceRequirement
Campo obbligatorio: no
Il numero di
GPUs
fisiche che l'agente del container Amazon ECS riserva per il container. Il numero di GPU riservate per tutti i container in un'attività non deve superare il numero di GPU disponibili nell'istanza di container in cui viene avviata l'attività. Per ulteriori informazioni, consulta Definizioni di attività Amazon ECS per carichi di lavoro GPU.Nota
Questo parametro non è supportato per i container Windows o per i container ospitati su Fargate.
Elastic Inference accelerator
-
Tipo: oggetto ResourceRequirement
Campo obbligatorio: no
Per il tipo
InferenceAccelerator
, ilvalue
corrisponde adeviceName
per unInferenceAccelerator
specificato in una definizione di attività. Per ulteriori informazioni, consulta Nome dell'acceleratore di inferenza elastica.Nota
A partire dal 15 aprile 2023, non AWS effettuerà l'onboarding di nuovi clienti in Amazon Elastic Inference (EI) e aiuterà i clienti attuali a migrare i propri carichi di lavoro verso opzioni che offrono prezzi e prestazioni migliori. Dopo il 15 aprile 2023, i nuovi clienti non saranno in grado di avviare istanze con acceleratori Amazon EI su Amazon, SageMaker Amazon ECS o Amazon EC2. Tuttavia, i clienti che hanno utilizzato Amazon EI almeno una volta negli ultimi 30 giorni sono considerati clienti attuali e potranno continuare a usufruire del servizio.
Nota
Questo parametro non è supportato per i container Windows o per i container ospitati su Fargate.
essential
-
Tipo: Booleano
Campo obbligatorio: no
Si supponga che il parametro
essential
di un container sia contrassegnato cometrue
e che tale container abbia esito negativo o si arresti per qualsiasi motivo. Di conseguenza, tutti gli altri container che fanno parte dell'attività vengono arrestati. Se il parametroessential
di un container è contrassegnato comefalse
, il suo esito negativo non influenza il resto dei container in un'attività. Se questo parametro viene omesso, un container si considera essenziale.Tutti i processi devono avere almeno un container essenziale. Supponiamo di avere un'applicazione composta da più container. In questo caso, si raggruppano i container utilizzati per uno scopo comune in componenti e si separano i diversi componenti in più definizioni delle attività. Per ulteriori informazioni, consulta Progetta la tua applicazione per Amazon ECS.
"essential": true|false
entryPoint
-
Importante
Le versioni precedenti dell'agente del container Amazon ECS non gestiscono correttamente i parametri
entryPoint
. In caso di problemi durante l'utilizzoentryPoint
, aggiorna l'agente del container o inserisci i comandi e gli argomenti come elementi di matricecommand
.Tipo: array di stringhe
Campo obbligatorio: no
Il punto di ingresso che viene trasmesso al container. Questo parametro è mappato a
Entrypoint
nella sezione Create a containerdi Docker Remote API e l'opzione --entrypoint
a docker run. Per ulteriori informazioni sul parametro Docker ENTRYPOINT
, consulta https://docs.docker.com/engine/reference/builder/#entrypoint. "entryPoint": ["string", ...]
command
-
Tipo: array di stringhe
Campo obbligatorio: no
Il comando che viene inviato al container. Questo parametro è mappato a
Cmd
nella sezione Crea un containerdell'API remota Docker e al parametro COMMAND
di docker run. Per ulteriori informazioni sul parametro Docker CMD
, consulta https://docs.docker.com/engine/reference/builder/#cmd. In caso di più argomenti, ognuno di questi deve essere una stringa separata nella matrice. "command": ["string", ...]
workingDirectory
-
▬Tipo: stringa
Campo obbligatorio: no
La directory di lavoro nel container in cui eseguire i comandi. Questo parametro è mappato a
WorkingDir
nella sezione Create a containerdi Docker Remote API e l'opzione --workdir
a docker run. "workingDirectory": "string"
environmentFiles
-
Tipo: array di oggetti
Campo obbligatorio: no
Un elenco di file contenenti le variabili di ambiente da passare a un container. Questo parametro è mappato all'opzione
--env-file
su docker runQuesto non è disponibile per i Windows contenitori e i contenitori Windows su Fargate
Puoi specificare fino a 10 file di ambiente. Il file deve avere un'estensione
.env
. Ogni riga di un file di ambiente deve contenere una variabile di ambiente nel formatoVARIABLE=VALUE
. Le righe che iniziano con#
vengono trattate come commenti e vengono ignorate. Per ulteriori informazioni sulla sintassi appropriata del file delle variabili di ambiente, consulta Declare default environment variables in file(Dichiarare le variabili d'ambiente predefinite in un file). Se nella definizione del container sono specificate singole variabili di ambiente, hanno la precedenza sulle variabili contenute in un file di ambiente. Se vengono specificati più file di ambiente che contengono la stessa variabile, vengono elaborati dall'alto verso il basso. Consigliamo di utilizzare nomi di variabili univoci. Per ulteriori informazioni, consulta Passa una singola variabile di ambiente a un contenitore Amazon ECS.
value
-
Tipo: stringa
Campo obbligatorio: sì
L'Amazon Resource Name (ARN) dell'oggetto Amazon S3 contenente il file della variabile di ambiente.
type
-
Tipo: stringa
Campo obbligatorio: sì
Il tipo di file da utilizzare L'unico valore supportato è
s3
.
environment
-
Tipo: array di oggetti
Campo obbligatorio: no
Le variabili di ambiente da passare a un container. Questo parametro è mappato a
Env
nella sezione Create a containerdi Docker Remote API e l'opzione --env
a docker run. Importante
Non è consigliabile utilizzare variabili di ambiente non crittografate per informazioni sensibili, ad esempio dati di credenziali.
name
-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
environment
Il nome della variabile di ambiente.
value
-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
environment
Il valore della variabile di ambiente.
"environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ]
secrets
-
Tipo: array di oggetti
Campo obbligatorio: no
Un oggetto che rappresenta il segreto da esporre al container. Per ulteriori informazioni, consulta Trasferisci dati sensibili a un contenitore Amazon ECS.
name
-
Tipo: stringa
Campo obbligatorio: sì
Il valore da impostare come variabile di ambiente sul container.
valueFrom
-
Tipo: stringa
Campo obbligatorio: sì
Il segreto da esporre al container. I valori supportati sono l'Amazon Resource Name (ARN) completo del AWS Secrets Manager segreto o l'ARN completo del parametro nel Parameter Store. AWS Systems Manager
Nota
Se il parametro Systems Manager Parameter Store o il parametro Secrets Manager esiste nella Regione AWS stessa operazione che si sta avviando, è possibile utilizzare l'ARN completo o il nome del segreto. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.
"secrets": [ { "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:
region
:aws_account_id
:parameter/parameter_name
" } ]
Impostazioni di rete
disableNetworking
-
Tipo: Booleano
Campo obbligatorio: no
Quando questo parametro è true, le reti sono disabilitate all'interno del container. Questo parametro è mappato in
NetworkDisabled
nella sezione Create a containerdi Docker Remote API . Nota
Questo parametro non è supportato per i container o le attività Windows che utilizzano la modalità di rete
awsvpc
.Il valore predefinito è
false
."disableNetworking": true|false
links
-
Tipo: array di stringhe
Campo obbligatorio: no
Il parametro
link
consente ai container di comunicare tra loro senza la necessità di mappatura delle porte. Questo parametro è supportato solo se la modalità di rete di una definizione delle attività è impostata subridge
. Il costruttoname:internalName
è analogo aname:alias
nei collegamenti Docker. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. Per ulteriori informazioni sul collegamento dei container Docker, consulta https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. Questo parametro è mappato a Links
nella sezione Create a containerdi Docker Remote API e l'opzione --link
a docker run. Nota
Questo parametro non è supportato per i container o le attività Windows che utilizzano la modalità di rete
awsvpc
.Importante
I container che vengono posizionati nella stessa istanza di container potrebbero comunicare tra loro senza necessità di collegamenti o mappature delle porte dell'host. L'isolamento di rete su un'istanza di container è controllato da gruppi di sicurezza e impostazioni VPC.
"links": ["name:internalName", ...]
hostname
-
▬Tipo: stringa
Campo obbligatorio: no
Il nome host da utilizzare per il container. Questo parametro è mappato a
Hostname
nella sezione Create a containerdi Docker Remote API e l'opzione --hostname
a docker run. Nota
Se utilizzi la modalità di rete
awsvpc
, il parametrohostname
non è supportato."hostname": "string"
dnsServers
-
Tipo: array di stringhe
Campo obbligatorio: no
Un elenco di server DNS presentato al container. Questo parametro è mappato a
Dns
nella sezione Create a containerdi Docker Remote API e l'opzione --dns
a docker run. Nota
Questo parametro non è supportato per i container o le attività Windows che utilizzano la modalità di rete
awsvpc
."dnsServers": ["string", ...]
dnsSearchDomains
-
Tipo: array di stringhe
Campo obbligatorio: no
Modello: ^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$
Un elenco di domini di ricerca DNS presentato al container. Questo parametro è mappato a
DnsSearch
nella sezione Create a containerdi Docker Remote API e l'opzione --dns-search
a docker run. Nota
Questo parametro non è supportato per i container o le attività di Windows che utilizzano la modalità di rete
awsvpc
."dnsSearchDomains": ["string", ...]
extraHosts
-
Tipo: array di oggetti
Campo obbligatorio: no
Un elenco di nomi host e mappature di indirizzi IP da aggiungere al file
/etc/hosts
nel container.Questo parametro è mappato a
ExtraHosts
nella sezione Create a containerdi Docker Remote API e l'opzione --add-host
a docker run. Nota
Questo parametro non è supportato per i container o le attività di Windows che utilizzano la modalità di rete
awsvpc
."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]
hostname
-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
extraHosts
Il nome host da utilizzare nella voce
/etc/hosts
. ipAddress
-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
extraHosts
L'indirizzo IP da utilizzare nella voce
/etc/hosts
.
Archiviazione e registrazione
readonlyRootFilesystem
-
Tipo: Booleano
Campo obbligatorio: no
Se il parametro è true, al container viene assegnato l'accesso in sola lettura al file system radice. Questo parametro è mappato a
ReadonlyRootfs
nella sezione Create a containerdi Docker Remote API e l'opzione --read-only
a docker run. Nota
Questo parametro non è supportato per i container Windows.
Il valore predefinito è
false
."readonlyRootFilesystem": true|false
mountPoints
-
Tipo: array di oggetti
Campo obbligatorio: no
I punti di montaggio per i volumi di dati nel contenitore. Questo parametro è mappato a
Volumes
nella sezione Create a containerdi Docker Remote API e l'opzione --volume
a docker run. I container Windows possono montare intere directory sulla stessa unità di
$env:ProgramData
. I contenitori Windows non possono montare le directory su un'unità diversa e i punti di montaggio non possono essere utilizzati su più unità. È necessario specificare i punti di montaggio per collegare un volume Amazon EBS direttamente a un'attività Amazon ECS.sourceVolume
-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
mountPoints
Il nome del volume da montare.
containerPath
-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
mountPoints
Il percorso nel contenitore in cui verrà montato il volume.
readOnly
-
Tipo: Booleano
Campo obbligatorio: no
Se il valore è
true
, il container avrà accesso in sola lettura al volume. Se il valore èfalse
, il container avrà accesso in scrittura al volume. Il valore predefinito èfalse
.
volumesFrom
-
Tipo: array di oggetti
Campo obbligatorio: no
I volumi di dati da montare da un altro container. Questo parametro è mappato a
VolumesFrom
nella sezione Create a containerdi Docker Remote API e l'opzione --volumes-from
a docker run. sourceContainer
-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
volumesFrom
Il nome del container da cui montare volumi.
readOnly
-
Tipo: Booleano
Campo obbligatorio: no
Se il valore è
true
, il container avrà accesso in sola lettura al volume. Se il valore èfalse
, il container avrà accesso in scrittura al volume. Il valore predefinito èfalse
.
"volumesFrom": [ { "sourceContainer": "string", "readOnly": true|false } ]
logConfiguration
-
Tipo: LogConfigurationoggetto
Campo obbligatorio: no
La specifica di configurazione dei log per il container.
Per definizioni dell'attività di esempio che utilizzano una configurazione di log, consulta Esempi di definizioni di attività Amazon ECS.
Questo parametro è mappato a
LogConfig
nella sezione Create a containerdi Docker Remote API e l'opzione --log-driver
adocker run
. Per impostazione predefinita, i container utilizzano lo stesso driver di log utilizzato dal daemon Docker. Tuttavia, il container può utilizzare un driver di log diverso da quello del daemon Docker, specificando un driver di log con questo parametro nella definizione del container. Per utilizzare un altro driver di log per un container, il sistema di log deve essere configurato correttamente nell'istanza di container (o su un altro server di log per le opzioni di logging in remoto). Per ulteriori informazioni sulle opzioni per diversi driver di log supportati, consulta Configurazione dei driver di log nella documentazione di Docker. Si noti quanto segue quando si specifica una configurazione di log per i container:
-
Amazon ECS supporta un sottoinsieme dei driver di log disponibili per il daemon Docker. Ulteriori driver di log potranno essere disponibili nei rilasci futuri dell'agente del container Amazon ECS.
-
Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
-
Per le attività che utilizzano il tipo di avvio EC2, l'agente del container Amazon ECS in esecuzione in un'istanza di container deve registrare i driver di log disponibili in quell'istanza con la variabile di ambiente
ECS_AVAILABLE_LOGGING_DRIVERS
, prima che i container posizionati su tale istanza possano utilizzare queste opzioni di configurazione di log. Per ulteriori informazioni, consulta Configurazione dell'agente del container Amazon ECS. -
Per le attività che utilizzano il tipo di avvio Fargate, è necessario installare qualsiasi software aggiuntivo al di fuori dell'operazione. Ad esempio, gli aggregatori di output Fluentd o un host remoto che esegue Logstash per inviare i log Gelf.
"logConfiguration": { "logDriver": "awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog","awsfirelens", "options": {"
string
": "string
" ...}, "secretOptions": [{ "name": "string
", "valueFrom": "string
" }] }logDriver
-
▬Tipo: stringa
Valori validi:
"awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog","awsfirelens"
Obbligatorio: sì, quando viene utilizzato
logConfiguration
Il driver di log da utilizzare per il container. Per impostazione predefinita, i valori validi elencati in precedenza sono driver di log con i quali l'agente del container Amazon ECS può comunicare.
Per le attività che utilizzano il tipo di avvio Fargate, i driver di log supportati sono
awslogs
,splunk
eawsfirelens
.Per le attività che utilizzano il tipo di avvio EC2, i driver di log supportati sono
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
,syslog
,splunk
eawsfirelens
.Per ulteriori informazioni su come utilizzare il driver di
awslogs
registro nelle definizioni delle attività per inviare i log dei contenitori a CloudWatch Logs, vedere. Invia i log di Amazon ECS a CloudWatchPer ulteriori informazioni sull'utilizzo del driver di log
awsfirelens
, consulta Routing di log personalizzato.Nota
Se disponi di un driver personalizzato che non è elencato, puoi eseguire il fork del progetto Amazon ECS Container Agent disponibile su GitHub
e personalizzarlo in modo che funzioni con quel driver. Ti consigliamo di inviare le richieste pull per le modifiche che desideri siano incluse. Tuttavia, attualmente non forniamo il supporto per eseguire copie modificate di questo software. Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
options
-
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
La mappa chiave/valore delle opzioni di configurazione per inviare il driver di log.
Quando lo utilizzi FireLens per indirizzare i log verso una AWS Partner Network destinazione Servizio AWS o per l'archiviazione e l'analisi dei log, puoi impostare
log-driver-buffer-limit
l'opzione per limitare il numero di eventi che vengono memorizzati nel buffer in memoria, prima di essere inviati al contenitore del log router. Può aiutarti a risolvere potenziali problemi di perdita di log perché una velocità di trasmissione effettiva elevata potrebbe comportare l'esaurimento della memoria per il buffer all'interno di Docker. Per ulteriori informazioni, consulta Configurazione dei log di Amazon ECS per un throughput elevato.Questo parametro richiede la versione 1.19 o successiva di Docker Remote API sull'istanza di container.
secretOptions
-
Tipo: array di oggetti
Campo obbligatorio: no
Un oggetto che rappresenta il segreto da inviare alla configurazione di log. I segreti utilizzati nella configurazione di log possono includere un token di autenticazione, un certificato o una chiave di crittografia. Per ulteriori informazioni, consulta Trasferisci dati sensibili a un contenitore Amazon ECS.
name
-
Tipo: stringa
Campo obbligatorio: sì
Il valore da impostare come variabile di ambiente sul container.
valueFrom
-
Tipo: stringa
Campo obbligatorio: sì
Il segreto da esporre alla configurazione di log del container.
"logConfiguration": { "logDriver": "splunk", "options": { "splunk-url": "https://cloud.splunk.com:8080", "splunk-token": "...", "tag": "...", ... }, "secretOptions": [{ "name": "
splunk-token
", "valueFrom": "/ecs/logconfig/splunkcred
" }] }
-
firelensConfiguration
-
Tipo: oggetto FirelensConfiguration
Campo obbligatorio: no
La FireLens configurazione per il contenitore. Si utilizza per specificare e configurare un router di log per i log del container. Per ulteriori informazioni, consulta Inviare i log di Amazon ECS a un servizio o AWSAWS Partner.
{ "firelensConfiguration": { "type": "fluentd", "options": { "KeyName": "" } } }
options
-
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
La mappa chiave/valore delle opzioni da utilizzare durante la configurazione del router di log. Questo campo è facoltativo e può essere utilizzato per aggiungere ulteriori metadati, ad esempio il processo, la definizione di attività, il cluster e i dettagli dell'istanza di container all'evento di log. Se specificato, la sintassi da utilizzare è
"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}
. Per ulteriori informazioni, consulta Esempio di definizione di attività Amazon ECS: indirizza i log verso FireLens. type
-
Tipo: stringa
Campo obbligatorio: sì
Il router di log da utilizzare. I valori validi sono
fluentd
ofluentbit
.
Sicurezza
Per ulteriori informazioni sulla sicurezza di container, consulta Sicurezza delle attività e dei container nella Guida alle best practice di Amazon ECS.
credentialSpecs
-
Tipo: array di stringhe
Campo obbligatorio: no
Un elenco di ARN in SSM o Amazon S3 per un file di specifica delle credenziali (
CredSpec
) che configura il container per l'autenticazione Active Directory. Consigliamo di utilizzare questo parametro anzichédockerSecurityOptions
. Il numero massimo di ARN è 1.Esistono due formati per ogni ARN.
- credentialspecdomainless:MyARN
-
Utilizza
credentialspecdomainless:MyARN
per fornire un fileCredSpec
con una sezione aggiuntiva per un segreto in Secrets Manager. Specifica le credenziali di accesso al dominio nel campo segreto.Ogni attività eseguita su qualsiasi istanza di container può aggiungere domini diversi.
Puoi utilizzare questo formato senza aggiungere l'istanza di container a un dominio.
- credentialspec:MyARN
-
Utilizza
credentialspec:MyARN
per fornire un nome a un fileCredSpec
per un singolo dominio.Devi aggiungere l'istanza di container al dominio prima di iniziare qualsiasi attività che utilizzi questa definizione delle attività.
In entrambi i formati, sostituisci
MyARN
con l'ARN in SSM o Amazon S3.Il file
credspec
deve fornire un ARN in Secrets Manager per un segreto contenente il nome utente, la password e il dominio a cui collegarsi. Per una maggiore sicurezza, l'istanza non viene aggiunta al dominio per l'autenticazione senza dominio. Le altre applicazioni sull'istanza non possono utilizzare le credenziali senza dominio. Puoi utilizzare questo parametro per eseguire attività sulla stessa istanza, anche se le attività devono aggiungere domini diversi. Per ulteriori informazioni, consulta Utilizzo di gMSA per i container Windows e Utilizzo di gMSA per i container Linux. privileged
-
Tipo: Booleano
Campo obbligatorio: no
Se il parametro è true, al container vengono assegnati privilegi elevati nell'istanza di container host (simile all'utente
root
). Si consiglia di non far funzionare i container conprivileged
. Nella maggior parte dei casi, puoi specificare i privilegi esatti necessari utilizzando i parametri specifici anzichéprivileged
.Questo parametro è mappato a
Privileged
nella sezione Create a containerdi Docker Remote API e l'opzione --privileged
a docker run. Nota
Questo parametro non è supportato per i container o le attività Windows che utilizzano il tipo di avvio Fargate.
Il valore predefinito è
false
."privileged": true|false
user
-
▬Tipo: stringa
Campo obbligatorio: no
L'utente da usare all'interno del container. Questo parametro è mappato a
User
nella sezione Create a containerdi Docker Remote API e l'opzione --user
a docker run. Importante
Quando esegui attività che utilizzano la modalità di rete
host
, non eseguire container utilizzando l'utente root (UID 0). Come best practice per la sicurezza, utilizza sempre un utente non root.È possibile specificare
user
utilizzando i seguenti formati. Un eventuale UID o GID deve essere specificato come numero intero positivo.-
user
-
user:group
-
uid
-
uid:gid
-
user:gid
-
uid:group
Nota
Questo parametro non è supportato per i container Windows.
"user": "string"
-
dockerSecurityOptions
-
Tipo: array di stringhe
Valori validi: «no-new-privileges» | «AppArmor:profile» | «label: value" | «credentialspec:»
CredentialSpecFilePath
Campo obbligatorio: no
Un elenco di stringhe per fornire una configurazione personalizzata per più sistemi di sicurezza. Per ulteriori informazioni sui valori validi, consulta l'argomento relativo alla configurazione della sicurezza dell'esecuzione di Docker
. Questo campo non è valido per container in attività che utilizzano il tipo di avvio Fargate. Per le attività Linux su EC2, questo parametro può essere utilizzato per fare riferimento a etichette personalizzate per i sistemi di sicurezza su più livelli SELinux e AppArmor .
Per le attività su EC2, questo parametro può essere utilizzato per fare riferimento a un file di specifica delle credenziali che configura un container per l'autenticazione di Active Directory. Per ulteriori informazioni, consulta Scopri come usare GMSAS per contenitori EC2 Windows per Amazon ECS e Utilizzo gMSA per Linux contenitori EC2 su Amazon ECS.
Questo parametro è mappato a
SecurityOpt
nella sezione Create a containerdi Docker Remote API e l'opzione --security-opt
a docker. "dockerSecurityOptions": ["string", ...]
Nota
L'agente del container Amazon ECS che viene eseguito su un'istanza di container deve registrarsi con le variabili di ambiente
ECS_SELINUX_CAPABLE=true
oECS_APPARMOR_CAPABLE=true
prima che i container posizionati su tale istanza possano utilizzare queste opzioni di sicurezza. Per ulteriori informazioni, consulta Configurazione dell'agente del container Amazon ECS.
Limiti delle risorse
ulimits
-
Tipo: array di oggetti
Campo obbligatorio: no
Un elenco di valori
ulimit
da definire per un container. Questo valore sovrascrive l'impostazione della quota di risorse predefinite per il sistema operativo. Questo parametro è mappato aUlimits
nella sezione Create a containerdi Docker Remote API e l'opzione --ulimit
a docker run. I processi di Amazon ECS ospitati su Fargate utilizzano i valori del limite di risorse predefinito impostato dal sistema operativo, ad eccezione del parametro del limite di risorse
nofile
. Il limite di risorsenofile
imposta una restrizione sul numero di file aperti che un container può utilizzare. Su Fargate, il limite flessibilenofile
predefinito è1024
mentre il limite rigido è65535
. Puoi impostare i valori di entrambi i limiti fino a1048576
. Per ulteriori informazioni, consulta Limiti delle risorse dei processi.Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
Nota
Questo parametro non è supportato per i container Windows.
"ulimits": [ { "name": "core"|"cpu"|"data"|"fsize"|"locks"|"memlock"|"msgqueue"|"nice"|"nofile"|"nproc"|"rss"|"rtprio"|"rttime"|"sigpending"|"stack", "softLimit": integer, "hardLimit": integer } ... ]
name
-
▬Tipo: stringa
Valori validi:
"core" | "cpu" | "data" | "fsize" | "locks" | "memlock" | "msgqueue" | "nice" | "nofile" | "nproc" | "rss" | "rtprio" | "rttime" | "sigpending" | "stack"
Obbligatorio: sì, quando si utilizzano
ulimits
type
diulimit
. hardLimit
-
Tipo: integer
Obbligatorio: sì, quando si utilizzano
ulimits
Il limite rigido per il tipo
ulimit
. softLimit
-
Tipo: integer
Obbligatorio: sì, quando si utilizzano
ulimits
Il limite flessibile per il tipo
ulimit
.
Etichette Docker
dockerLabels
-
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
Una mappa chiave/valore di etichette da aggiungere al container. Questo parametro è mappato a
Labels
nella sezione Create a containerdi Docker Remote API e l'opzione --label
a docker run. Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
"dockerLabels": {"string": "string" ...}
Altri parametri di definizione del container
I seguenti parametri di definizione del container possono essere utilizzati quando si registrano le definizioni di attività nella console Amazon ECS utilizzando l'opzione Configure via JSON (Configura tramite JSON). Per ulteriori informazioni, consulta Creazione di una definizione di attività Amazon ECS utilizzando la console.
Argomenti
Parametri Linux
linuxParameters
-
Tipo: oggetto LinuxParameters
Campo obbligatorio: no
Linux-opzioni specifiche che vengono applicate al contenitore, ad esempio. KernelCapabilities
Nota
Questo parametro non è supportato per i container Windows.
"linuxParameters": { "capabilities": { "add": ["string", ...], "drop": ["string", ...] } }
capabilities
-
Tipo: oggetto KernelCapabilities
Campo obbligatorio: no
Le funzionalità di Linux per il container che vengono aggiunte o eliminate dalla configurazione predefinita fornita da Docker. Per ulteriori informazioni sulle funzionalità predefinite e quelle non predefinite disponibili, consulta Privilegi di runtime e funzionalità di Linux
nei Riferimenti per l'esecuzione di Docker. Per ulteriori informazioni su queste funzionalità di Linux, consulta la pagina del manuale Linux capabilities(7) . add
-
Tipo: array di stringhe
Valori validi:
"ALL" | "AUDIT_CONTROL" | "AUDIT_READ" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
Campo obbligatorio: no
Le funzionalità di Linux per il container da aggiungere alla configurazione predefinita fornita da Docker. Questo parametro è mappato a
CapAdd
nella sezione Crea un containerdi API Docker Remote e l'opzione --cap-add
a docker run. Nota
Le attività avviate su Fargate supportano solo l'aggiunta della funzionalità del kernel
SYS_PTRACE
. add
-
Tipo: array di stringhe
Valori validi:
"SYS_PTRACE"
Campo obbligatorio: no
Le funzionalità di Linux per il container da aggiungere alla configurazione predefinita fornita da Docker. Questo parametro è mappato a
CapAdd
nella sezione Crea un containerdi API Docker Remote e l'opzione --cap-add
a docker run. drop
-
Tipo: array di stringhe
Valori validi:
"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
Campo obbligatorio: no
Le funzionalità di Linux per il container da eliminare dalla configurazione predefinita fornita da Docker. Questo parametro è mappato a
CapDrop
nella sezione Crea un containerdi API Docker Remote e l'opzione --cap-drop
a docker run.
devices
-
Qualsiasi dispositivi host da esporre nel container. Questo parametro è mappato a
Devices
nella sezione Crea un containerdi API Docker Remote e l'opzione --device
a docker run. Nota
Il parametro
devices
non è supportato quando utilizzi il tipo di avvio Fargate o i container Windows.Tipo: matrice di oggetti Device
Campo obbligatorio: no
hostPath
-
Il percorso per il dispositivo nell'istanza di container dell'host.
Tipo: stringa
Campo obbligatorio: sì
containerPath
-
Il percorso nel container in cui esporre il dispositivo dell'host.
▬Tipo: stringa
Campo obbligatorio: no
permissions
-
Le autorizzazioni esplicite da fornire al container per il dispositivo. Di default, il container dispone di autorizzazioni per
read
,write
emknod
sul dispositivo.Tipo: matrice di stringhe
Valori validi:
read
|write
|mknod
initProcessEnabled
-
Esegui un processo
init
nel container che inoltra segnali e raccoglie i processi. Questo parametro è mappato all'opzione--init
su docker run. Questo parametro richiede la versione 1.25 o successiva di Docker Remote API sull'istanza di container.
maxSwap
-
La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene convertito nell'opzione
--memory-swap
in docker rundove il valore sarebbe la somma della memoria del container più il valore maxSwap
.Se viene specificato il valore
maxSwap
di0
, il container non utilizzerà lo swap. I valori accettati sono0
o qualsiasi numero intero positivo. Se il parametromaxSwap
viene omesso, il container utilizza la configurazione di swap per l'istanza di container su cui è in esecuzione. È necessario impostare un valoremaxSwap
per il parametroswappiness
da utilizzare.Nota
Se utilizzi attività che ricorrono al tipo di avvio Fargate, il parametro
maxSwap
non è supportato. sharedMemorySize
-
Valore per le dimensioni (in MiB) del volume
/dev/shm
. Questo parametro è mappato all'opzione--shm-size
su docker run. Nota
Se utilizzi attività che ricorrono al tipo di avvio Fargate, il parametro
sharedMemorySize
non è supportato.Tipo: integer
swappiness
-
Puoi utilizzare questo parametro per ottimizzare il funzionamento swappiness della memoria di un container. Un valore
swappiness
di0
impedisce che si verifichi lo scambio, a meno che non sia necessario. Un valoreswappiness
di100
fa sì che le pagine vengano scambiate frequentemente. I valori accettati sono numeri interi compresi tra0
e100
. Se non specifichi un valore, viene utilizzato il valore predefinito di60
. Inoltre, se non specifichi un valore permaxSwap
, questo parametro verrà ignorato. Questo parametro è mappato all'opzione--memory-swappiness
su docker run. Nota
Se utilizzi attività che ricorrono al tipo di avvio Fargate, il parametro
swappiness
non è supportato.Se utilizzi le attività su Amazon Linux 2023, il parametro
swappiness
non è supportato. tmpfs
-
Il percorso del container, le opzioni di montaggio e le dimensioni massime (in MiB) del montaggio tmpfs. Questo parametro è mappato all'opzione
--tmpfs
su docker run. Nota
Se utilizzi attività che ricorrono al tipo di avvio Fargate, il parametro
tmpfs
non è supportato.Tipo: matrice di oggetti Tmpfs
Campo obbligatorio: no
containerPath
-
Percorso assoluto in cui deve essere montato il volume tmpfs.
Tipo: stringa
Campo obbligatorio: sì
mountOptions
-
L'elenco delle opzioni di montaggio del volume tmpfs.
Tipo: matrice di stringhe
Campo obbligatorio: no
Valori validi:
"defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"
size
-
Le dimensioni massime (in MiB) del volume tmpfs.
Tipo: integer
Campo obbligatorio: sì
Dipendenze per i container
dependsOn
-
Tipo: matrice di oggetti ContainerDependency
Campo obbligatorio: no
Le dipendenze definite per l'avvio e la chiusura dei container. Un container può contenere più dipendenze. Se una dipendenza è definita per l'avvio del container, per la sua chiusura è invertita. Per un esempio, consulta Dipendenze per i container.
Nota
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Per le attività Amazon ECS ospitate su istanze Amazon EC2, le istanze richiedono almeno una versione
1.26.0
dell'agente del container per abilitare le dipendenze del container. Tuttavia, ti consigliamo di utilizzare la versione più recente dell'agente container. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS. Se utilizzi l'AMI Amazon Linux ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione1.26.0-1
del pacchettoecs-init
. Le istanze di container avviate dalla versione20190301
o successive contengono già le versioni richieste dell'agente del container e diecs-init
. Per ulteriori informazioni, consulta AMI Linux ottimizzate per Amazon ECS.Per le attività Amazon ECS ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma
1.3.0
o successive (Linux) o1.0.0
(Windows)."dependsOn": [ { "containerName": "
string
", "condition": "string
" } ]containerName
-
Tipo: stringa
Campo obbligatorio: sì
Il nome del container che deve soddisfare la condizione specificata.
condition
-
Tipo: stringa
Campo obbligatorio: sì
La condizione di dipendenza del container. Di seguito sono elencate le condizioni disponibili e il loro comportamento:
-
START
: questa condizione emula il comportamento dei collegamenti e dei volumi. La condizione convalida l'avvio di un container dipendente prima di consentire l'avvio di altri container. -
COMPLETE
: questa condizione verifica l'esecuzione fino al completamento (uscita) di un container dipendente prima di consentire l'avvio di altri container. Può rivelarsi utile per container non essenziali che eseguono uno script e quindi escono. Questa condizione non può essere impostata su un container essenziale. -
SUCCESS
: questa condizione è uguale aCOMPLETE
, ma richiede anche che il container esca con statozero
. Questa condizione non può essere impostata su un container essenziale. -
HEALTHY
: questa condizione verifica che il container dipendente superi il controllo dell'integrità del container prima di consentire l'avvio di altri container. Ciò richiede che per il container dipendente siano configurati i controlli dell'integrità nella definizione di attività. Questa condizione viene confermata solo all'avvio dell'attività.
-
Timeout del container
startTimeout
-
Tipo: integer
Campo obbligatorio: no
Valori di esempio:
120
Tempo di attesa (in secondi) prima di rinunciare a risolvere le dipendenze per un container.
Ad esempio, vengono specificati due container in una definizione di attività:
containerA
ha una dipendenza sulcontainerB
quando raggiunge lo statoCOMPLETE
,SUCCESS
oHEALTHY
. Se percontainerB
è specificato un valorestartTimeout
e non raggiunge lo stato desiderato entro tale periodo di tempo, alloracontainerA
non viene avviato.Nota
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Per le attività Amazon ECS ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma
1.3.0
o successive (Linux). Il valore massimo è 120 secondi. stopTimeout
-
Tipo: integer
Campo obbligatorio: no
Valori di esempio:
120
Durata (in secondi) di attesa prima che sia forzata la chiusura se il container non si arresta da solo normalmente.
Per le attività Amazon ECS ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma
1.3.0
o successive (Linux). Se il parametro non è specificato, viene utilizzato il valore predefinito di 30 secondi. Il valore massimo è 120 secondi.Per le attività che utilizzano il tipo di avvio EC2, se il parametro
stopTimeout
non è specificato, viene utilizzato il valore impostato per la variabile di configurazione dell'agente del container Amazon ECSECS_CONTAINER_STOP_TIMEOUT
. Se non sono impostati né il parametrostopTimeout
né la variabile di configurazione dell'agenteECS_CONTAINER_STOP_TIMEOUT
, vengono utilizzati i valori predefiniti di 30 secondi per i container Linux e 30 secondi per quelli Windows. Per consentire il valore di timeout di arresto per un container, le istanze di container richiedono almeno la versione 1.26.0 dell'agente del container. Tuttavia, ti consigliamo di utilizzare la versione più recente dell'agente container. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS. Se utilizzi l'AMI Amazon Linux ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione 1.26.0-1 del pacchettoecs-init
. Le istanze di container avviate dalla versione20190301
o successive contengono già le versioni richieste dell'agente del container e diecs-init
. Per ulteriori informazioni, consulta AMI Linux ottimizzate per Amazon ECS.
Controlli di sistema
systemControls
-
Tipo: oggetto SystemControl
Campo obbligatorio: no
Un elenco di parametri del kernel dello spazio dei nomi da impostare nel contenitore. Questo parametro è mappato a
Sysctls
nella sezione Create a containerdi Docker Remote API e l'opzione --sysctl
a docker run. Ad esempio, puoi configurare l'impostazione net.ipv4.tcp_keepalive_time
per mantenere le connessioni di lunga durata.Non è consigliabile specificare i parametri
systemControls
correlati alla rete per più container in un'unica attività che utilizza anche la modalità di reteawsvpc
ohost
. Ciò comporta i seguenti svantaggi:-
Per le attività che utilizzano la modalità di rete
awsvpc
, tra cui Fargate, se hai impostatosystemControls
per qualsiasi container, questa impostazione si applica a tutti i container nell'attività. Se hai impostato diversisystemControls
per più container in un'unica attività, il container che viene avviato per ultimo determina qualesystemControls
diventa effettivo. -
Per attività che utilizzano la modalità di rete
host
, lo spazio dei nomi della retesystemControls
non è supportato.
Se stai impostando uno spazio dei nomi della risorsa IPC per utilizzare i container nell'attività, ai controlli di sistema si applicano le seguenti condizioni. Per ulteriori informazioni, consulta Modalità IPC.
-
Per le attività che utilizzano la modalità
host
IPC, i valorisystemControls
dello spazio dei nomi IPC non sono supportati. -
Per le attività che utilizzano la modalità IPC
task
, i valori disystemControls
dello spazio dei nomi IPC si applicano a tutti i container all'interno di un'attività.
Nota
Questo parametro non è supportato per i container Windows.
Nota
Questo parametro è supportato solo per le attività ospitate su AWS Fargate se le attività utilizzano la versione della piattaforma
1.4.0
o successive (Linux). Non è supportato per i container Windows su Fargate."systemControls": [ { "namespace":"
string
", "value":"string
" } ]namespace
-
▬Tipo: stringa
Campo obbligatorio: no
Il parametro del kernel dello spazio dei nomi per cui impostare un.
value
Valori dello spazio dei nomi IPC validi:
"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"
eSysctls
che iniziano con"fs.mqueue.*"
Valori dello spazio dei nomi di rete validi:
Sysctls
che iniziano con"net.*"
Tutti questi valori sono supportati da Fargate.
value
-
▬Tipo: stringa
Campo obbligatorio: no
Il valore per il parametro del kernel dello spazio dei nomi specificato in.
namespace
-
Interactive
interactive
-
Tipo: Booleano
Campo obbligatorio: no
Quando questo parametro è
true
, puoi implementare le applicazioni containerizzate che richiedono l'allocazione distdin
otty
. Questo parametro è mappato aOpenStdin
nella sezione Create a containerdi Docker Remote API e l'opzione --interactive
a docker run. Il valore predefinito è
false
.
Pseudoterminale
pseudoTerminal
-
Tipo: Booleano
Campo obbligatorio: no
Quando il parametro è
true
, è allocato un TTY. Questo parametro è mappato aTty
nella sezione Create a containerdi Docker Remote API e l'opzione --tty
a docker run. Il valore predefinito è
false
.
Nome dell'acceleratore di inferenza elastica
Nota
A partire dal 15 aprile 2023, non AWS effettuerà l'onboarding di nuovi clienti in Amazon Elastic Inference (EI) e aiuterà i clienti attuali a migrare i propri carichi di lavoro verso opzioni che offrono prezzi e prestazioni migliori. Dopo il 15 aprile 2023, i nuovi clienti non saranno in grado di avviare istanze con acceleratori Amazon EI su Amazon, SageMaker Amazon ECS o Amazon EC2. Tuttavia, i clienti che hanno utilizzato Amazon EI almeno una volta negli ultimi 30 giorni sono considerati clienti attuali e potranno continuare a usufruire del servizio.
Il requisito della risorsa dell'acceleratore di Elastic Inference per la definizione di attività. Per ulteriori informazioni, consulta What Is Amazon Elastic Inference? nella Amazon Elastic Inference Developer Guide.
I parametri seguenti sono permessi nella definizione di un processo:
deviceName
-
Tipo: stringa
Campo obbligatorio: sì
Il nome del dispositivo dell'acceleratore di inferenza elastica. Il
deviceName
deve anche essere riferito in una definizione del container; consulta Elastic Inference accelerator. deviceType
-
Tipo: stringa
Campo obbligatorio: sì
L'acceleratore di inferenza elastica da utilizzare.
Vincoli di posizionamento delle attività
Quando registri una definizione di attività, puoi specificare vincoli di posizionamento dei processi che definiscono il modo in cui Amazon ECS posiziona i processi.
Se utilizzi il tipo di avvio Fargate, i vincoli di posizionamento delle attività non sono supportati. Di default, i processi Fargate sono distribuiti tra le zone di disponibilità.
Per i processi che utilizzano il tipo di avvio EC2, puoi utilizzare i vincoli per posizionare i processi in base alla zona di disponibilità, al tipo di istanza o agli attributi personalizzati. Per ulteriori informazioni, consulta Definisci quali istanze di container Amazon ECS utilizza per le attività.
I seguenti parametri sono consentiti in una definizione del container:
expression
-
▬Tipo: stringa
Campo obbligatorio: no
Un'espressione del linguaggio di query del cluster da applicare al vincolo. Per ulteriori informazioni, consulta Crea espressioni per definire istanze di container per le attività di Amazon ECS.
type
-
Tipo: stringa
Campo obbligatorio: sì
Il tipo di vincolo. Utilizza
memberOf
per limitare la selezione a un gruppo di candidati validi.
Configurazione del proxy
proxyConfiguration
-
Tipo: oggetto ProxyConfiguration
Campo obbligatorio: no
I dettagli di configurazione del proxy App Mesh.
Per le attività che utilizzano il tipo di avvio EC2, per abilitare una configurazione proxy le istanze di container richiedono almeno la versione 1.26.0 dell'agente del container e almeno la versione 1.26.0-1 del pacchetto
ecs-init
. Se le istanze di container sono avviate dall'AMI ottimizzata per Amazon ECS versione20190301
o successiva, contengono le versioni richieste dell'agente container e diecs-init
. Per ulteriori informazioni, consulta AMI Linux ottimizzate per Amazon ECS.Per le attività che utilizzano il tipo di avvio Fargate, questa funzionalità richiede che l'attività o il servizio utilizzi la versione della piattaforma 1.3.0 o successiva.
Nota
Questo parametro non è supportato per i container Windows.
"proxyConfiguration": { "type": "APPMESH", "containerName": "
string
", "properties": [ { "name": "string
", "value": "string
" } ] }type
-
▬Tipo: stringa
Valori del valore:
APPMESH
Campo obbligatorio: no
Il tipo di proxy. L'unico valore supportato è
APPMESH
. containerName
-
Tipo: stringa
Campo obbligatorio: sì
Il nome del container che agirà come proxy App Mesh.
properties
-
Tipo: matrice di oggetti KeyValuePair
Campo obbligatorio: no
Il set di parametri di configurazione di rete per il plug-in Container Network Interface (CNI), specificati come coppie chiave-valore.
-
IgnoredUID
: (obbligatorio) l'ID utente (UID) del container proxy come definito dal parametrouser
in una definizione del container. Serve a garantire che il proxy ignori il proprio traffico. Se è specificatoIgnoredGID
, questo campo può rimanere vuoto. -
IgnoredGID
: (obbligatorio) l'ID gruppo (GID) del container proxy come definito dal parametrouser
in una definizione del container. Serve a garantire che il proxy ignori il proprio traffico. Se è specificatoIgnoredUID
, questo campo può rimanere vuoto. -
AppPorts
(obbligatorio): l'elenco delle porte utilizzate dall'applicazione. Il traffico di rete per queste porte viene inoltrato alle porteProxyIngressPort
eProxyEgressPort
. -
ProxyIngressPort
(obbligatorio): specifica la porta a cui è diretto il traffico in entrata per leAppPorts
. -
ProxyEgressPort
(obbligatorio): specifica la porta a cui è diretto il traffico in uscita daAppPorts
. -
EgressIgnoredPorts
: (obbligatorio) il traffico in uscita diretto verso le porte specificate viene ignorato e non reindirizzato allaProxyEgressPort
. Può essere un elenco vuoto. -
EgressIgnoredIPs
: (obbligatorio) il traffico in uscita diretto verso gli indirizzi IP specificati viene ignorato e non reindirizzato allaProxyEgressPort
. Può essere un elenco vuoto.
name
-
▬Tipo: stringa
Campo obbligatorio: no
Nome della coppia chiave-valore.
value
-
▬Tipo: stringa
Campo obbligatorio: no
Valore della coppia chiave-valore.
-
Volumi
Quando si registra una definizione di attività, è possibile specificare facoltativamente un elenco di volumi da passare al Docker demone su un'istanza di contenitore, che diventa quindi disponibile per l'accesso da parte di altri contenitori sulla stessa istanza di contenitore.
Di seguito sono elencati i tipi di volumi di dati che è possibile utilizzare:
-
Volumi Amazon EBS: fornisce storage a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. Puoi collegare 1 volume Amazon EBS per attività Amazon ECS durante l'esecuzione di un'attività autonoma o durante la creazione o l'aggiornamento di un servizio. I volumi Amazon EBS sono supportati per le attività Linux ospitate su istanze Fargate o Amazon EC2. Per ulteriori informazioni, consulta Usa i volumi Amazon EBS con Amazon ECS.
-
Volumi Amazon EFS: offre uno spazio di archiviazione di file semplice, scalabile e persistente da utilizzare con i processi Amazon ECS. Con Amazon EFS, la capacità di storage è elastica. La capacità di storage aumenta e si riduce automaticamente quando si aggiungono e si rimuovono i file. Le tue applicazioni possono disporre dello spazio di archiviazione di cui hanno bisogno nel momento in cui ne hanno bisogno. I volumi Amazon EFS sono supportati per le attività ospitate su istanze di Fargate o Amazon EC2. Per ulteriori informazioni, consulta Usa i volumi Amazon EFS con Amazon ECS.
-
Volumi FSx for Windows File Server: fornisce server di file di Microsoft Windows completamente gestiti. Questi server di file sono supportati da un file system Windows. Quando utilizzi FSx for Windows File Server insieme ad Amazon ECS, puoi eseguire il provisioning delle attività di Windows con storage dei file persistente, distribuito, condiviso e statico. Per ulteriori informazioni, consulta Usa FSx per volumi Windows File Server con Amazon ECS.
Questa opzione non è supportata per i container Windows su Fargate.
-
Volumi Docker: un volume gestito da Docker creato nell'istanza host di
/var/lib/docker/volumes
Amazon EC2. I driver del volume Docker (detti anche plug-in) vengono utilizzati per integrare i volumi ai sistemi di archiviazione esterni, ad esempio Amazon EBS. È possibile utilizzare il driver del volumelocal
integrato o un driver di volume di terza parte. I volumi Docker sono supportati solo durante l'esecuzione di attività su istanze Amazon EC2. I contenitori Windows supportano solo l'uso del driver.local
Per usare i volumi Docker, specificadockerVolumeConfiguration
nella definizione di attività. Per ulteriori informazioni, consulta l'articolo relativo all'utilizzo dei volumi. -
Bind mounts: un file o una directory sul computer host montato in un contenitore. I volumi host Bind Mount sono supportati durante l'esecuzione di attività su istanze AWS Fargate o Amazon EC2. Per usare i volumi host di montaggi vincolati, specifica un valore
host
e un valore opzionalesourcePath
nella definizione di attività. Per ulteriori informazioni, consulta l'articolo relativo all'utilizzo dei montaggi vincolati.
Per ulteriori informazioni, consulta Opzioni di storage per le attività di Amazon ECS.
I seguenti parametri sono consentiti in una definizione del container.
name
-
▬Tipo: stringa
Campo obbligatorio: no
Nome del volume. Sono consentite fino a 255 lettere (maiuscole e minuscole), numeri, trattini () e trattini bassi ().
-
_
A questo nome viene fatto riferimento nel parametro dell'oggetto di definizione del contenitore.sourceVolume
mountPoints
host
-
Campo obbligatorio: no
Il parametro
host
viene utilizzato per legare il ciclo di vita del montaggio vincolato all'istanza host di Amazon EC2 anziché al processo, dove invece è archiviato. Se il parametrohost
è vuoto, il daemon Docker assegna un percorso host per il tuo volume di dati, ma non è garantito che i dati vengano mantenuti dopo che viene interrotta l'esecuzione del container a essi associato.I container Windows possono montare intere directory sulla stessa unità di
$env:ProgramData
.Nota
Il
sourcePath
parametro è supportato solo quando si utilizzano attività ospitate su istanze Amazon EC2.sourcePath
-
▬Tipo: stringa
Campo obbligatorio: no
Quando viene utilizzato il parametro
host
, specifica unsourcePath
per dichiarare il percorso sull'istanza Amazon EC2 dell'host presentata al container. Se questo parametro è vuoto, il daemon Docker assegna automaticamente un percorso host. Se il parametrohost
contiene una posizione del filesourcePath
, il volume di dati rimane nella posizione specificata sull'istanza Amazon EC2 dell'host finché non viene eliminato manualmente. Se il valoresourcePath
non esiste nell'istanza Amazon EC2 dell'host, viene creato automaticamente dal daemon Docker. Se la posizione è presente, i contenuti della cartella del percorso di origine vengono esportati.
configuredAtLaunch
-
Tipo: Booleano
Campo obbligatorio: no
Speciifica se un volume è configurabile all'avvio. Se impostato su
true
, è possibile configurare il volume durante l'esecuzione di un'attività autonoma o durante la creazione o l'aggiornamento di un servizio. Se impostato sutrue
, non sarà possibile fornire un'altra configurazione del volume nella definizione dell'attività. Questo parametro deve essere impostato pertrue
configurare un volume Amazon EBS da allegare a un'attività. L'impostazioneconfiguredAtLaunch
true
e il rinvio della configurazione del volume alla fase di avvio consentono di creare definizioni di attività che non sono limitate a un tipo di volume o a impostazioni di volume specifiche. In questo modo la definizione delle attività è riutilizzabile in diversi ambienti di esecuzione. Per ulteriori informazioni, consulta Volumi Amazon EBS. dockerVolumeConfiguration
-
Tipo: oggetto DockerVolumedi configurazione
Campo obbligatorio: no
Questo parametro viene specificato quando si utilizzano volumi docker. I volumi Docker sono supportati solo durante l'esecuzione di attività su istanze EC2. I contenitori Windows supportano solo l'uso del driver.
local
Per utilizzare i montaggi vincolati, specifica invece unhost
.scope
-
▬Tipo: stringa
Valori validi:
task
|shared
Campo obbligatorio: no
L'ambito del volume Docker che determina il suo ciclo di vita. I volumi Docker che rientrano nell'ambito
task
vengono automaticamente assegnati all'avvio del processo e distrutti quando il processo viene arrestato. I volumi Docker che vengono definiti comeshared
vengono mantenuti dopo l'arresto del processo. autoprovision
-
Tipo: Booleano
Valore predefinito:
false
Campo obbligatorio: no
Se questo valore è
true
, viene creato il volume Docker, se non è già presente. Questo campo viene utilizzato solo sescope
èshared
. Sescope
ètask
, allora questo parametro deve essere omesso o impostatofalse
su. driver
-
▬Tipo: stringa
Campo obbligatorio: no
Il driver del volume Docker da utilizzare. Il valore del driver deve corrispondere al nome del driver fornito da Docker perché questo nome viene utilizzato per il posizionamento delle attività. Se il driver è stato installato utilizzando la CLI del plug-in Docker,
docker plugin ls
utilizzalo per recuperare il nome del driver dall'istanza del contenitore. Se il driver è stato installato utilizzando un altro metodo, utilizza Docker plugin discovery per recuperare il nome del driver. Per ulteriori informazioni, consulta l'argomento relativo al rilevamento del plug-in Docker. Questo parametro fa riferimento a Driver
nella sezione Create a volume(Crea un volume) di Docker Remote API e all'opzione --driver
indocker volume create
. driverOpts
-
▬Tipo: stringa
Campo obbligatorio: no
Una mappa delle opzioni specifiche del driver Docker da esaminare. Questo parametro fa riferimento a
DriverOpts
nella sezione Create a volume(Crea un volume) di Docker Remote API e all'opzione --opt
indocker volume create
. labels
-
▬Tipo: stringa
Campo obbligatorio: no
Metadati personalizzati da aggiungere al volume Docker. Questo parametro fa riferimento a
Labels
nella sezione Create a volume(Crea un volume) di Docker Remote API e all'opzione --label
indocker volume create
.
efsVolumeConfiguration
-
Tipo: VolumeConfiguration oggetto EFS
Campo obbligatorio: no
Questo parametro viene specificato quando si utilizzano volumi Amazon EFS.
fileSystemId
-
Tipo: stringa
Campo obbligatorio: sì
L'ID del file system Amazon EFS da utilizzare.
rootDirectory
-
▬Tipo: stringa
Campo obbligatorio: no
La directory all'interno del file system Amazon EFS da montare come directory principale all'interno dell'host. Se questo parametro viene omesso, verrà utilizzata la radice del volume Amazon EFS. La specifica di
/
avrà lo stesso effetto dell'omissione di questo parametro.Importante
Se un punto di accesso EFS è specificato in
authorizationConfig
, il parametro della directory principale deve essere omesso o impostato su/
, il che applicherà il percorso impostato sul punto di accesso EFS. transitEncryption
-
▬Tipo: stringa
Valori validi:
ENABLED
|DISABLED
Campo obbligatorio: no
Specifica se abilitare o meno la crittografia per i dati Amazon EFS in transito tra l'host Amazon ECS e il server Amazon EFS. Se si utilizza l'autorizzazione IAM di Amazon EFS, è necessario abilitare la crittografia di transito. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di
DISABLED
. Per ulteriori informazioni, consulta Crittografia dei dati in transito nella Guida per l'utente di Amazon Elastic File System. transitEncryptionPort
-
Tipo: integer
Campo obbligatorio: no
La porta da utilizzare per l'invio di dati crittografati tra l'host Amazon ECS e il server Amazon EFS. Se non specifichi una porta di crittografia di transito, l'attività utilizzerà la strategia di selezione delle porte utilizzata dall'helper di montaggio di Amazon EFS. Per ulteriori informazioni, consulta Assistente per il montaggio di EFS nella Guida per l'utente di Amazon Elastic File System.
authorizationConfig
-
Tipo: AuthorizationConfiguration oggetto EFS
Campo obbligatorio: no
I dettagli di configurazione dell'autorizzazione per il file system Amazon EFS.
accessPointId
-
▬Tipo: stringa
Campo obbligatorio: no
L'ID del punto di accesso da utilizzare. Se viene specificato un punto di accesso, il valore della directory principale in
efsVolumeConfiguration
deve essere omesso o impostato su/
, il che applicherà il percorso impostato sul punto di accesso EFS. Se si utilizza un punto di accesso, la crittografia di transito deve essere abilitata inEFSVolumeConfiguration
. Per ulteriori informazioni, consulta Utilizzo dei punti di accesso Amazon EFS nella Guida per l'utente di Amazon Elastic File System. iam
-
▬Tipo: stringa
Valori validi:
ENABLED
|DISABLED
Campo obbligatorio: no
Speciifica se utilizzare il ruolo IAM dell'attività Amazon ECS definito in una definizione di attività durante il montaggio del file system Amazon EFS. Se abilitato, la crittografia di transito deve essere abilitata nella casella
EFSVolumeConfiguration
. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito diDISABLED
. Per ulteriori informazioni consulta Ruoli IAM per le attività.
FSxWindowsFileServerVolumeConfiguration
-
Tipo: oggetto F SxWindows FileServer VolumeConfiguration
Campo obbligatorio: sì
Questo parametro viene specificato quando si utilizza un file system Amazon FSx for Windows File Server per lo storage delle attività.
fileSystemId
-
Tipo: stringa
Campo obbligatorio: sì
L'ID del file system FSx for Windows File Server da utilizzare.
rootDirectory
-
Tipo: stringa
Campo obbligatorio: sì
La directory all'interno del file system FSx for Windows File Server da montare come directory root all'interno dell'host.
authorizationConfig
-
credentialsParameter
-
Tipo: stringa
Campo obbligatorio: sì
Le opzioni delle credenziali di autorizzazione.
opzioni:
Amazon Resource Name (ARN) di un AWS Secrets Managersegreto.
ARN di un AWS Systems Managerparametro.
domain
-
Tipo: stringa
Campo obbligatorio: sì
Un nome di dominio completo ospitato da una directory AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD) o da un Active Directory EC2 ospitato autonomamente.
Tag
Quando registri una definizione di attività, puoi facoltativamente specificare tag di metadati applicati alla definizione di attività. I tag consentono di suddividere in categorie e organizzare la definizione di attività. Ciascun tag è formato da una chiave e da un valore facoltativo. Li definisci entrambi. Per ulteriori informazioni, consulta Taggare le risorse Amazon ECS.
Importante
Non aggiungere Informazioni personali di identificazione o altre informazioni riservate o sensibili nei tag. I tag sono accessibili a molti AWS servizi, inclusa la fatturazione. I tag non sono destinati a essere utilizzati per dati privati o sensibili.
I seguenti parametri sono consentiti in un oggetto di tag.
key
-
▬Tipo: stringa
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
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).
Altri parametri di definizione di attività
I seguenti parametri di definizione di attività possono essere utilizzati quando si registrano le definizioni di attività nella console Amazon ECS con l'opzione Configure via JSON (Configura tramite JSON). Per ulteriori informazioni, consulta Creazione di una definizione di attività Amazon ECS utilizzando la console.
Archiviazione temporanea
ephemeralStorage
-
Tipo: oggetto EphemeralStorage
Campo obbligatorio: no
La quantità di archiviazione temporanea in GB da allocare per l'attività. Questo parametro viene utilizzato per espandere la quantità totale di archiviazione temporanea disponibile, oltre l'importo predefinito, per le attività ospitate su AWS Fargate. Per ulteriori informazioni, consulta Usa i bind mount con Amazon ECS.
Nota
Questo parametro è supportato solo per le attività ospitate su AWS Fargate che utilizzano la versione della piattaforma
1.4.0
o successive (Linux) oppure1.0.0
o successive (Windows).
Modalità IPC
ipcMode
-
▬Tipo: stringa
Campo obbligatorio: no
Lo spazio dei nomi della risorsa IPC da utilizzare per i container nell'attività. I valori validi sono
host
,task
onone
. Se è specificatohost
, tutti i container all'interno delle attività che hanno specificato la modalitàhost
IPC sulla stessa istanza di container condividono le stesse risorse IPC con l'istanza host Amazon EC2. Se è stato specificatotask
, tutti i container all'interno dell'attività specificata condividono le stesse risorse IPC. Se è stato specificatonone
, le risorse IPC all'interno dei container di un'attività sono private e non condivise con altri container in un'attività o sull'istanza di container. Se non è stato specificato alcun valore, la condivisione dello spazio dei nomi della risorsa IPC dipende dalle impostazioni del daemon Docker sull'istanza del container. Per ulteriori informazioni, consulta l'argomento relativo alle impostazioni IPCnella documentazione di riferimento di Docker run. Se viene utilizzata la modalità
host
IPC, tieni presente che esiste un maggiore rischio di esposizione a spazi dei nomi IPC indesiderati. Per ulteriori informazioni, consulta Docker security. Se stai impostando parametri kernel associati a uno spazio dei nomi utilizzando
systemControls
per i container nell'attività, allo spazio dei nomi della risorsa IPC si applica quanto segue. Per ulteriori informazioni, consulta Controlli di sistema.-
Per le attività che utilizzano la modalità
host
IPC, spazi dei nomi IPC correlati asystemControls
non sono supportati. -
Per le attività che utilizzano la modalità
task
IPC,systemControls
correlati allo spazio dei nomi IPC vengono applicati a tutti i container all'interno di un'attività.
-
Nota
Questo parametro non è supportato per i container o le attività Windows che utilizzano il tipo di avvio Fargate.
Modalità PID
pidMode
-
▬Tipo: stringa
Valori validi:
host
|task
Campo obbligatorio: no
Lo spazio dei nomi del processo da utilizzare per i container nell'attività. I valori validi sono
host
otask
. Per i container Fargate per Linux, l'unico valore valido ètask
. Ad esempio, i sidecar di monitoraggio potrebbero aver bisogno dipidMode
per accedere a informazioni su altri container in esecuzione nella stessa attività.Se è specificato
host
, tutti i container all'interno delle attività che hanno specificato la modalitàhost
PID sulla stessa istanza di container condividono lo stesso spazio dei nomi dell'attività con l'istanza host Amazon EC2.Se è stato specificato
task
, tutti i container all'interno dell'attività specificata condividono lo stesso spazio dei nomi del processo.Se non è stato specificato alcun valore, l'impostazione predefinita è uno spazio dei nomi privato per ogni container. Per ulteriori informazioni, consulta l'argomento relativo alle impostazioni PID
nella documentazione di riferimento di Docker run. Se viene utilizzata la modalità
host
PID, esiste un maggiore rischio di esposizione a spazi dei nomi di attività indesiderati. Per ulteriori informazioni, consulta Docker security.
Nota
Questo parametro non è supportato per i container Windows.
Nota
Questo parametro è supportato solo per le attività ospitate su AWS Fargate se le attività utilizzano la versione della piattaforma 1.4.0
o successive (Linux). Non è supportato per i container Windows su Fargate.