Parametri di definizione ECS delle attività di Amazon - Amazon Elastic Container Service

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 ECS delle attività di Amazon

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.

È possibile utilizzare questi parametri in un JSON file per configurare la definizione dell'attività.

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 in base al quale Amazon ECS deve convalidare la definizione dell'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 ECS lancio di Amazon.

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: string

Campo obbligatorio: no

Quando registri una definizione di attività, puoi fornire un ruolo di attività per un IAM ruolo che consenta ai contenitori inclusi nell'attività di richiamare per tuo conto i AWS APIs dati specificati nelle politiche associate. Per ulteriori informazioni, consulta IAMRuolo ECS dell'attività di Amazon.

Quando avvii Windows Server ECS ottimizzato per AmazonAMI, IAM i ruoli per le attività su Windows richiedono che l'-EnableTaskIAMRoleopzione sia impostata. I container devono anche eseguire un codice di configurazione per utilizzare la funzionalità. Per ulteriori informazioni, consulta Configurazione aggiuntiva dell'istanza Amazon EC2 Windows.

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 Amazon ECS Container l'autorizzazione a effettuare AWS API chiamate per tuo conto.

Nota

Il ruolo di esecuzione IAM dell'attività è richiesto in base ai requisiti dell'attività. Per ulteriori informazioni, consulta IAMRuolo di esecuzione delle ECS attività di Amazon.

Modalità di rete

networkMode

Tipo: string

Campo obbligatorio: no

La modalità di rete Docker da utilizzare per i container nel processo. Per ECS le attività Amazon ospitate su istanze Amazon EC2 Linux, i valori validi sononone, bridgeawsvpc, ehost. Se non viene specificata alcuna modalità di rete, la modalità di rete predefinita èbridge. Per ECS le attività di Amazon ospitate su istanze Amazon EC2 Windows, i valori validi sonodefault, eawsvpc. Se non viene specificata alcuna modalità di rete, viene utilizzata la modalità di default rete. Per ECS le attività Amazon ospitate su Fargate, è richiesta la modalità awsvpc 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 è attivabridge, l'attività utilizza la rete virtuale integrata di Docker su Linux, che viene eseguita all'interno di ogni EC2 istanza Amazon che ospita l'attività. La rete virtuale integrata su Linux utilizza il driver di rete bridge Docker.

Se la modalità di rete èhost, l'attività utilizza la rete dell'host che aggira la rete virtuale integrata di Docker mappando le porte dei container direttamente sull'EC2istanza Amazon che ospita ENI 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 di hostPort specifico. Un numero di porta su un host non può essere utilizzato da più attività. Di conseguenza, non puoi eseguire più attività con la stessa definizione di attività su una singola EC2 istanza Amazon.

Importante

Quando esegui attività che utilizzano la modalità di host rete, non eseguire contenitori utilizzando l'utente root (UID0) per una maggiore sicurezza. Come best practice per la sicurezza, utilizza sempre un utente non root.

Per i tipi di EC2 avvio di Amazon, se la modalità di rete èawsvpc, all'attività viene assegnata un'interfaccia di rete elastica ed è necessario specificare un NetworkConfiguration quando si crea un servizio o si esegue un'attività con la definizione dell'attività. Per ulteriori informazioni, consulta Opzioni di Amazon ECS Task Networking per il tipo di EC2 avvio.

Se la modalità di rete è attivadefault, l'attività utilizza la rete virtuale integrata di Docker su Windows, che viene eseguita all'interno di ogni EC2 istanza Amazon che ospita l'attività. La rete virtuale integrata su Windows utilizza il driver di rete nat Docker.

Per i tipi di avvio di Fargate, quando la modalità di rete è attivaawsvpc, all'operazione viene assegnata un'interfaccia di rete elastica ed è necessario specificare a NetworkConfiguration quando si crea un servizio o si esegue un'attività con la definizione dell'attività. Per ulteriori informazioni, consulta Opzioni di ECS task networking di Amazon per il tipo di lancio Fargate. La modalità awsvpc di rete offre le massime prestazioni di rete per i container perché utilizzano lo stack EC2 di rete Amazon. 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 awsvpc rete host e offrono le massime prestazioni di rete per i container perché utilizzano lo stack EC2 di rete Amazon. Con le modalità di rete host e awsvpc, le porte dei container esposte sono mappate direttamente alla porta host corrispondente (per la modalità di rete host) o alla porta dell'interfaccia di rete elastica collegata (per la modalità di rete awsvpc). Pertanto, non puoi utilizzare le mappature delle porte host dinamiche.

Con il tipo di avvio Fargate, la modalità di rete awsvpc è obbligatoria. Se si utilizza il tipo di EC2 avvio, la modalità di rete consentita dipende dal sistema operativo dell'EC2istanza sottostante. Con Linux, può essere utilizzata qualsiasi modalità di rete. Se Windows, possono essere utilizzate le modalità default e awsvpc.

Piattaforma di runtime

operatingSystemFamily

Tipo: stringa

Obbligatorio: condizionale

Impostazione predefinita: LINUX

Questo parametro è obbligatorio per le ECS attività di Amazon ospitate su Fargate.

Quando registri una definizione di attività, devi specificare la famiglia del sistema operativo.

I valori validi per ECS le attività di Amazon ospitate su Fargate sonoLINUX,, WINDOWS_SERVER_2019_FULL WINDOWS_SERVER_2019_COREWINDOWS_SERVER_2022_FULL, e. WINDOWS_SERVER_2022_CORE

I valori validi per ECS le attività di Amazon ospitate su Amazon EC2 sono LINUX WINDOWS_SERVER_2022_CORE WINDOWS_SERVER_2022_FULLWINDOWS_SERVER_2019_FULL,WINDOWS_SERVER_2019_CORE,WINDOWS_SERVER_2016_FULL, eWINDOWS_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 è obbligatorio per le ECS attività di Amazon ospitate su Fargate. Se il parametro viene lasciato come null, il valore predefinito viene assegnato automaticamente all'avvio di un'attività ospitata su Fargate.

Quando si registra una definizione di attività, si specifica l'CPUarchitettura. I valori validi sono X86_64 e ARM64.

Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.

Quando hai attività Linux per il tipo di avvio Fargate o per il tipo di EC2 avvio, puoi impostare il valore su. ARM64 Per ulteriori informazioni, consulta Definizioni delle ECS attività di Amazon per carichi di ARM lavoro a 64 bit.

Dimensioni processo

Quando si registra una definizione di attività, è possibile specificare il totale CPU e la memoria utilizzata per l'attività. Questo valore è separato dai valori cpu e memory a livello di definizione del container. Per le attività ospitate su EC2 istanze Amazon, 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 a livello di attività CPU e di memoria vengono ignorati per i contenitori 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 massimo di CPU unità da presentare per l'attività. È possibile specificare CPU i valori nel JSON file come stringa in CPU unità o virtual CPUs (vCPUs). Ad esempio, è possibile specificare un CPU valore 1024 in CPU unità o 1 vCPU invCPUs. Quando viene registrata la definizione dell'attività, un CPU valore v viene convertito in un numero intero che indica le CPU unità.

Per le attività eseguite su istanze esterne EC2 o su istanze esterne, questo campo è facoltativo. Se il cluster non dispone di istanze di container registrate con le CPU unità richieste disponibili, l'operazione ha esito negativo. I valori supportati per le attività eseguite su istanze esterne EC2 o su istanze esterne sono compresi tra e 0.125 vCPUs . 10 vCPUs

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 mostra le combinazioni valide di livello di attività e memoriaCPU.

