Architettura per le istanze gestite da Amazon ECS - 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à.

Architettura per le istanze gestite da Amazon ECS

Amazon ECS Managed Instances è un'opzione di elaborazione completamente gestita per Amazon ECS che consente di eseguire carichi di lavoro containerizzati sull'intera gamma di tipi di EC2 istanze Amazon, affidando al contempo la gestione dell'infrastruttura a. AWS Con Amazon ECS Managed Instances, puoi accedere a funzionalità di elaborazione specifiche come l'accelerazione GPU, particolari architetture di CPU, elevate prestazioni di rete e tipi di istanze specializzati, AWS gestendo al contempo il provisioning, la scalabilità, l'applicazione di patch e la manutenzione dell'infrastruttura sottostante.

Quando utilizzi Amazon ECS Managed Instances, impacchetti l'applicazione in contenitori e specifichi i requisiti di elaborazione. AWS seleziona automaticamente i tipi di EC2 istanza Amazon generici più ottimizzati in termini di costi che soddisfano le tue esigenze di carico di lavoro oppure puoi specificare gli attributi di istanza desiderati tra cui tipi di istanza, produttori di CPU e acceleratori. Le istanze gestite di Amazon ECS gestiscono completamente tutti gli aspetti dell'infrastruttura, tra cui scalabilità, applicazione di patch e ottimizzazione dei costi, senza rinunciare all'accesso alle funzionalità AWS e alle integrazioni di Amazon. EC2

Le istanze gestite da Amazon ECS supportano container Linux con ottimizzazioni e configurazioni di sicurezza specifiche della piattaforma. Per impostazione predefinita, le istanze gestite da Amazon ECS ottimizzano l'utilizzo dell'infrastruttura collocando più attività più piccole su istanze più grandi, contribuendo a ridurre i costi e migliorare i tempi di avvio delle attività.

In questo argomento vengono descritti i diversi componenti dei processi e dei servizi delle istanze gestite da Amazon ECS oltre a particolari considerazioni sull'utilizzo delle istanze gestite da Amazon ECS con Amazon ECS.

Nozioni di base

Per iniziare a usare Amazon ECS Managed Instances, devi creare i ruoli IAM richiesti e abilitare Amazon ECS Managed Instances nel tuo account. AWS Quindi è possibile creare un provider di capacità e avviare attività o servizi utilizzando il provider di capacità delle istanze gestite da Amazon ECS.

Per istruzioni dettagliate sulle operazioni di base, consultare:

Fornitori di capacità

Istanze gestite da Amazon ECS provider di capacità per gestire la capacità di calcolo dei carichi di lavoro. È possibile utilizzare il provider di capacità predefinito o creare fornitori di capacità personalizzati con requisiti di istanza specifici.

Sono disponibili le seguenti opzioni di provider di capacità:

  • Provider di capacità predefinito: seleziona automaticamente i tipi di istanze per uso generico più ottimizzati in termini di costi per i requisiti dei carichi di lavoro.

  • Provider di capacità personalizzati: consentono di specificare gli attributi dell'istanza utilizzando la selezione del tipo di istanza basata sugli attributi, tra cui il numero di vCPU, la memoria, i produttori di CPU, i tipi di acceleratori e tipi di istanza specifici.

Una strategia di provider di capacità può contenere solo un tipo di provider di capacità dal seguente elenco:

  • Istanze gestite da Amazon ECS

  • Gruppo Amazon EC2 Auto Scaling

  • Fargate/Fargate_SPOT

Selezione e ottimizzazione delle istanze

Amazon ECS sceglie i tipi di istanze per i carichi di lavoro delle Istanze gestite da Amazon ECS utilizzando uno dei seguenti metodi:

  • Selezione automatica: quando si utilizza il provider di capacità predefinito, Amazon ECS seleziona automaticamente i tipi di istanze per uso generico più ottimizzati in termini di costi che soddisfano i requisiti di CPU e memoria specificati nella definizione dell'attività.

  • Selezione basata sugli attributi: quando si utilizzano i provider di capacità personalizzati, è possibile specificare gli attributi delle istanze, tra cui il numero di vCPU, la dimensione della memoria, i produttori di CPU, i tipi di acceleratori e i tipi di istanza specifici. Amazon ECS seleziona tra tutti i tipi di istanza che corrispondono agli attributi specificati.

