Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Come posso proteggere la mia istanza di container Amazon ECS con best practice e tecniche di rafforzamento?
Le mie istanze Amazon Elastic Container Service (Amazon ECS) o le istanze Amazon Elastic Compute Cloud (Amazon EC2) sottostanti incontrano problemi quali terminazioni impreviste, riavvii, problemi di dimensionamento o perdita di dati. Desidero proteggere la mia istanza di container Amazon ECS.
Breve descrizione
Se utilizzi il tipo di avvio Amazon EC2 in Amazon ECS, i problemi delle istanze EC2 come terminazioni, riavvii o problemi di prestazioni influiscono sul container. Per risolvere questi problemi, implementa le best practice per proteggere le tue istanze di container Amazon ECS e risolvere i problemi di manutenzione, dimensionamento e risoluzione dei problemi di Amazon EC2.
Risoluzione
Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Proteggi le tue istanze di container Amazon ECS
Limita l'accesso dell'utente root dell'account AWS
Non utilizzare l'account root a meno che non sia necessario, ad esempio per modificare le impostazioni dell'account o modificare la password dell'utente root. Utilizza invece i ruoli e le policy di AWS Identity and Access Management (IAM) per configurare un accesso che rispetti il principale del privilegio minimo. Inoltre, configura l'autenticazione a più fattori (MFA) per l'account root.
Implementa il rafforzamento della sicurezza
Utilizza i gruppi di sicurezza per limitare il traffico in entrata e in uscita solo agli indirizzi IP e alle porte richiesti. Applica le patch e aggiorna regolarmente le tue istanze di container Amazon ECS. Puoi anche utilizzare Amazon Inspector per identificare le vulnerabilità.
Utilizza la crittografia per i dati sensibili in transito, come HTTPS, e inattivi, come i volumi Amazon Elastic Block Storage (Amazon EBS). Per ulteriori informazioni, consulta Protezione dell'infrastruttura.
Utilizza AWS Systems Manager per semplificare l'applicazione di patch e la manutenzione delle istanze di container Amazon ECS. Utilizza l'agente AWS Systems Manager (agente SSM) preinstallato su AMI (Amazon Machine Image) ottimizzate per Amazon ECS per implementare flussi di lavoro di gestione delle patch automatizzati. In ciò rientrano le finestre di manutenzione programmata e le strategie di sostituzione delle istanze. Per ulteriori informazioni, consulta Automate patching by replacing Amazon ECS container instances ( Automatizza l'applicazione delle patch sostituendo le istanze di container Amazon ECS).
Attiva la registrazione e il monitoraggio
Configura AWS CloudTrail per registrare le attività delle API. È consigliabile configurare allarmi di Amazon CloudWatch per avvisarti di valori elevati per CpuUtilization, DiskReadOps, DiskWriteOps, NetworkIn o NetworkOut.
Per monitorare le prestazioni dell'istanza di container e l'utilizzo delle risorse, attiva Container Insights.
Imposta una strategia di backup e ripristino
Utilizza snapshot di Amazon EBS o crea AMI come parte di un piano di ripristino di emergenza. Per ulteriori informazioni, consulta Backup e ripristino di Amazon EC2 utilizzando Backup AWS.
Importante: se elimini un volume EBS, puoi ripristinarlo solo se hai creato uno snapshot Amazon EBS o un backup AMI.
Per raccogliere ed esportare metadati, log delle istanze e dati delle applicazioni, utilizza SSH per connetterti alla tua istanza. Quindi esegui il seguente comando AWS CLI describe-instances per esportare i metadati dell'istanza:
aws ec2 describe-instances \ --instance-ids i-abcdxyz\ -- query "Reservations[].Instances[]" \ -- output text > file.txt
Per esportare i log delle istanze, esegui il seguente comando get-console-output:
aws ec2 get-console-output --instance-id i-abcdxyz --output text
Nota: nei comandi precedenti, sostituisci i-abcdxyz con l'ID della tua istanza.
Risolvi i problemi relativi alle istanze EC2
Risolvi i problemi relativi a terminazioni e riavvii imprevisti
Utilizza il draining gestito delle istanze di Amazon ECS per assicurarti che i carichi di lavoro si interrompano correttamente e passino a istanze stabili durante le interruzioni spot o eventi simili.
Per sicurezza e prestazioni, Amazon EC2 pianifica regolarmente eventi di manutenzione ordinaria per le tue istanze, come arresti e avvii, riavvii e ritiri. Puoi utilizzare Dashboard AWS Health per tenere traccia di questi eventi che possono richiedere diversi minuti per essere completati. Per informazioni sulle azioni che è possibile intraprendere dopo gli eventi di manutenzione ordinaria, consulta Azioni consigliate per le istanze Amazon EC2 interessate da eventi pianificati.
Se si verifica la chiusura di un'istanza spot, consulta Perché Amazon EC2 ha interrotto la mia istanza spot?
Amazon EC2 potrebbe terminare la tua istanza come parte della manutenzione programmata. Per gestire questo tipo di terminazione delle istanze, è consigliabile utilizzare gli hook del ciclo di vita di Amazon EC2 Auto Scaling.
Risolvi i problemi relativi all'utilizzo elevato delle risorse
Per verificare l'utilizzo elevato della CPU o della memoria, esamina i log dell'applicazione e le metriche CpuUtilization, NetworkIn, NetworkOut, DiskReadOps e DiskWriteOps di CloudWatch per la tua istanza. Inoltre, controlla la metrica MemoryUtilized di Container Insights.
Se la tua configurazione non soddisfa le esigenze di risorse delle tue istanze, aumenta verticalmente le tue istanze.
Oppure utilizza i provider di capacità Amazon ECS per dimensionare e ottimizzare dinamicamente le risorse di calcolo del tuo cluster. Per creare un provider di capacità, utilizza la console Amazon ECS. Oppure esegui un comando create-capacity-provider simile all'esempio seguente:
aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"
Risolvi i problemi di spazio su disco insufficiente
Lo spazio di archiviazione primario dell'istanza EC2 che esegue le attività Amazon ECS può esaurirsi per i seguenti motivi:
- Log dell'applicazione
- Spazio di archiviazione eccessivo dell’immagine del container
- File temporanei creati eseguendo istanze di container
Tieni presente che ogni file o directory utilizza un inode indipendentemente dalla sua dimensione. Di conseguenza, se hai più file di piccole dimensioni, potresti superare la tua quota di inode. Se superi la tua quota di inode, non puoi creare nuovi file anche in presenza di spazio su disco disponibile.
Utilizza le configurazioni di Amazon ECS per automatizzare la pulizia di attività e immagini e rimuovere le attività interrotte e le immagini Docker inutilizzate. Inoltre, utilizza la variabile ECS_RESERVED_MEMORY per assicurarti che le attività non consumino tutta la memoria disponibile.
Per ripulire automaticamente le immagini vecchie o inutilizzate nei tuoi repository, utilizza le policy del ciclo di vita di Amazon Elastic Container Registry (Amazon ECR). Per ripulire oggetti inutilizzati come immagini, istanze di container, volumi e reti, utilizza i comandi prune di Docker. Per ulteriori informazioni, consulta Prune unused Docker objects (Elimina gli oggetti Docker inutilizzati) sul sito web di Docker Docs.
Per visualizzare lo spazio su disco utilizzato da tutti i file system montati, esegui il seguente comando:
df -h
Per visualizzare lo spazio su disco utilizzato da un file system specifico, esegui il seguente comando:
df -h /
Nota: il comando precedente mostra i dati solo per il file system root.
Potrebbero verificarsi problemi relativi alle risorse perché hai pochi inode disponibili. Per verificare l'utilizzo degli inode, esegui il seguente comando:
df -i
Per visualizzare lo spazio su disco totale utilizzato da una directory specifica, esegui il seguente comando:
du -sh /path/to/directory
Nota: sostituisci directory con il nome della tua directory.
Per elencare le directory o i file più grandi dell'applicazione, esegui il seguente comando:
du -ah /path/to/directory | sort -rh | head -n 10
Nota: il comando precedente elenca i primi 10 file o directory più grandi. Sostituisci 10 con il numero di file e directory di grandi dimensioni che desideri visualizzare e directory con il nome della tua directory.
Per controllare la dimensione di ogni sottodirectory nella tua directory, esegui il seguente comando:
du -h --max-depth=1
Per ottimizzare la capacità disponibile, utilizza Parco istanze spot o i provider di capacità per le tue istanze EC2. Per ulteriori informazioni, consulta Powering your Amazon ECS clusters with Spot Fleet (Potenziamento dei cluster Amazon ECS con un parco istanze spot).
Informazioni correlate
Tolleranza e isolamento degli errori
In che modo posso risolvere i problemi di connessione alla mia istanza Linux Amazon EC2 tramite SSH?

Contenuto pertinente
- AWS UFFICIALEAggiornata un mese fa