CPU value Valore memoria Sistemi operativi supportati per AWS Fargate
256 (2,5 v) CPU 512 MiB, 1 GB, 2 GB Linux
512 (0,5 v) CPU 1 GB, 2 GB, 3 GB, 4 GB Linux
1024 (1 v) CPU 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB Linux, Windows
2048 (2 v) CPU Tra 4 GB e 16 GB in incrementi di 1 GB Linux, Windows
4096 (4 v) CPU Tra 8 GB e 30 GB in incrementi di 1 GB Linux, Windows
8192 (8 v) CPU
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 (16 v) CPU
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 massimo di memoria da dedicare 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 o 3 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 EC2 istanze Amazon, 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 dei container 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) CPU value Sistemi operativi supportati per Fargate
512 (0,5 GB), 1024 (1 GB), 2048 (2 GB) 256 (0,25 v) CPU Linux
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 512 (0,5 v) CPU Linux
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 1024 (1 v) CPU Linux, Windows
Tra 4096 (4 GB) e 16384 (16 GB) in incrementi di 1024 (1 GB) 2048 (2 v) CPU Linux, Windows
Tra 8192 (8 GB) e 30720 (30 GB) in incrementi di 1024 (1 GB) 4096 (4 v) CPU 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 v) CPU

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 (16 v) CPU Linux

Definizioni del container

Quando si registra una definizione di attività, è necessario specificare un elenco di definizioni di contenitore che vengono passate a Docker demone su un'istanza del contenitore. I seguenti parametri sono consentiti in una definizione del container.

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 parametro links 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 passata direttamente al Docker demone. Per impostazione predefinita, le immagini in Docker Hub il registro è disponibile. Puoi anche specificare altri repository con repository-url/image:tag o repository-url/image@digest. 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 è Image mappato al comando docker create-container e al parametro IMAGE del comando docker run.

  • Quando inizia una nuova attività, l'agente Amazon ECS Container recupera la versione più recente dell'immagine e del tag specificati da utilizzare per il contenitore. 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 ECR repository Amazon possono essere specificate utilizzando la convenzione completa registry/repository:tag o di registry/repository@digest denominazione (ad esempio, aws_account_id.dkr.ecr.region.amazonaws.com /my-web-app:latest o aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE).

  • Immagini nei repository ufficiali su Docker Hub usa un solo nome (ad esempio, ubuntu omongo).

  • Immagini in altri repository su Docker Hub sono qualificati con il nome di un'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).

versionConsistency

Tipo: stringa

Valori validi: enabled|disabled

Campo obbligatorio: no

Speciifica se Amazon ECS risolverà il tag dell'immagine del contenitore fornito nella definizione del contenitore in un digest di immagini. Per impostazione predefinita, questo comportamento è. enabled Se imposti il valore per un contenitore comedisabled, Amazon non ECS risolverà il tag dell'immagine del contenitore in un digest e utilizzerà l'immagine originale URI specificata nella definizione del contenitore per la distribuzione. Per ulteriori informazioni sulla risoluzione dell'immagine del contenitore, consultaRisoluzione dell'immagine del contenitore.

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 Memory al comando docker create-container e --memory all'opzione docker run.

Se utilizzi il tipo di avvio Fargate, questo parametro è facoltativo.

Se utilizzi il tipo di EC2 avvio, devi specificare un valore di memoria a livello di attività o un valore di memoria a livello di contenitore. Se specifichi sia un valore di memory a livello di container che un valore di memoryReservation, memory deve essere maggiore del valore di memoryReservation. Se specifichi memoryReservation, 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 valore memory.

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 dei container 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 mantenere la memoria del contenitore 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 MemoryReservation al comando docker create-container e --memory-reservation all'opzione 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 o memoryReservation in una definizione del container. Se specifichi entrambe, memory deve essere superiore a memoryReservation. Se specifichi memoryReservation, 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 valore memory.

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 rigido memory 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 dei container Amazon ECS Linux.

Mappature di porte

portMappings

Tipo: array di oggetti

Campo obbligatorio: no

Le mappature delle porte espongono le porte di rete del contenitore al mondo esterno. Ciò consente ai client di accedere all'applicazione. Viene anche utilizzato per la comunicazione tra container nell'ambito della stessa attività.

Per le definizioni delle attività (sia il tipo Fargate che quello di EC2 avvio) che utilizzano la modalità awsvpc di rete, specificare solo. containerPort hostPortViene sempre ignorato e la porta del contenitore viene mappata automaticamente su una porta casuale con numero alto sull'host.

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 (inclusocontainerPort,hostPort,protocol) è mappata PortBindings al comando docker create-container e --publish all'opzione 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: DescribeTasks La risposta.

  • Metadati: l'endpoint dei metadati dell'attività.

appProtocol

Tipo: string

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 della connessione specifica del protocollo al proxy di service connect. Se imposti questo parametro, Amazon ECS aggiunge la telemetria specifica del protocollo nella console Amazon e. ECS CloudWatch

Se non imposti un valore per questo parametro, viene utilizzato. TCP Tuttavia, Amazon ECS non aggiunge telemetria specifica per il protocollo. TCP

Per ulteriori informazioni, consulta Usa Service Connect per connettere ECS i servizi Amazon 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.

Per le attività che utilizzano il tipo di avvio Fargate o EC2 le attività che utilizzano la modalità di awsvpc rete, è containerPort necessario specificare le porte esposte.

Per i container Windows su Fargate, non è possibile utilizzare la porta 3150 per containerPort. Questo perché la porta è riservata.

Supponiamo di utilizzare contenitori in un'attività con il tipo di EC2 avvio e di specificare una porta contenitore e non una porta 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: string

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. register-task-definition API L'opzione è disponibile nel parametro portMappings. Per ulteriori informazioni, consulta register-task-definition nella documentazione di riferimento AWS Command Line Interface .

Quando specifichi un containerPortRange, si applicano le seguenti regole:

  • Devi utilizzare la modalità di rete bridge o la modalità di rete awsvpc.

  • Questo parametro è disponibile sia per il tipo di lancio di EC2 Fargate che per quello di 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, la hostPort è impostata sullo stesso valore della containerPort. Questa è una strategia di mappatura statica.

    • Per i contenitori in un'attività con la modalità di bridge rete, l'ECSagente Amazon trova le porte host aperte dall'intervallo temporaneo predefinito e le passa a docker per collegarle alle porte del contenitore.

  • 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 docker-proxy nel Docker file di configurazione del demone quando si dispone di un numero elevato di porte.

    Per ulteriori informazioni, consultate il numero #11185 su. GitHub

    Per informazioni su come disattivare il docker-proxy nel Docker file di configurazione del demone, vedere Docker daemon nella Amazon ECS Developer Guide.

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 ECS attività di Amazon, a cui vengono inviati EventBridge. Per ulteriori informazioni, consulta Automatizza le risposte agli ECS errori di Amazon utilizzando EventBridge.

hostPortRange

Tipo: string

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'ECSagente Amazon.

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 di containerPort.

Supponiamo di utilizzare contenitori in un'attività con il tipo di EC2 avvio. 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 su 0) specificando containerPort. Il container riceve automaticamente una porta nell'intervallo di porte temporanee per il sistema operativo dell'istanza di container e Docker versione. Questa operazione viene definita mappatura dinamica delle porte dell'host.

L'intervallo di porte effimere predefinito Docker la versione 1.6.0 e successive è elencata nell'istanza sotto. /proc/sys/net/ipv4/ip_local_port_range Se questo parametro kernel non è disponibile, viene utilizzato l'intervallo delle porte temporaneo di default da 49153–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 di 32768 non rientrano nell'intervallo delle porte temporanee.

Le porte riservate predefinite sono 22 perSSH, Docker porte 2375 e 2376 porte Amazon ECS Container Agent51678-51680. 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 parametro remainingResources 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, richiesto per la configurazione di Service Connect e VPC Lattice in un servizio