Istanze gestite da Amazon ECS ottimizza l'utilizzo e i costi dell'infrastruttura attraverso diversi meccanismi:

  • Posizionamento multi-task: per impostazione predefinita, Amazon ECS colloca diverse attività più piccole su istanze più grandi per massimizzare l'utilizzo e ridurre i costi.

  • Consolidamento attivo del carico di lavoro: Amazon ECS identifica quando le istanze di container sono realmente inattive, cercando al contempo di evitare un'interruzione prematura che potrebbe influire sulla disponibilità delle applicazioni o sulle prestazioni di implementazione. Il sistema rispetta il numero minimo e massimo di attività impostate per un servizio, il comportamento di avvio prima dell'interruzione e quello di protezione delle attività.

  • Dimensionamento corretto: man mano che i requisiti del carico di lavoro cambiano, Amazon ECS lancia istanze sostitutive di dimensioni adeguate alle esigenze attuali.

Amazon ECS utilizza le finestre EC2 degli eventi di Amazon per pianificare le attività di manutenzione durante i periodi di tempo preferiti. Le finestre degli eventi consentono di definire periodi di tempo ricorrenti in cui AWS può eseguire la manutenzione sulle istanze, aiutandoti a ridurre al minimo le interruzioni dei carichi di lavoro allineando la manutenzione alla pianificazione operativa. Per ulteriori informazioni, consulta Eventi pianificati per le tue istanze nella Amazon EC2 User Guide.

Se è necessario un forte isolamento, è possibile configurare Istanze gestite da Amazon ECS in modo da eseguire ogni attività su un'istanza separata con limiti di isolamento di sicurezza a livello di macchina virtuale.

Definizioni di processi

I processi che utilizzano Istanze gestite da Amazon ECS supportano la maggior parte dei parametri di definizione delle attività Amazon ECS. Istanze gestite da Amazon ECS è compatibile con le definizioni di attività di Fargate esistenti utilizzando la versione della piattaforma 1.4.0, semplificando la migrazione.

Per utilizzare Istanze gestite da Amazon ECS, imposta il parametro di definizione dell'attività requiresCompatibilities in modo da includere MANAGED_INSTANCES. Le definizioni delle attività possono specificare la compatibilità tra Fargate e Istanze gestite da Amazon ECS per una maggiore flessibilità nelle opzioni di implementazione.

Architettura del sistema operativo e della CPU

Sono supportati i seguenti sistemi operativi:

  • Bottlerocket

Sono disponibili 2 architetture per la definizione di attività Amazon ECS, ARM e X86_64.

Quando esegui contenitori Linux su Amazon ECS Managed Instances, puoi utilizzare l'architettura CPU X86_64 o l'architettura per le tue applicazioni basate su ARM ARM64 .

Funzionalità principali

Di seguito sono riportate le caratteristiche principali di Istanze gestite da Amazon ECS:

  • Seleziona tipi di EC2 istanze specifici per soddisfare i requisiti della tua applicazione, consentendo l'accesso a funzionalità hardware specializzate come elaborazione accelerata da GPU, funzionalità CPU specifiche e grandi dimensioni di memoria.

  • Ottimizzare l'utilizzo delle risorse e i costi con più attività su una singola istanza per impostazione predefinita, a differenza di Fargate che esegue ogni attività nel proprio ambiente isolato.

  • Garantire la conformità alla sicurezza e l'applicazione regolare delle patch con una durata massima dell'istanza di 14 giorni, dopodiché le attività vengono migrate automaticamente su nuove istanze.

  • Abilitare funzioni avanzate di rete e amministrazione del sistema all'interno dei container utilizzando funzionalità Linux privilegiate, tra cui CAP_NET_ADMIN, CAP_SYS_ADMIN e CAP_BPF.

Ruoli IAM

Istanze gestite da Amazon ECS richiede due ruoli IAM:

  • Ruolo dell'infrastruttura: questo ruolo consente di AWS gestire le istanze gestite di Amazon ECS per tuo conto.

  • Profilo dell'istanza: un profilo di istanza è un modo per trasferire un ruolo IAM a Istanze gestite da Amazon ECS. Questo profilo viene utilizzato per:

    • Definire le autorizzazioni IAM per le istanze gestite da Amazon ECS che eseguono i carichi di lavoro dei container.

    • Consenti AWS di gestire queste istanze per tuo conto.

    • Abilita le istanze ad accedere ai AWS servizi in base alle autorizzazioni definite nel profilo.

