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 attività di Amazon ECS 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à
I processi che utilizzano il tipo di avvio Fargate non supportano tutti i parametri di definizione dei processi di Amazon ECS 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 i contenitori Windows su AWS Fargate, il valore non può essere inferiore a 1 vCPU. -
networkConfiguration
- Le attività 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
-
Nell'API Amazon ECS, specifica il flag
requiresCompatibilities
.
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'architettura della CPU corrisponde, puoi eseguire i container da qualsiasi immagine di container Linux e su qualsiasi sistema operativo. -
Windows Server 2019 Full
-
Windows Server 2019 Core
-
Windows Server 2022 Full
-
Windows Server 2022 Core
Quando si eseguono contenitori Windows su AWS Fargate, è necessario disporre dell'architettura della CPU X86_64.
Quando esegui contenitori Linux su AWS Fargate, è possibile utilizzare l'architettura della CPU X86_64 o l' ARM64 architettura per le applicazioni basate su ARM. Per ulteriori informazioni, consulta Definizioni delle attività di Amazon ECS per carichi di lavoro ARM a 64 bit.
CPU e memoria del processo
Definizioni delle attività di Amazon ECS per AWS Fargate richiedono di specificare CPU e memoria a livello di attività. Sebbene per i processi Fargate sia possibile specificare CPU e memoria anche a livello di container, si tratta di un'opzione facoltativa. Per la maggior parte dei casi d'uso è necessario specificare queste risorse solo a livello di processo. La tabella seguente illustra le combinazioni valide di CPU e memoria a livello di attività. È 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 i valori della CPU nel file JSON come stringa in unità CPU o in modalità virtuale CPUs (vCPUs). Ad esempio, è possibile specificare un valore di CPU come 1024
in unità CPU o 1 vCPU
in vCPUs.
Valore CPU | Valore memoria | Sistemi operativi supportati per AWS Fargate |
---|---|---|
256 (0,25 vCPU) | 512 MiB, 1 GB, 2 GB | Linux |
512 (0,5 vCPU) | 1 GB, 2 GB, 3 GB, 4 GB | Linux |
1024 (1 vCPU) | 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB | Linux, Windows |
2048 (2 vCPU) | Tra 4 GB e 16 GB in incrementi di 1 GB | Linux, Windows |
4096 (4 vCPU) | Tra 8 GB e 30 GB in incrementi di 1 GB | Linux, Windows |
8192 (8 vCPU) NotaQuesta opzione richiede la piattaforma Linux |
Tra 16 GB e 60 GB in incrementi di 4 GB | Linux |
16384 (16vCPU) NotaQuesta opzione richiede la piattaforma Linux |
Tra 32 GB e 120 GB in incrementi di 8 GB | Linux |
Reti di attività
Attività Amazon ECS 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 processo Fargate in una sottorete pubblica estragga le immagini del container, è necessario che un indirizzo IP pubblico sia assegnato all'interfaccia di rete elastica del processo con un routing a Internet o a un gateway NAT in grado di instradare le richieste a Internet. Affinché un processo Fargate in una sottorete privata estragga le immagini del container, è necessario un gateway NAT nella sottorete per instradare le richieste a Internet. Quando ospiti le immagini del container in Amazon ECR, puoi configurare Amazon ECR per utilizzare un endpoint VPC dell'interfaccia. In questo caso, l' IPv4 indirizzo privato dell'attività viene utilizzato per il pull dell'immagine. Per ulteriori informazioni sugli endpoint di interfaccia Amazon ECR, consulta Endpoint VPC dell'interfaccia Amazon ECR (AWS PrivateLink) nella Guida per l'utente di Amazon Elastic Container Registry.
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 attività di Amazon ECS per contenitori Linux su AWS Fargate supporta il ulimits
parametro per definire i limiti di risorse da impostare per un contenitore.
Definizioni delle attività di Amazon ECS per Windows su AWS Fargate non supportano il ulimits
parametro per definire i limiti di risorse da impostare per un contenitore.
I processi di Amazon ECS ospitati su Fargate utilizzano i valori del limite di risorse predefinito impostato dal sistema operativo, ad eccezione del parametro del limite di risorse nofile
. Il limite di 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 corrente dei tuoi cluster, servizi e attività Amazon ECS. Inoltre, puoi automatizzare le operazioni per rispondere a questi eventi. Per ulteriori informazioni, consulta Automatizza le risposte agli errori di Amazon ECS 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à nel e descrivendo l'attività nella AWS Management Console e. AWS CLI SDKs Ad esempio, puoi utilizzare i timestamp per valutare il tempo impiegato dall'attività per scaricare le immagini di container e decidere se ottimizzare le dimensioni dell'immagine o utilizzare gli indici Seekable OCI. Per ulteriori informazioni sulle pratiche delle immagini di container, consulta Le migliori pratiche per le immagini dei container Amazon ECS.
Registrazione dell'applicazione
Definizioni delle attività di Amazon ECS per AWS Fargate supportano i driver awslogs
splunk
, e awsfirelens
log per la configurazione del registro.
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 log di Amazon ECS a CloudWatch
Per ulteriori informazioni sul driver di log awsfirelens
, consulta Inviare i log di Amazon ECS a un servizio o AWSAWS Partner.
Per ulteriori informazioni su come utilizzare il driver di log splunk
, consulta splunkdriver di registro.
Archiviazione dei processi
Per i processi Amazon ECS ospitati su Fargate, sono supportati i seguenti tipi di archiviazione:
-
I volumi Amazon EBS forniscono storage a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. Per ulteriori informazioni, consulta Usa i volumi Amazon EBS con Amazon ECS.
-
Volumi Amazon EFS per l'archiviazione persistente. Per ulteriori informazioni, consulta Usa i volumi Amazon EFS con Amazon ECS.
-
Montaggi vincolati per l'archiviazione temporanea. Per ulteriori informazioni, consulta Usa i bind mount con Amazon ECS.
Caricamento lento delle immagini di container utilizzando Seekable OCI (SOCI)
Le attività di Amazon ECS su Fargate che utilizzano la versione della piattaforma Linux 1.4.0
possono utilizzare Seekable OCI (SOCI) per avviare le attività più velocemente. Con SOCI, i container trascorrono solo pochi secondi sul recupero dell'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 un'attività Amazon ECS, rileva automaticamente se esiste un indice SOCI per un'immagine nell'operazione e avvia il container senza attendere che l'intera immagine venga scaricata.
Per i container che funzionano senza indici SOCI, le immagini di container vengono scaricate completamente prima dell'avvio di quest'ultimo. Questo comportamento è lo stesso su tutte le altre versioni della piattaforma di Fargate e sull'AMI ottimizzata per Amazon ECS sulle istanze Amazon. EC2
Indici Seekable OCI
Seekable OCI (SOCI) è una tecnologia open source sviluppata da Seekable OCI AWS che può avviare i container più velocemente caricando pigramente l'immagine del contenitore. SOCI funziona creando un indice (indice SOCI) dei file all'interno di un'immagine di container 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'indice SOCI deve essere archiviato come artefatto nello stesso repository dell'immagine all'interno del registro dei container. Devi utilizzare solo indici SOCI provenienti da fonti attendibili, poiché l'indice è la fonte autorevole per il contenuto dell'immagine. Per ulteriori informazioni, consulta Introduzione a Seekable OCI per il caricamento lento delle immagini di container
Considerazioni
Se desideri che Fargate utilizzi un indice SOCI per caricare lentamente le immagini di container in un'attività, considera le seguenti informazioni:
-
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à eseguite su X86_64 oppure ARM64 L'architettura della CPU è supportata.
-
Le immagini di container nella definizione delle attività devono avere indici SOCI nello stesso registro di container 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 privati Amazon ECR.
-
-
Solo immagini di contenitori 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 di container venga caricata lentamente, elimina l'indice SOCI dal registro di container. 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 indice SOCI (un file di metadati) creato e archiviato nel repository di immagini del contenitore insieme all'immagine del contenitore. Per creare e inviare un indice SOCI puoi utilizzare lo strumento CLI soci-snapshotter
Nota
Affinché l'indice SOCI 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 sia stato utilizzato il caricamento lento per un'attività tramite SOCI, 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
se viene utilizzato SOCI.