Il nome utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect e VPC Lattice. Questo parametro è il nome utilizzato nella configurazione Service Connect and VPC Lattice di un servizio.

Per ulteriori informazioni, consulta Usa Service Connect per connettere ECS i servizi Amazon con nomi brevi.

Nell'esempio seguente, vengono utilizzati entrambi i campi obbligatori per Service Connect e VPC Lattice.

"portMappings": [ { "name": string, "containerPort": integer } ]
protocol

Tipo: string

Campo obbligatorio: no

Il protocollo utilizzato per la mappatura delle porte. I valori validi sono tcp e udp. Il valore predefinito è tcp.

Importante

È supportato solo tcp per Service Connect. Ricorda che tcp è implicito se questo campo non è impostato.

Importante

UDPil supporto è disponibile solo sulle istanze di container lanciate con la versione 1.2.0 di Amazon ECS Container Agent (come la amzn-ami-2015.03.c-amazon-ecs-optimizedAMI) o successiva, o con agenti 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 ECS container Amazon.

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 del repository privato.

Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.

Nota

Quando utilizzi Amazon o ECS API AWS CLI AWS SDKs, se il segreto esiste nella stessa regione dell'attività che stai avviando, puoi utilizzare il nome completo ARN o il nome del segreto. Quando usi il AWS Management Console, devi specificare ARN l'intero 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 dei contenitori forniscono funzionalità estese al comando docker run utilizzato per avviare contenitori sulle istanze di ECS container Amazon.

Politica di riavvio

restartPolicy

La politica di riavvio del contenitore e i parametri di configurazione associati. Quando imposti una politica di riavvio per un container, Amazon ECS può riavviare il container senza dover sostituire l'attività. Per ulteriori informazioni, consulta Riavvia i singoli contenitori nelle ECS attività di Amazon con le politiche di riavvio dei contenitori.

enabled

Tipo: Booleano

Campo obbligatorio: sì

Speciifica se è abilitata una politica di riavvio per il contenitore.

ignoredExitCodes

Tipo: array di numeri interi

Campo obbligatorio: no

Un elenco di codici di uscita che Amazon ECS ignorerà e non tenterà di riavviare. Puoi specificare un massimo di 50 codici di uscita del contenitore. Per impostazione predefinita, Amazon ECS non ignora alcun codice di uscita.

restartAttemptPeriod

Tipo: integer

Campo obbligatorio: no

Un periodo di tempo (in secondi) durante il quale il contenitore deve essere eseguito prima di poter tentare il riavvio. Un contenitore può essere riavviato solo una volta ogni secondo. restartAttemptPeriod Se un contenitore non è in grado di funzionare per questo periodo di tempo e esce in anticipo, non verrà riavviato. È possibile impostare un minimo restartAttemptPeriod di 60 secondi e un massimo restartAttemptPeriod di 1800 secondi. Per impostazione predefinita, un contenitore deve funzionare per 300 secondi prima di poter essere riavviato.

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 ECS delle attività di Amazon 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 con CMD-SHELL per eseguire il comando con la shell predefinita del container. Se non è specificato nessuno dei due, viene utilizzato CMD.

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 AWS Management Console JSON pannelloAPIs, racchiudete l'elenco dei comandi tra parentesi. AWS CLI 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.

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.

Se un controllo dello stato va a buon fine all'interno di startPeriod, il container è considerato integro e gli errori successivi vengono conteggiati rispetto al numero massimo di nuovi tentativi.

Ambiente

cpu

Tipo: integer

Campo obbligatorio: no

Il numero di cpu unità che l'agente di ECS container di Amazon riserva per il container. Su Linux, questo parametro viene CpuShares mappato alla sezione Crea un contenitore.

Questo campo è facoltativo solo per le attività che utilizzano il tipo di avvio Fargate. La quantità totale di risorse CPU riservate per tutti i contenitori che fanno parte di un'attività deve essere inferiore al valore a livello di attivitàcpu.

Nota

Puoi determinare il numero di CPU unità disponibili per ogni tipo di EC2 istanza Amazon. A tale scopo, moltiplica il numero di istanze vCPUs elencate per quel tipo di istanza nella pagina dei dettagli di Amazon EC2 Instances per 1.024.

Linux i contenitori condividono le CPU unità non allocate con altri contenitori sull'istanza del contenitore con lo stesso rapporto tra la loro quantità allocata. Ad esempio, supponiamo di eseguire un'attività a contenitore singolo su un tipo di istanza single-core con 512 CPU unità specificate per quel contenitore. Inoltre, tale attività è l'unica in esecuzione sull'istanza di container. In questo esempio, il contenitore può utilizzare l'intera condivisione di 1.024 CPU unità in un dato momento. Tuttavia, si supponga di aver avviato un'altra copia della stessa attività su quell'istanza di container. A ogni attività è garantito un minimo di 512 CPU unità quando necessario. Allo stesso modo, se l'altro contenitore non utilizza il restoCPU, ogni contenitore può essere CPU utilizzato più spesso. Tuttavia, se entrambe le attività sono sempre state attive al 100%, sono limitate a 512 CPU unità.

Abilitato Linux istanze del contenitore, il Docker il demone sull'istanza del contenitore utilizza il CPU valore per calcolare i rapporti di CPU condivisione relativi per i contenitori in esecuzione. Il valore di CPU condivisione minimo valido consentito dal kernel Linux è 2 e il valore di CPU condivisione massimo valido consentito dal kernel Linux è 262144. Tuttavia, il CPU parametro non è obbligatorio ed è possibile utilizzare CPU valori inferiori a due e superiori a 262144 nelle definizioni dei contenitori. Per CPU valori inferiori a due (incluso null) e superiori a 262144, il comportamento varia in base alla versione di Amazon ECS Container Agent in uso:

  • Versioni dell'agente <= 1.1.0: i valori null e zero vengono passati a CPU Docker come 0. Docker quindi converte questo valore in 1.024 CPU azioni. CPUi valori di uno vengono passati a Docker come uno, quale Linux il kernel si converte in due CPU condivisioni.

  • Versioni dell'agente >= 1.2.0: Null, zero e CPU i valori di uno vengono passati a Docker come due azioni. CPU

  • Versioni dell'agente >= 1.84.0: CPU i valori superiori a 256 v CPU vengono passati a Docker come 256, che equivale a 262144 azioni. CPU

Abilitato Windows nelle istanze di container, la CPU quota viene applicata come quota assoluta. Windows i contenitori hanno accesso solo alla quantità CPU specificata definita nella definizione dell'attività. Viene passato un CPU valore nullo o zero a Docker come0. Windows quindi interpreta questo valore come l'1% di unoCPU.

Per altri esempi, consulta Come Amazon ECS gestisce CPU le risorse di memoria.

gpu

Tipo: oggetto ResourceRequirement

Campo obbligatorio: no

Il numero di unità fisiche GPUs che l'agente di Amazon ECS Container riserva per il container. Il numero di contenitori GPUs riservati per tutti i contenitori di un'attività non deve superare il numero di quelli disponibili GPUs sull'istanza del contenitore su cui viene avviata l'attività. Per ulteriori informazioni, consulta Definizioni ECS delle attività Amazon per i GPU carichi di lavoro.

Nota

Questo parametro non è supportato per Windows contenitori o contenitori ospitati su Fargate.

Elastic Inference accelerator

Tipo: oggetto ResourceRequirement

Campo obbligatorio: no

Per il tipo InferenceAccelerator, il value corrisponde a deviceName per un InferenceAccelerator specificato in una definizione di attività. Per ulteriori informazioni, consulta Nome dell'acceleratore di inferenza elastica.