Conformità e sicurezza

Istanze gestite da Amazon ECS implementa più livelli di sicurezza per proteggere i carichi di lavoro:

  • Configurazione sicura: le istanze gestite di Amazon ECS seguono le migliori pratiche AWS di sicurezza, tra cui nessun accesso SSH, file system root immutabile e controlli di accesso obbligatori a livello di kernel tramite. SELinux

  • Patch automatico: aggiorna AWS regolarmente Amazon ECS Managed Instances con le patch di sicurezza più recenti, rispettando le finestre di manutenzione configurate.

  • Durata limitata dell'istanza: la durata massima di un'istanza in esecuzione è di 14 giorni, garantendo che le applicazioni vengano eseguite su istanze configurate in modo appropriato con patch di sicurezza. up-to-date

  • Funzionalità privilegiate: opzionalmente, è possibile abilitare le funzionalità privilegiate di Linux per i carichi di lavoro che le richiedono, come le soluzioni di monitoraggio e osservabilità della rete.

Le istanze gestite da Amazon ECS supportano gli stessi programmi di conformità di Amazon ECS, tra cui PCI-DSS, HIPAA e FedRAMP. Nelle regioni supportate, Istanze gestite da Amazon ECS rispetta le impostazioni degli endpoint FIPS a livello di account per contribuire a raggiungere la conformità FedRAMP.

Rete

Le Istanze gestite da Amazon ECS supportano le modalità di rete awsvpc e host. La modalità di rete awsvpc fornisce a ciascuna attività una propria interfaccia di rete elastica e un indirizzo IP privato all'interno del VPC. Ciò consente controlli granulari dei gruppi di sicurezza e degli ACL di rete a livello di attività. Nella modalità rete host, le attività condividono il namespace di rete dell'host delle Istanze gestite da Amazon ECS. Per ulteriori informazioni sulle reti di processi nelle Istanze gestite da Amazon ECS, consultare Rete di attività di Amazon ECS per istanze gestite Amazon ECS.

Archiviazione dell'istanza

Le Istanze gestite da Amazon ECS supportano la configurazione della dimensione del volume di dati Amazon EBS collegato all'istanza. Questo archivio è condiviso tra tutte le attività eseguite sull'istanza e può essere utilizzato per i montaggi vincolati. Il volume può essere montato e condiviso tra container che utilizzano i parametri volumes, mountPoint e volumesFrom nella definizione di attività.

Il volume è collegato durante la creazione dell'istanza. Puoi specificare la dimensione del volume, in GiB, quando crei un provider di capacità delle Istanze gestite da Amazon ECS utilizzando il parametro storageConfiguration.

