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à.
Differenze nella definizione delle ECS attività di Amazon per il tipo di lancio di Fargate
Per utilizzare Fargate, è necessario configurare la definizione dell'attività in modo da utilizzare il tipo di avvio Fargate. Ci sono altre considerazioni sull'utilizzo di Fargate.
Parametri di definizione di attività
Le attività che utilizzano il tipo di avvio Fargate non supportano tutti i parametri di definizione delle ECS attività di Amazon disponibili. Alcuni parametri non sono supportati, mentre altri si comportano diversamente con i processi Fargate.
I parametri di definizione dei processi seguenti non sono validi nei processi Fargate:
-
disableNetworking
-
dnsSearchDomains
-
dnsServers
-
dockerSecurityOptions
-
extraHosts
-
gpu
-
ipcMode
-
links
-
placementConstraints
-
privileged
-
maxSwap
-
swappiness
I seguenti parametri di definizione dei processi sono validi in Fargate, ma hanno delle limitazioni da considerare:
-
linuxParameters
: quando si indicano opzioni specifiche di Linux che vengono applicate al container, incapabilities
l'unica capacità che puoi aggiungere èCAP_SYS_PTRACE
. I parametridevices
,sharedMemorySize
etmpfs
non sono supportati. Per ulteriori informazioni, consulta Parametri Linux. -
volumes
: I processi Fargate supportano solo volumi host di montaggi vincolati, quindi il parametrodockerVolumeConfiguration
non è supportato. Per ulteriori informazioni, consulta Volumi. -
cpu
- Per contenitori Windows su AWS Fargate, il valore non può essere inferiore a 1 vCPU. -
networkConfiguration
- Le attività di Fargate utilizzano sempre la modalità diawsvpc
rete.
Per assicurarti che la definizione di attività sia valida per l'utilizzo con Fargate, puoi specificare quanto riportato di seguito quando registri la definizione di attività:
-
Nel campo Richiede compatibilità AWS Management Console, specificare.
FARGATE
-
Nel AWS CLI, specificare l'opzione.
--requires-compatibilities
-
In Amazon ECSAPI, specifica la
requiresCompatibilities
bandiera.
Sistemi operativi e architetture
Quando si configura una definizione di task e container per AWS Fargate, è necessario specificare il sistema operativo utilizzato dal contenitore. I seguenti sistemi operativi sono supportati per AWS Fargate:
-
Amazon Linux 2
Nota
I contenitori Linux utilizzano solo il kernel e la configurazione del kernel del sistema operativo host. Ad esempio, la configurazione del kernel include i controlli di sistema
sysctl
. Un'immagine di container Linux può essere creata a partire da un'immagine di base che contiene i file e i programmi di qualsiasi distribuzione Linux. Se l'CPUarchitettura corrisponde, puoi eseguire contenitori da qualsiasi immagine di contenitore Linux su qualsiasi sistema operativo. -
Windows Server 2019 Full
-
Windows Server 2019 Core
-
Windows Server 2022 Full
-
Windows Server 2022 Core
Quando esegui contenitori Windows su AWS Fargate, è necessario disporre dell'architettura X86_64CPU.
Quando si eseguono contenitori Linux su AWS Fargate, puoi usare l'architettura X86_64 o CPU l'ARM64architettura per le tue ARM applicazioni basate. Per ulteriori informazioni, consulta Definizioni delle ECS attività di Amazon per carichi di ARM lavoro a 64 bit.
Attività e memoria CPU
Definizioni ECS delle attività Amazon per AWS Fargate richiedono una specifica CPU e una memoria a livello di attività. Sebbene sia anche possibile specificare CPU e memorizzare a livello di contenitore per le attività di Fargate, questa operazione è facoltativa. Per la maggior parte dei casi d'uso è necessario specificare queste risorse solo a livello di processo. La tabella seguente mostra le combinazioni valide di livello di attività e memoriaCPU. È possibile specificare i valori di memoria nella definizione dell'attività come stringa in MiB o GB. Ad esempio, è possibile specificare un valore di memoria 3072
in MiB o 3 GB
in GB. È 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.
CPUvalore | 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 NotaQuesta opzione richiede la piattaforma Linux |
Tra 16 GB e 60 GB in incrementi di 4 GB | Linux |
16384 (16 v) CPU NotaQuesta opzione richiede la piattaforma Linux |
Tra 32 GB e 120 GB in incrementi di 8 GB | Linux |
Reti di attività
ECSAttività Amazon per AWS Fargate richiedono la modalità awsvpc
di rete, che fornisce a ogni attività un'interfaccia di rete elastica. Quando esegui un'attività o crei un servizio con questa modalità di rete, è necessario specificare una o più sottoreti per collegare l'interfaccia di rete e uno o più gruppi di sicurezza da applicare all'interfaccia di rete.
Se usi sottoreti pubbliche, decidi se fornire un indirizzo IP pubblico per l'interfaccia di rete. Affinché un'attività Fargate in una sottorete pubblica possa estrarre le immagini dei container, è necessario assegnare un indirizzo IP pubblico all'interfaccia di rete elastica dell'operazione, con un percorso verso Internet o un NAT gateway in grado di instradare le richieste a Internet. Affinché un'attività Fargate in una sottorete privata richiami le immagini dei container, è necessario un NAT gateway nella sottorete per indirizzare le richieste a Internet. Quando ospiti le immagini dei tuoi container in AmazonECR, puoi configurare Amazon ECR per utilizzare un VPC endpoint di interfaccia. In questo caso, l'IPv4indirizzo privato dell'attività viene utilizzato per l'acquisizione dell'immagine. Per ulteriori informazioni sugli endpoint ECR dell'interfaccia Amazon, consulta Amazon ECR interface VPC endpoints (AWS PrivateLink) nella Amazon Elastic Container Registry User Guide.
Di seguito è riportato un esempio della networkConfiguration
sezione relativa a un servizio Fargate:
"networkConfiguration": {
"awsvpcConfiguration": {
"assignPublicIp": "ENABLED",
"securityGroups": [ "sg-12345678
" ],
"subnets": [ "subnet-12345678
" ]
}
}
Limiti delle risorse dei processi
Definizioni delle ECS attività Amazon per contenitori Linux su AWS Fargate supporta il ulimits
parametro per definire i limiti di risorse da impostare per un contenitore.
Definizioni delle ECS attività di Amazon per Windows su AWS Fargate non supportano il ulimits
parametro per definire i limiti di risorse da impostare per un contenitore.
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
.
Di seguito è riportato uno snippet di definizione di attività di esempio che mostra come definire unnofile
limite che è stato raddoppiato:
"ulimits": [
{
"name": "nofile",
"softLimit": 2048
,
"hardLimit": 8192
}
]
Per ulteriori informazioni sugli altri limiti di risorse che possono essere modificati, consulta Limiti delle risorse.
Registrazione
Registrazione degli eventi
Amazon ECS registra le azioni eseguite. EventBridge Puoi utilizzare Amazon ECS Events per EventBridge ricevere notifiche quasi in tempo reale sullo stato attuale dei tuoi ECS cluster, servizi e attività Amazon. Inoltre, puoi automatizzare le operazioni per rispondere a questi eventi. Per ulteriori informazioni, consulta Automatizza le risposte agli ECS errori di Amazon utilizzando EventBridge.
Registrazione del ciclo di vita delle attività
Le attività eseguite su Fargate pubblicano i timestamp per monitorare l'attività attraverso gli stati del ciclo di vita. Puoi visualizzare i timestamp nei dettagli dell'attività in AWS Management Console e descrivendo l'attività alla fine. AWS CLI SDKs Ad esempio, è possibile utilizzare i timestamp per valutare il tempo impiegato dall'attività per scaricare le immagini del contenitore e decidere se ottimizzare le dimensioni dell'immagine del contenitore o utilizzare gli indici Seekable. OCI Per ulteriori informazioni sulle pratiche delle immagini di container, consulta Le migliori pratiche per le immagini dei ECS container Amazon.
Registrazione dell'applicazione
Definizioni ECS delle attività Amazon per AWS Fargate supportano i driver awslogs
splunk
, e awsfirelens
log per la configurazione dei log.
Il driver di awslogs
registro configura le attività di Fargate per inviare informazioni di registro ad Amazon CloudWatch Logs. È riportato di seguito un frammento di una definizione di attività in cui è configurato il driver di log awslogs
:
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group" : "/ecs/fargate-task-definition",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "ecs"
}
}
Per ulteriori informazioni sull'utilizzo del driver di awslogs
registro in una definizione di attività per inviare i log dei contenitori a Logs, consulta. CloudWatch Invia i ECS log di Amazon a CloudWatch
Per ulteriori informazioni sul driver di log awsfirelens
, consulta Inviare ECS i log di Amazon a un AWS servizio o AWS Partner.
Per ulteriori informazioni su come utilizzare il driver di log splunk
, consulta splunkdriver di registro.
Archiviazione di attività
Per ECS le attività Amazon ospitate su Fargate, sono supportati i seguenti tipi di storage:
-
EBSI volumi Amazon forniscono storage a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati ad uso intensivo di dati. Per ulteriori informazioni, consulta Usa EBS i volumi Amazon con Amazon ECS.
-
EFSVolumi Amazon per lo storage persistente. Per ulteriori informazioni, consulta Usa EFS i volumi Amazon con Amazon ECS.
-
Montaggi vincolati per l'archiviazione temporanea. Per ulteriori informazioni, consulta Usa i bind mount con Amazon ECS.
Lazy loading delle immagini dei container utilizzando Seekable OCI () SOCI
ECSLe attività Amazon su Fargate che utilizzano la versione della piattaforma Linux 1.4.0
possono utilizzare Seekable OCI (SOCI) per avviare le attività più velocemente. Al contrarioSOCI, i container impiegano solo pochi secondi per recuperare l'immagine prima di avviarsi, lasciando così il tempo necessario per la configurazione dell'ambiente e la creazione di istanze dell'applicazione mentre l'immagine viene scaricata in background. Questo processo si chiama caricamento lento. Quando Fargate avvia ECS un'attività Amazon, Fargate rileva automaticamente se esiste un SOCI indice per un'immagine nell'operazione e avvia il contenitore senza attendere che l'intera immagine venga scaricata.
Per i contenitori che funzionano senza SOCI indici, le immagini dei contenitori vengono scaricate completamente prima dell'avvio del contenitore. Questo comportamento è lo stesso su tutte le altre versioni della piattaforma di Fargate e sulle istanze Amazon ECS ottimizzate per AMI Amazon. EC2
OCIIndici ricercabili
Seekable OCI (SOCI) è una tecnologia open source sviluppata da Seekable AWS che può avviare i container più velocemente caricando pigramente l'immagine del contenitore. SOCIfunziona creando un indice (SOCIIndice) dei file all'interno di un'immagine contenitore esistente. Questo indice aiuta ad avviare i container più velocemente, offrendo la possibilità di estrarre un singolo file da un'immagine di container prima di scaricare l'intera immagine. L'SOCIindice deve essere memorizzato come artefatto nello stesso archivio dell'immagine all'interno del registro del contenitore. È necessario utilizzare solo SOCI indici provenienti da fonti attendibili, poiché l'indice è la fonte autorevole per il contenuto dell'immagine. Per ulteriori informazioni, consulta Introduzione a Seekable OCI for lazy
Considerazioni
Se desiderate che Fargate utilizzi un SOCI indice per caricare pigramente le immagini dei container in un'attività, considerate quanto segue:
-
Solo le attività eseguite sulla versione della piattaforma Linux
1.4.0
possono utilizzare gli indici. SOCI Le attività che eseguono i container Windows su Fargate non sono supportate. -
Attività che vengono eseguite su X86_64 oppure ARM64 CPUl'architettura è supportata.
-
Le immagini dei contenitori nella definizione dell'attività devono avere SOCI indici nello stesso registro di contenitori dell'immagine.
-
Le immagini di container nella definizione delle attività devono essere archiviate in un registro di immagini compatibile. Di seguito sono elencati i registri compatibili:
-
Registri ECR privati di Amazon.
-
-
Contenitore solo immagini che utilizzano gzip Sono supportate la compressione o non sono compresse. Immagini del contenitore che utilizzano zstd la compressione non è supportata.
-
Ti consigliamo di provare il caricamento lento con immagini del contenitore maggiori di 250 MiB di dimensioni compresse. È meno probabile che si verifichi una riduzione del tempo necessario per caricare immagini più piccole.
-
Poiché il caricamento lento può modificare il tempo di avvio delle attività, potrebbe essere necessario modificare diversi timeout, ad esempio il periodo di tolleranza del controllo dell'integrità per Elastic Load Balancing.
-
Se vuoi evitare che un'immagine del contenitore venga caricata lentamente, elimina l'SOCIindice dal registro dei contenitori. Se l'immagine di container inclusa nell'operazione non soddisfa una delle considerazioni, tale immagine viene scaricata con il metodo predefinito.
Creazione di un indice Seekable OCI
Affinché un'immagine del contenitore venga caricata lentamente, è necessario un SOCI indice (un file di metadati) creato e archiviato nel repository di immagini del contenitore insieme all'immagine del contenitore. Per creare e inviare un SOCI indice puoi usare lo strumento open source CLIsoci-snapshotter
Nota
Affinché l'SOCIindice possa essere creato per un'immagine, l'immagine deve esistere in containerd archivio di immagini sul computer in esecuzionesoci-snapshotter
. Se l'immagine si trova in Docker archivio immagini, l'immagine non può essere trovata.
Verificare che un'attività abbia utilizzato il caricamento lento
Per verificare che un'attività sia stata caricata senza problemiSOCI, controlla l'endpoint dei metadati dell'operazione dall'interno dell'attività. Quando esegui query sulla versione 4 dell'endpoint metadati delle attività, viene visualizzato un campo Snapshotter
nel percorso predefinito per il container da cui esegui la query. Inoltre, vengono visualizzati campi Snapshotter
per ogni container nel percorso /task
. Il valore predefinito per questo campo èoverlayfs
, e questo campo è impostato su soci
if SOCI is used.