Nota

Questo parametro non è supportato per Windows contenitori o contenitori ospitati su Fargate.

essential

Tipo: Booleano

Campo obbligatorio: no

Si supponga che il parametro essential di un container sia contrassegnato come true 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 parametro essential di un container è contrassegnato come false, 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 di Amazon ECS Container Agent non gestiscono correttamente entryPoint i parametri. In caso di problemi durante l'utilizzo entryPoint, aggiorna l'agente del container o inserisci i comandi e gli argomenti come elementi di matrice command.

Tipo: array di stringhe

Campo obbligatorio: no

Il punto di ingresso che viene trasmesso al container.

"entryPoint": ["string", ...]
command

Tipo: array di stringhe

Campo obbligatorio: no

Il comando che viene inviato al container. Questo parametro è Cmd mappato al comando create-container e il COMMAND parametro a docker run. In caso di più argomenti, ognuno di questi deve essere una stringa separata nella matrice.

"command": ["string", ...]
workingDirectory

Tipo: string

Campo obbligatorio: no

La directory di lavoro nel container in cui eseguire i comandi. Questo parametro è WorkingDir mappato alla sezione Crea un contenitore del Docker Remote API e all'opzione a. --workdir 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'--env-fileopzione del comando docker run.

Quando FIPS è abilitato su un host che utilizza il tipo di EC2 avvio, i nomi dei bucket con punti (.) (ad esempio, amzn-s3-demo-bucket1.name.example) non sono supportati. La presenza di punti (.) nel nome del bucket impedisce l'avvio dell'attività perché l'agente non può estrarre il file della variabile di ambiente da Amazon S3.

Questo non è disponibile per Windows contenitori e container 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 formato VARIABLE=VALUE. Le righe che iniziano con # vengono trattate come commenti e vengono ignorate.

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 ECS container Amazon.

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 è Env mappato al comando docker create-container e l'opzione --env al comando 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 ECS contenitore Amazon.

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 completo (ARN) del AWS Secrets Manager segreto o l'intero ARN AWS Systems Manager parametro nel Parameter Store.

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 il nome completo ARN o il nome del segreto. Se il parametro esiste in una regione diversa, è ARN necessario specificare il valore 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.

Nota

Questo parametro non è supportato per Windows contenitori o attività che utilizzano la modalità awsvpc di rete.

Il valore predefinito è false.

"disableNetworking": true|false

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 su bridge. Il name:internalName costrutto è analogo a in name:alias Docker collegamenti. Sono consentiti fino a 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura.

Nota

Questo parametro non è supportato per Windows contenitori o attività che utilizzano la modalità awsvpc di rete.

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 della rete su un'istanza del contenitore è controllato da gruppi e VPC impostazioni di sicurezza.

"links": ["name:internalName", ...]
hostname

Tipo: string

Campo obbligatorio: no

Il nome host da utilizzare per il container. Questo parametro è mappato Hostname al docker create-container e --hostname all'opzione docker run.

Nota

Se utilizzi la modalità di rete awsvpc, il parametro hostname non è supportato.

"hostname": "string"
dnsServers

Tipo: array di stringhe

Campo obbligatorio: no

Un elenco di DNS server che vengono presentati al contenitore.

Nota

Questo parametro non è supportato per Windows contenitori o attività che utilizzano la modalità awsvpc di rete.

"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 DNS ricerca che vengono presentati al contenitore. Questo parametro associa DnsSearch nel comando docker create-container l'opzione --dns-search 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 ExtraHosts al comando docker create-container e --add-host all'opzione 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 associa ReadonlyRootfs nel comando docker create-container l'opzione --read-only 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 Volumes al Docker create-container API e --volume all'opzione 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 EBS volume Amazon direttamente a un'ECSattività Amazon.

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.

Per le attività eseguite su EC2 istanze che eseguono il sistema operativo Windows, lasciate il valore predefinito difalse.

volumesFrom

Tipo: array di oggetti

Campo obbligatorio: no

I volumi di dati da montare da un altro container. Questo parametro è mappato VolumesFrom al comando docker create-container e --volumes-from all'opzione 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: oggetto LogConfiguration

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 ECS attività Amazon.

Questo parametro è mappato LogConfig al comando docker create-container e --log-driver all'opzione docker run. Per impostazione predefinita, i contenitori utilizzano lo stesso driver di registrazione del Docker daemon utilizza. Tuttavia, il contenitore potrebbe utilizzare un driver di registrazione diverso dal Docker daemon specificando un driver di registro con questo parametro nella definizione del contenitore. 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).

Si noti quanto segue quando si specifica una configurazione di log per i container:

  • Amazon ECS supporta un sottoinsieme dei driver di registrazione disponibili per Docker demone. Nelle future versioni di Amazon ECS Container Agent potrebbero essere disponibili driver di log aggiuntivi.

  • Questo parametro richiede la versione 1.18 o successiva di Docker Remoto API sull'istanza del contenitore.

  • Per le attività che utilizzano il tipo di EC2 avvio, l'agente ECS container Amazon che viene eseguito su un'istanza di contenitore deve registrare i driver di registrazione disponibili su quell'istanza con la variabile di ECS_AVAILABLE_LOGGING_DRIVERS ambiente prima che i contenitori posizionati su quell'istanza possano utilizzare queste opzioni di configurazione del registro. Per ulteriori informazioni, consulta Configurazione di Amazon ECS Container Agent.

  • Per le attività che utilizzano il tipo di avvio Fargate, è necessario installare qualsiasi software aggiuntivo al di fuori dell'operazione. Ad esempio, Fluentd aggregatori di output o un host remoto che esegue Logstash da inviare Gelf accede a.

"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 cui l'agente Amazon ECS Container può comunicare.

Per le attività che utilizzano il tipo di avvio Fargate, i driver di log supportati sono awslogs, splunk e awsfirelens.

Per le attività che utilizzano il tipo di EC2 avvio, i driver di registro supportati sono awslogs fluentdgelf,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 ECS log di Amazon a CloudWatch

Per 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 API o successiva di Docker Remote sull'istanza del contenitore.

options

Tipo: mappatura stringa a stringa

Campo obbligatorio: no

La mappa chiave/valore delle opzioni di configurazione per inviare il driver di log.

Le opzioni che puoi specificare dipendono dal driver di registro. Alcune delle opzioni che puoi specificare quando utilizzi il awslogs router per indirizzare i log ad Amazon CloudWatch includono:

awslogs-create-group

Campo obbligatorio: no

Specifica se desideri che il gruppo di log venga creato automaticamente. Se questa opzione non è specificata, viene impostata in modo predefinito su false.

Nota

La policy IAM deve includere l'autorizzazione logs:CreateLogGroup prima di tentare di utilizzare awslogs-create-group.

awslogs-region

Campo obbligatorio: sì

Specificate il Regione AWS driver di awslogs registro a cui inviare i log Docker. Puoi scegliere di inviare tutti i log dai cluster di diverse regioni a una singola regione in Logs. CloudWatch In questo modo saranno tutti visibili in un'unica posizione. In caso contrario, puoi separarli per regione per una maggiore granularità. Assicurati che il gruppo di log specificato esista nella regione definita tramite questa opzione.

awslogs-group

Campo obbligatorio: sì

Assicurati di specificare un gruppo di log a cui il driver di log awslogs invia i flussi di log.

awslogs-stream-prefix

Obbligatorio: . Facoltativo per il tipo di EC2 lancio, obbligatorio per il tipo di lancio Fargate.

Utilizza l'awslogs-stream-prefixopzione per associare un flusso di log al prefisso specificato, al nome del contenitore e all'ID dell'ECSattività Amazon a cui appartiene il contenitore. Se specifichi un prefisso con questa opzione, il flusso di log assume il formato seguente.