{ ... "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, "storageConfiguration": { "storageSizeinGiB" : 100 } } } ... }

La dimensione minima di questo volume è 30 GiB e quella massima è 16.384 GiB. Per impostazione predefinita, la dimensione di questo volume è 80 GiB.

L'immagine del container estratta, compressa e non compressa per il processo viene memorizzata nel volume. Per determinare la quantità totale di archiviazione dell'istanza che il processo deve utilizzare come montaggio vincolante, è necessario sottrarre la quantità di archiviazione utilizzata dall'immagine del container dall'importo totale di archiviazione dell'istanza in cui è allocato il processo.

Le prestazioni dei volumi Amazon EBS collegati alle istanze gestite di Amazon ECS corrispondono alle prestazioni delle istanze Amazon corrispondenti, come indicato nella documentazione sulle EC2 istanze ottimizzate per Amazon EBS nella Amazon User Guide. EC2

È possibile creare snapshot del volume per eseguire un'analisi forense dei problemi di sicurezza o effettuare il debug dell'applicazione. Per ulteriori informazioni sulla creazione di snapshot dei volumi Amazon EBS, consultare Amazon EBS snapshots nella Guida per l'utente di Amazon EBS. Se la crittografia Amazon EBS è abilitata per impostazione predefinita, il volume verrà crittografato con la AWS KMS chiave specificata per la crittografia per impostazione predefinita. Per ulteriori informazioni sulla crittografia per impostazione predefinita, consultare Enable Amazon EBS encryption by default nella Guida per l'utente di Amazon EBS.

Oltre a utilizzare il volume di dati collegato all'istanza, è possibile anche configurare i volumi di dati per ogni attività eseguita su Istanze gestite da Amazon ECS. Per ulteriori informazioni sulle opzioni di archiviazione a livello di task disponibili, consultare Opzioni di archiviazione per le attività di Amazon ECS.

Bilanciamento del carico nel servizio

I tuoi servizi Amazon ECS che utilizzano Amazon ECS Managed Instances possono essere configurati per utilizzare ELB per distribuire il traffico in modo uniforme tra le attività del tuo servizio.

I servizi di Amazon ECS sulle Istanze gestite da Amazon ECS supportano i tipi di bilanciatori del carico Application Load Balancer, Network Load Balancer e Gateway Load Balancer. Gli Application Load Balancer indirizzano il traffico HTTP/HTTPS (livello 7), mentre i Network Load Balancer indirizzano il traffico TCP o UDP (livello 4).

Inoltre, quando si crea gruppi di destinazione per questi servizi, è necessario scegliere ip come tipo di destinazione e non instance. Questo perché le attività che utilizzano la modalità di awsvpc rete sono associate a un'interfaccia di rete elastica, non direttamente a un' EC2 istanza Amazon.

Monitoraggio e osservabilità

Amazon ECS Managed Instances offre funzionalità di monitoraggio complete tramite CloudWatch metriche e integrazione con strumenti di osservabilità:

  • CloudWatch metriche: monitora l'utilizzo di CPU, memoria, rete e storage sia a livello di attività che di istanza.

  • Container Insights: ottengono metriche e log dettagliati delle prestazioni per le applicazioni containerizzate.

  • Integrazioni di terze parti: con funzionalità privilegiate abilitate, è possibile eseguire soluzioni avanzate di monitoraggio e osservabilità che richiedono autorizzazioni Linux elevate.

Ottimizzazione dei prezzi e dei costi

Con Amazon ECS Managed Instances, ti viene fatturata l'intera EC2 istanza Amazon che esegue le tue attività. Il prezzo dipende dai tipi di istanze selezionati per i propri carichi di lavoro.

Le Istanze gestite da Amazon ECS offrono diverse funzionalità di ottimizzazione dei costi:

  • Ottimizzazione multi-task: massimizza l'utilizzo delle istanze eseguendo più attività su istanze di dimensioni adeguate.

I Savings Plans per il calcolo e le istanze si applicano anche ai carichi di lavoro delle Istanze gestite da Amazon ECS.

Service Quotas

I carichi di lavoro di Amazon ECS Managed Instances sono soggetti alle quote del servizio di istanze Amazon EC2 On-Demand. I servizi Amazon ECS che utilizzano le Istanze gestite da Amazon ECS sono soggetti alle quote di servizio di Amazon ECS.

Per ulteriori informazioni sulle service quotas, consultare:

Considerazioni sulla migrazione

La migrazione alle Istanze gestite da Amazon ECS è semplice per la maggior parte dei carichi di lavoro:

  • Da Fargate: richiede solo una modifica e una ridistribuzione della configurazione del provider di capacità. Le definizioni delle attività esistenti che utilizzano la versione della piattaforma 1.4.0 sono completamente compatibili.

  • Da EC2 - Simile alla migrazione a Fargate, ma puoi mantenere l'accesso alle funzionalità di EC2 Amazon come tipi di istanze specifici.

Nella pianificazione della migrazione, tenere conto di quanto segue:

  • Le applicazioni devono tollerare la durata massima dell'istanza di 14 giorni e gli intervalli di manutenzione pianificata.

  • Le attività di lunga durata (che superano i 14 giorni) non sono adatte per le Istanze gestite da Amazon ECS.

  • Le istanze personalizzate non AMIs sono supportate: le istanze gestite di Amazon ECS utilizzano istanze gestite e AWS ottimizzate per la sicurezza. AMIs

Considerazioni e limitazioni

Le seguenti limitazioni si applicano alle Istanze gestite da Amazon ECS:

  • Personalizzato AMIs : l'AMI è di proprietà e gestito da AWS

  • Durata dell'istanza: il runtime massimo è di 14 giorni per istanza per garantire l'applicazione di patch di sicurezza e la conformità.

  • Accesso SSH: non disponibile per motivi di sicurezza. Usa Amazon ECS Exec per il debug e la risoluzione dei problemi. Operazioni di gestione APIs solo tramite Amazon ECS.

  • Service Connect non è disponibile per i servizi in esecuzione sulle istanze gestite da Amazon ECS.