prefix-name/container-name/ecs-task-id

Se non specifichi un prefisso con questa opzione, il flusso di log viene denominato secondo l'ID del container assegnato dal daemon Docker nell'istanza di container. Poiché è difficile ricollegare i log al container che li ha inviati con il solo ID container Docker (disponibile solo sulle istanze di container), è consigliabile specificare un prefisso con questa opzione.

Per ECS i servizi Amazon, puoi utilizzare il nome del servizio come prefisso. In questo modo puoi ricollegare i flussi di log al servizio a cui appartiene il container, al nome del container che li ha inviati e all'ID dell'attività a cui appartiene il container.

È necessario specificare un prefisso stream per i log per visualizzarli nel riquadro Log quando si utilizza la console Amazon. ECS

awslogs-datetime-format

Campo obbligatorio: no

Questa opzione definisce un modello di inizio multilinea nel formato strftime Python. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.

Un esempio di un caso d'uso per l'utilizzo di questo formato è per l'analisi di output, ad esempio uno dump dello stack, che potrebbe altrimenti essere registrato in più voci. Il modello corretto consente di acquisirlo in una sola voce.

Per ulteriori informazioni, consulta awslogs-datetime-format.

Non è possibile configurare entrambe le opzioni awslogs-datetime-format e awslogs-multiline-pattern.

Nota

Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.

awslogs-multiline-pattern

Campo obbligatorio: no

Questa opzione definisce un modello di inizio multilinea che utilizza un'espressione regolare. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.

Per ulteriori informazioni, consulta awslogs-multiline-pattern.

Questa opzione viene ignorata se anche awslogs-datetime-format è configurato.

Non è possibile configurare entrambe le opzioni awslogs-datetime-format e awslogs-multiline-pattern.

Nota

Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.

mode

Campo obbligatorio: no

Valori validi: non-blocking | blocking

Questa opzione definisce la modalità di consegna dei messaggi di log dal contenitore ai registri. CloudWatch La modalità di consegna scelta influisce sulla disponibilità dell'applicazione quando il flusso di log dal contenitore a CloudWatch viene interrotto.

Se si utilizza la blocking modalità e il flusso di log verso cui CloudWatch si interrompe, le chiamate provenienti dal codice contenitore su cui scrivere verso stdout e stderr gli stream verranno bloccate. Di conseguenza, il thread di registrazione dell'applicazione si bloccherà. Ciò può causare la mancata risposta dell'applicazione e la presenza di errori nel controllo d'integrità del container.

Se utilizzi la modalità non-blocking, i log del container vengono invece archiviati in un buffer intermedio in memoria configurato con l'opzione max-buffer-size. Ciò impedisce all'applicazione di non rispondere quando non è possibile inviare i log a. CloudWatch Ti consigliamo di utilizzare questa modalità se vuoi garantire la disponibilità del servizio nonostante una certa perdita di log. Per ulteriori informazioni, vedere Prevenzione della perdita di log con la modalità non bloccante nel driver di registro del awslogs contenitore.

max-buffer-size

Campo obbligatorio: no

Valore predefinito: 1m

Quando viene utilizzata la modalità non-blocking, l'opzione di log max-buffer-size controlla la dimensione del buffer utilizzato per l'archiviazione dei messaggi intermedi. Assicurati di specificare una dimensione del buffer adeguata in base all'applicazione in uso. Quando il buffer è pieno, non è possibile archiviare ulteriori log. I log che non possono essere archiviati vengono persi.

Per indirizzare i log utilizzando il splunk log router, è necessario specificare a splunk-token e a. splunk-url

Quando si utilizza il router di awsfirelens log per indirizzare i log verso una AWS Partner Network destinazione Servizio AWS OR per l'archiviazione e l'analisi dei log, è possibile impostare l'log-driver-buffer-limitopzione per limitare il numero di eventi che vengono memorizzati nel buffer prima di essere inviati al contenitore del log router. Può aiutare a risolvere un potenziale problema di perdita di log, poiché un throughput elevato potrebbe causare l'esaurimento della memoria per il buffer interno di Docker. Per ulteriori informazioni, vedereConfigurazione dei ECS log di Amazon per un throughput elevato.

Le altre opzioni che è possibile specificare quando si utilizzano i log di awsfirelens to route dipendono dalla destinazione. Quando esporti i log in Amazon Data Firehose, puoi specificare Regione AWS il region with e un nome per il flusso di log con. delivery_stream

Quando esporti i log in Amazon Kinesis Data Streams, puoi specificare Regione AWS un region with e un nome per il flusso di dati con. stream

Quando esporti i log su Amazon OpenSearch Service, puoi specificare opzioni comeName, Host (Endpoint del OpenSearch servizio senza protocollo),Port,Index,Type, Aws_auth Aws_regionSuppress_Type_Name, e. tls

Quando esporti i log su Amazon S3, puoi specificare il bucket utilizzando l'opzione. bucket Puoi anche specificareregion, total_file_sizeupload_timeout, e use_put_object come opzioni.

Questo parametro richiede la versione 1.19 API o successiva di Docker Remote sull'istanza del contenitore.

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 ECS contenitore Amazon.

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 ECS i log di Amazon a un AWS servizio o AWS 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:::amzn-s3-demo-bucket/fluent.conf|filepath"}. Per ulteriori informazioni, consulta Esempio di definizione di ECS attività Amazon: indirizza i log verso FireLens.

type

Tipo: stringa

Campo obbligatorio: sì

Il router di log da utilizzare. I valori validi sono fluentd o fluentbit.

Sicurezza

Per ulteriori informazioni sulla sicurezza dei container, consulta Amazon ECS Task and Container Security Best practice.

credentialSpecs

Tipo: array di stringhe

Campo obbligatorio: no

Un elenco di file ARNs in SSM o Amazon S3 in un file spec (CredSpec) delle credenziali che configura il contenitore per l'autenticazione Active Directory. Consigliamo di utilizzare questo parametro anziché dockerSecurityOptions. Il numero massimo di è 1. ARNs

Esistono due formati per ciascunoARN.

CredentialSpecDomainless: my ARN

Utilizza credentialspecdomainless:MyARN per fornire un file CredSpec 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.

Specifiche delle credenziali: MY ARN

Utilizza credentialspec:MyARN per fornire un nome a un file CredSpec 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, MyARN sostituiscilo con ARN in SSM o Amazon S3.

credspecÈ necessario fornire un ARN Secrets Manager per un segreto contenente il nome utente, la password e il dominio a cui connettersi. 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, vedere Utilizzo gMSAs per contenitori Windows e Utilizzo gMSAs per contenitori 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 con privileged. Nella maggior parte dei casi, puoi specificare i privilegi esatti necessari utilizzando i parametri specifici anziché privileged.

Questo parametro è mappato Privileged al comando docker create-container e --privileged all'opzione 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: string

Campo obbligatorio: no

L'utente da usare all'interno del container. Questo parametro è mappato User al comando docker create-container e --user all'opzione docker run.

Importante

Quando esegui attività che utilizzano la modalità host di rete, non eseguire contenitori utilizzando l'utente root (0). UID Come best practice per la sicurezza, utilizza sempre un utente non root.

È possibile specificare user utilizzando i seguenti formati. Se si specifica un UID oGID, è necessario specificarlo 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:" | «valuecredentialspec:» CredentialSpecFilePath

Campo obbligatorio: no

Un elenco di stringhe per fornire una configurazione personalizzata per più sistemi di sicurezza. Questo campo non è valido per container in attività che utilizzano il tipo di avvio Fargate.

In Linux tasks onEC2, questo parametro può essere usato per fare riferimento alle etichette personalizzate per SELinux e AppArmor sistemi di sicurezza a più livelli.

Per qualsiasi attivitàEC2, questo parametro può essere utilizzato per fare riferimento a un file di specifiche delle credenziali che configura un contenitore per l'autenticazione di Active Directory. Per ulteriori informazioni, consulta Scopri come utilizzarli gMSAs per i contenitori EC2 Windows per Amazon ECS e Utilizzo gMSA per EC2 Linux contenitori su Amazon ECS.

Questo parametro è mappato SecurityOpt al comando docker create-container e --security-opt all'opzione docker run.

"dockerSecurityOptions": ["string", ...]
Nota

L'agente ECS container Amazon che viene eseguito su un'istanza di contenitore deve registrarsi con le variabili di ECS_APPARMOR_CAPABLE=true ambiente ECS_SELINUX_CAPABLE=true o prima che i contenitori posizionati su quell'istanza possano utilizzare queste opzioni di sicurezza. Per ulteriori informazioni, consulta Configurazione di Amazon ECS Container Agent.

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 Ulimits al comando docker create-container e --ulimit all'opzione docker run.

ECSLe attività Amazon ospitate su Fargate utilizzano i valori limite di risorse predefiniti impostati dal sistema operativo ad eccezione del parametro del limite di nofile risorse. Il limite di risorse nofile imposta una restrizione sul numero di file aperti che un container può utilizzare. Su Fargate, il limite flessibile nofile predefinito è 65535 mentre il limite rigido è 65535. Puoi impostare i valori di entrambi i limiti fino a 1048576. Per ulteriori informazioni, consulta Limiti delle risorse dei processi.

Questo parametro richiede la versione 1.18 API o successiva di Docker Remote sull'istanza del contenitore.

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 di ulimit.

hardLimit

Tipo: integer

Obbligatorio: sì, quando si utilizzano ulimits

Il limite rigido per il tipo ulimit. Il valore può essere specificato in byte, secondi o come conteggio, a seconda deltype. ulimit

softLimit

Tipo: integer

Obbligatorio: sì, quando si utilizzano ulimits

Il limite flessibile per il tipo ulimit. Il valore può essere specificato in byte, secondi o come conteggio, a seconda type del. 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 Labels al comando docker create-container e --label all'opzione docker run.

Questo parametro richiede la versione 1.18 API o successiva di Docker Remote sull'istanza del contenitore.

"dockerLabels": {"string": "string" ...}

Altri parametri di definizione del container

I seguenti parametri di definizione dei contenitori possono essere utilizzati per registrare le definizioni delle attività nella ECS console Amazon utilizzando l'JSONopzione Configure via. Per ulteriori informazioni, consulta Creazione di una definizione di ECS attività Amazon utilizzando la console.

Parametri Linux

linuxParameters

Tipo: oggetto LinuxParameters

Campo obbligatorio: no

Linux-opzioni specifiche applicate al contenitore, ad esempio. KernelCapabilities

Nota

Questo parametro non è supportato per Windows contenitori.

"linuxParameters": { "capabilities": { "add": ["string", ...], "drop": ["string", ...] } }
capabilities

Tipo: oggetto KernelCapabilities

Campo obbligatorio: no

Il Linux funzionalità per il contenitore che vengono aggiunte o eliminate dalla configurazione predefinita fornita da Docker. Per ulteriori informazioni su questi Linux funzionalità, consulta la pagina di manuale di capabilities (7) Linux.

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

Il Linux funzionalità per il contenitore da aggiungere alla configurazione predefinita fornita da Docker. Questo parametro è mappato CapAdd al comando docker create-container e --cap-add all'opzione 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

Il Linux funzionalità che il contenitore può aggiungere alla configurazione predefinita fornita da Docker. Questo parametro è mappato CapAdd al comando docker create-container e --cap-add all'opzione 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

Il Linux funzionalità per la rimozione del contenitore dalla configurazione predefinita fornita da Docker. Questo parametro è mappato CapDrop al comando docker create-container e --cap-drop all'opzione docker run.

devices

Qualsiasi dispositivi host da esporre nel container. Questo parametro è mappato Devices al comando docker create-container e --device all'opzione 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: string

Campo obbligatorio: no

permissions

Le autorizzazioni esplicite da fornire al container per il dispositivo. Di default, il container dispone di autorizzazioni per read, write e mknod 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'--initopzione docker run.

Questo parametro richiede la versione 1.25 API o successiva di Docker Remote sull'istanza del contenitore.

maxSwap

La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene tradotto nell'--memory-swapopzione docker run dove il valore è la somma della memoria del contenitore più il maxSwap valore.

Se viene specificato il valore maxSwap di 0, il container non utilizzerà lo swap. I valori accettati sono 0 o qualsiasi numero intero positivo. Se il parametro maxSwap viene omesso, il container utilizza la configurazione di swap per l'istanza di container su cui è in esecuzione. È necessario impostare un valore maxSwap per il parametro swappiness 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'--shm-sizeopzione 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 di 0 impedisce che si verifichi lo scambio, a meno che non sia necessario. Un valore swappiness di 100 fa sì che le pagine vengano scambiate frequentemente. I valori accettati sono numeri interi compresi tra 0 e 100. Se non specifichi un valore, viene utilizzato il valore predefinito di 60. Inoltre, se non specifichi un valore per maxSwap, questo parametro verrà ignorato. Questo parametro è mappato all'--memory-swappinessopzione 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 contenitore, le opzioni di montaggio e la dimensione massima (in MiB) del tmpfs montare. Questo parametro è mappato all'--tmpfsopzione 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

Il percorso assoluto del file in cui tmpfs il volume deve essere montato.

Tipo: stringa

Campo obbligatorio: sì

mountOptions

L'elenco di tmpfs opzioni di montaggio del volume.

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

La dimensione massima (in MiB) del tmpfs volume.

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 scade prima di soddisfare il vincolo, ECS Amazon non fa avanzare i contenitori dipendenti allo stato successivo.

Per ECS le attività di Amazon ospitate su EC2 istanze Amazon, le istanze richiedono almeno la versione 1.26.0 dell'agente container per abilitare le dipendenze dei contenitori. 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 ECS container Amazon. Se utilizzi un Amazon Linux ECS ottimizzato per AmazonAMI, la tua istanza richiede almeno la versione 1.26.0-1 del ecs-init pacchetto. Le istanze di container avviate dalla versione 20190301 o successive contengono già le versioni richieste dell'agente del container e di ecs-init. Per ulteriori informazioni, consulta Linux ECS ottimizzato per Amazon AMIs.

Per ECS le attività di Amazon ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi una versione della piattaforma 1.3.0 o successiva (Linux) o 1.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 a COMPLETE, ma richiede anche che il container esca con stato zero. 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 sul containerB quando raggiunge lo stato COMPLETE, SUCCESS o HEALTHY. Se per containerB è specificato un valore startTimeout e non raggiunge lo stato desiderato entro tale periodo di tempo, allora containerA non viene avviato.

Nota

Se un container non soddisfa un vincolo di dipendenza o scade prima di soddisfare il vincolo, ECS Amazon non fa avanzare i contenitori dipendenti allo stato successivo.

Per ECS le attività di Amazon ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi una versione della piattaforma 1.3.0 o successiva (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 ECS le attività di Amazon ospitate su Fargate, questo parametro richiede che l'attività o il servizio utilizzi una versione della piattaforma 1.3.0 o successiva (Linux). Se il parametro non è specificato, viene utilizzato il valore predefinito di 30 secondi. Il valore massimo per Fargate è 120 secondi.

Per le attività che utilizzano il tipo di EC2 avvio, se il stopTimeout parametro non è specificato, ECS_CONTAINER_STOP_TIMEOUT viene utilizzato il valore impostato per la variabile di configurazione Amazon ECS Container Agent. Se non sono impostati né il stopTimeout parametro né la variabile di configurazione dell'ECS_CONTAINER_STOP_TIMEOUTagente, i valori predefiniti di 30 secondi per Linux contenitori e 30 secondi accesi Windows vengono utilizzati contenitori. 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 ECS container Amazon. Se utilizzi un Amazon Linux ECS ottimizzato per AmazonAMI, la tua istanza richiede almeno la versione 1.26.0-1 del pacchetto. ecs-init Le istanze di container avviate dalla versione 20190301 o successive contengono già le versioni richieste dell'agente del container e di ecs-init. Per ulteriori informazioni, consulta Linux ECS ottimizzato per Amazon AMIs.

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 Sysctls al comando docker create-container e all'opzione docker run. --sysctl 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 rete awsvpc o host. Ciò comporta i seguenti svantaggi:

  • Per le attività che utilizzano la modalità di rete awsvpc, tra cui Fargate, se hai impostato systemControls per qualsiasi container, questa impostazione si applica a tutti i container nell'attività. Se hai impostato diversi systemControls per più container in un'unica attività, il container che viene avviato per ultimo determina quale systemControls diventa effettivo.

  • Per attività che utilizzano la modalità di rete host, lo spazio dei nomi della rete systemControls non è supportato.

Se stai impostando uno spazio dei nomi di IPC risorse da utilizzare per i contenitori dell'attività, ai controlli di sistema si applicano le seguenti condizioni. Per ulteriori informazioni, consulta Modalità IPC.

  • Per le attività che utilizzano la host IPC modalità, i IPC namespace systemControls non sono supportati.

  • Per le attività che utilizzano la task IPC modalità, i systemControls valori dello spazio IPC dei nomi si applicano a tutti i contenitori 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: string

Campo obbligatorio: no

Il parametro del kernel dello spazio dei nomi per cui impostare un. value

Valori IPC dello spazio dei nomi validi:"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced", che iniziano con Sysctls "fs.mqueue.*"

Valori dello spazio dei nomi di rete validi: Sysctls che iniziano con "net.*"

Tutti questi valori sono supportati da Fargate.

value

Tipo: string

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 di stdin o tty. Questo parametro è mappato OpenStdin al comando docker create-container e --interactive all'opzione docker run.

Il valore predefinito è false.

Pseudoterminale

pseudoTerminal

Tipo: Booleano

Campo obbligatorio: no

Quando questo parametro ètrue, viene allocato a. TTY Questo parametro è mappato Tty al comando docker create-container e --tty all'opzione docker run.

Il valore predefinito è false.

Nome dell'acceleratore di inferenza elastica

Il requisito della risorsa dell'acceleratore di Elastic Inference per la definizione di attività.

Nota

Amazon Elastic Inference (EI) non è più disponibile per i clienti.

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 fornire vincoli di posizionamento delle attività che personalizzano il modo in ECS cui Amazon colloca le attività.

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 le attività che utilizzano il tipo di lancio EC2, puoi utilizzare i vincoli per posizionare le attività 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: string

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 EC2 avvio, le istanze del contenitore richiedono almeno la versione 1.26.0 dell'agente contenitore e almeno la versione 1.26.0-1 del pacchetto per abilitare una configurazione proxy. ecs-init Se le tue istanze di container vengono avviate dalla AMI versione ECS ottimizzata per Amazon 20190301 o successiva, contengono le versioni richieste dell'agente contenitore e. ecs-init Per ulteriori informazioni, consulta Linux ECS ottimizzato per Amazon AMIs.

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

L'insieme di parametri di configurazione di rete per fornire il plug-in Container Network Interface (CNI), specificati come coppie chiave-valore.

  • IgnoredUID— (Obbligatorio) L'ID utente (UID) del contenitore proxy definito dal user parametro in una definizione del contenitore. Serve a garantire che il proxy ignori il proprio traffico. Se è specificato IgnoredGID, questo campo può rimanere vuoto.

  • IgnoredGID— (Obbligatorio) L'ID di gruppo (GID) del contenitore proxy definito dal user parametro in una definizione del contenitore. Serve a garantire che il proxy ignori il proprio traffico. Se è specificato IgnoredUID, questo campo può rimanere vuoto.

  • AppPorts (obbligatorio): l'elenco delle porte utilizzate dall'applicazione. Il traffico di rete per queste porte viene inoltrato alle porte ProxyIngressPort e ProxyEgressPort.

  • ProxyIngressPort (obbligatorio): specifica la porta a cui è diretto il traffico in entrata per le AppPorts.

  • ProxyEgressPort (obbligatorio): specifica la porta a cui è diretto il traffico in uscita da AppPorts.

  • EgressIgnoredPorts: (obbligatorio) il traffico in uscita diretto verso le porte specificate viene ignorato e non reindirizzato alla ProxyEgressPort. Può essere un elenco vuoto.

  • EgressIgnoredIPs: (obbligatorio) il traffico in uscita diretto verso gli indirizzi IP specificati viene ignorato e non reindirizzato alla ProxyEgressPort. Può essere un elenco vuoto.

name

Tipo: string

Campo obbligatorio: no

Nome della coppia chiave-valore.

value

Tipo: string

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:

  • Amazon EBS Volumes: fornisce storage a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. Puoi allegare 1 EBS volume Amazon per ECS attività Amazon quando esegui un'attività autonoma o quando crei o aggiorni un servizio. EBSI volumi Amazon sono supportati per le attività Linux ospitate su istanze Fargate o AmazonEC2. Per ulteriori informazioni, consulta Usa EBS i volumi Amazon con Amazon ECS.

  • EFSVolumi Amazon: fornisce uno storage di file semplice, scalabile e persistente da utilizzare con le ECS attività di Amazon. Con AmazonEFS, la capacità di archiviazione è elastica. La capacità di storage aumenta e si riduce automaticamente quando si aggiungono e si rimuovono i file. Le tue applicazioni possono avere lo storage di cui hanno bisogno e quando ne hanno bisogno. I EFS volumi Amazon sono supportati per le attività ospitate su istanze Fargate o AmazonEC2. Per ulteriori informazioni, consulta Usa EFS i volumi Amazon con Amazon ECS.

  • FSxper volumi Windows File Server: fornisce file server Microsoft Windows completamente gestiti. Questi server di file sono supportati da un file system Windows. Se utilizzi FSx Windows File Server insieme ad AmazonECS, puoi assegnare alle tue attività Windows uno storage di file persistente, distribuito, condiviso e statico. Per ulteriori informazioni, consulta Utilizzo 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'/var/lib/docker/volumesistanza Amazon host. EC2 I driver di volume Docker (noti anche come plugin) vengono utilizzati per integrare i volumi con sistemi di storage esterni, come Amazon. EBS È possibile utilizzare il driver del volume local integrato o un driver di volume di terza parte. I volumi Docker sono supportati solo quando si eseguono attività su EC2 istanze Amazon. I contenitori Windows supportano solo l'uso del local driver. Per usare i volumi Docker, specifica dockerVolumeConfiguration nella definizione di attività.

  • 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 AmazonEC2. Per usare i volumi host di montaggi vincolati, specifica un valore host e un valore opzionale sourcePath nella definizione di attività.

Per ulteriori informazioni, consulta Opzioni di archiviazione per le ECS attività di Amazon.

I seguenti parametri sono consentiti in una definizione del container.

name

Tipo: string

Campo obbligatorio: no

Nome del volume. Sono consentite fino a 255 lettere (maiuscole e minuscole), numeri, trattini () e caratteri di sottolineatura (-). _ A questo nome viene fatto riferimento nel parametro dell'oggetto di definizione del contenitore. sourceVolume mountPoints

host

Campo obbligatorio: no

Il host parametro viene utilizzato per collegare il ciclo di vita del bind mount all'EC2istanza Amazon host, anziché all'attività e alla posizione in cui è archiviata. Se il parametro host è 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 EC2 istanze Amazon.

sourcePath

Tipo: string

Campo obbligatorio: no

Quando viene utilizzato il host parametro, specifica sourcePath a per dichiarare il percorso sull'EC2istanza Amazon host che viene presentata al contenitore. Se questo parametro è vuoto, il daemon Docker assegna automaticamente un percorso host. Se il host parametro contiene una posizione di sourcePath file, il volume di dati persiste nella posizione specificata sull'EC2istanza Amazon host finché non lo elimini manualmente. Se il sourcePath valore non esiste sull'EC2istanza Amazon host, il demone Docker lo crea. 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 sutrue, è 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 per true configurare un EBS volume Amazon da allegare a un'attività. L'impostazione configuredAtLaunch 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 Amazon EBS Volumes.

dockerVolumeConfiguration

Tipo: DockerVolumeConfigurationoggetto

Campo obbligatorio: no

Questo parametro viene specificato quando si utilizzano volumi docker. I volumi Docker sono supportati solo quando si eseguono attività su EC2 istanze. I contenitori Windows supportano solo l'uso del local driver. Per utilizzare i montaggi vincolati, specifica invece un host.

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 come shared 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 se scope èshared. Se scope ètask, questo parametro deve essere omesso.

driver

Tipo: string

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 il plug-in DockerCLI, utilizzalo docker plugin ls 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.

driverOpts

Tipo: string

Campo obbligatorio: no

Una mappa delle opzioni specifiche del driver Docker da esaminare. Questo parametro viene mappato DriverOpts alla sezione Crea un volume di Docker.

labels

Tipo: string

Campo obbligatorio: no

Metadati personalizzati da aggiungere al volume Docker.

efsVolumeConfiguration

Tipo: oggetto EFSVolumeConfiguration

Campo obbligatorio: no

Questo parametro viene specificato quando si utilizzano EFS volumi Amazon.

fileSystemId

Tipo: stringa

Campo obbligatorio: sì

L'ID EFS del file system Amazon da utilizzare.

rootDirectory

Tipo: string

Campo obbligatorio: no

La directory all'interno del EFS file system Amazon da montare come directory principale all'interno dell'host. Se questo parametro viene omesso, verrà utilizzata la radice del EFS volume Amazon. La specifica di / avrà lo stesso effetto dell'omissione di questo parametro.

Importante

Se viene specificato un punto di EFS accesso inauthorizationConfig, 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

Speciifica se abilitare la crittografia per EFS i dati Amazon in transito tra l'ECShost Amazon e il EFS server Amazon. Se viene utilizzata EFS IAM l'autorizzazione Amazon, è 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'ECShost Amazon e il EFS server Amazon. Se non specifichi una porta di crittografia di transito, l'attività utilizzerà la strategia di selezione delle porte utilizzata da Amazon EFS Mount Helper. Per ulteriori informazioni, consulta EFSMount Helper nella Amazon Elastic File System User Guide.

authorizationConfig

Tipo: oggetto EFSAuthorizationConfig

Campo obbligatorio: no

I dettagli di configurazione delle autorizzazioni per il EFS file system Amazon.

accessPointId

Tipo: string

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 EFS accesso. Se si utilizza un punto di accesso, la crittografia di transito deve essere abilitata in EFSVolumeConfiguration. Per ulteriori informazioni, consulta Working with Amazon EFS Access Points nella Amazon Elastic File System User Guide.

iam

Tipo: stringa

Valori validi: ENABLED | DISABLED

Campo obbligatorio: no

Specifica se utilizzare il IAM ruolo dell'ECSattività di Amazon definito in una definizione di attività durante il montaggio del EFS file system Amazon. Se abilitato, la crittografia di transito deve essere abilitata nella casella EFSVolumeConfiguration. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di DISABLED. Per ulteriori informazioni, consulta IAMRoles for Tasks.

FSxWindowsFileServerVolumeConfiguration

Tipo: FSxWindowsFileServerVolumeConfigurationoggetto

Campo obbligatorio: sì

Questo parametro viene specificato quando utilizzi un file system Amazon FSx for Windows File Server per l'archiviazione delle attività.

fileSystemId

Tipo: stringa

Campo obbligatorio: sì

L'FSxID del file system Windows File Server da utilizzare.

rootDirectory

Tipo: stringa

Campo obbligatorio: sì

La directory all'interno del FSx file system Windows File Server da montare come directory principale all'interno dell'host.

authorizationConfig
credentialsParameter

Tipo: stringa

Campo obbligatorio: sì

Le opzioni delle credenziali di autorizzazione.

opzioni:
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 ospitato autonomamenteEC2.

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 Etichettare 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: string

Campo obbligatorio: no

Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.

value

Tipo: string

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 delle attività possono essere utilizzati per registrare le definizioni delle attività nella ECS console Amazon utilizzando l'JSONopzione Configure via. Per ulteriori informazioni, consulta Creazione di una definizione di ECS attività Amazon 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) oppure 1.0.0 o successive (Windows).

Modalità IPC

ipcMode

Tipo: string

Campo obbligatorio: no

Lo spazio dei nomi IPC delle risorse da utilizzare per i contenitori dell'attività. I valori validi sono host, task o none. Se host specificato, tutti i contenitori che rientrano nelle attività che hanno specificato la host IPC modalità sulla stessa istanza di contenitore condividono le stesse IPC risorse con l'EC2istanza Amazon host. Se task specificato, tutti i contenitori che si trovano all'interno dell'attività specificata condividono le stesse IPC risorse. Se none è specificato, IPC le risorse all'interno dei contenitori di un'attività sono private e non condivise con altri contenitori in un'attività o nell'istanza del contenitore. Se non viene specificato alcun valore, la condivisione dello spazio dei nomi IPC delle risorse dipende dall'impostazione del demone Docker sull'istanza del contenitore.

Se viene utilizzata la host IPC modalità, esiste un rischio maggiore di esposizione indesiderata allo spazio dei nomi. IPC

Se state impostando i parametri del kernel con namespace da utilizzare systemControls per i contenitori del task, quanto segue si applica allo spazio dei nomi delle risorse. IPC

  • Per le attività che utilizzano la host IPC modalità, i IPC namespace correlati non sono supportati. systemControls

  • Per le attività che utilizzano la task IPC modalità, systemControls quelle relative allo spazio dei IPC nomi si applicano a tutti i contenitori 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 o task. Per i container Fargate per Linux, l'unico valore valido è task. Ad esempio, i sidecar di monitoraggio potrebbero aver bisogno di pidMode per accedere a informazioni su altri container in esecuzione nella stessa attività.

Se host specificato, tutti i contenitori all'interno delle attività che hanno specificato la host PID modalità sulla stessa istanza di contenitore condividono lo stesso spazio dei nomi di processo con l'istanza Amazon EC2 host.

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.

Se viene utilizzata la host PID modalità, esiste un rischio maggiore di esposizione indesiderata allo spazio dei nomi dei processi.

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.

Iniezione in errore

enableFaultInjection

Tipo: Booleano

Valori validi: true | false

Campo obbligatorio: no

Se questo parametro è impostato sutrue, nel payload di un'attività, Amazon ECS e Fargate accettano le richieste di inserimento dei guasti dai contenitori dell'attività. Questo parametro è impostato su false per impostazione predefinita.