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à.
Le migliori pratiche per i servizi Amazon ECS Express Mode
Scopri le best practice e i consigli per utilizzare efficacemente il servizio Express Mode negli ambienti di produzione.
Best practice di sicurezza
Gestione dei segreti
-
Usa Secrets Manager per i segreti: archivia i dati sensibili in Secrets Manager (ad esempio, repository privato o credenziali di database).
Per ulteriori informazioni sulle best practice di Secrets Manager, consultate le best practice di Secrets Manager nella Guida per l'utente di Secrets Manager.
-
Abilita la crittografia a riposo: assicurati che i segreti siano crittografati quando sono archiviati nei AWS servizi.
L'utilizzo di un servizio come Secrets Manager consente di crittografare utilizzando una chiave AWS gestita o fornita dal cliente.
-
Implementa la rotazione segreta: utilizza la rotazione automatica per le password del database e le chiavi API.
Utilizzando un servizio come Secrets Manager puoi gestire la rotazione segreta per servizi come Amazon Aurora e Amazon RDS
Esempio di utilizzo dei segreti nel servizio Express Mode:
aws ecs update-express-gateway-service \ --primary-container \ ‘{“environment”=[{“name”=“DB_PASSWORD”,”value”=“arn:aws:secretsmanager:us-west-2:123456789012:secret:prod/db/password”}, \ {“name”=“API_KEY”,”value”=“arn:aws:ssm:us-west-2:123456789012:parameter/prod/api-key”}]}’ \
Sicurezza di rete
-
Usa sottoreti private per applicazioni sensibili: distribuisci applicazioni che non richiedono l'accesso diretto a Internet in sottoreti private.
Per ulteriori informazioni sulle architetture consigliate, consulta Connettere l'applicazione Amazon ECS a Internet.
-
Configura i gruppi di sicurezza in modo che siano minimamente permissivi: limita il traffico in entrata e in uscita solo alle porte e alle fonti necessarie.
Per limitare il traffico in uscita dell'Express Mode Service Security Group, puoi modificarlo direttamente nella console di Amazon EC2 Security Groups modificando le regole in uscita o utilizzando i seguenti comandi:
aws ec2 authorize-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 aws ec2 revoke-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 -
Abilita Amazon VPC Flow Logs: monitora il traffico di rete per l'analisi della sicurezza e la risoluzione dei problemi.
Puoi abilitarlo in ogni sottorete utilizzata dalle tue applicazioni Express Mode nella console di sottorete VPC oppure utilizzare
aws ec2 create-flow-logs --resource-ids subnet-xxx -
Utilizzo AWS WAF per applicazioni web: proteggiti dai comuni exploit e attacchi web.
È possibile abilitare questa funzionalità creando un ACL Web e quindi associandolo all'Application Load Balancer utilizzato dal servizio Express Mode. In Console, create un ACL web nel servizio WAF & Shield e associatelo all'Application Load Balancer. Oppure, usa e.
aws wafv2 create-web-aclaws wafv2 associate-web-acl --resource-arn <alb>
Ottimizzazione delle prestazioni e dell'elaborazione
Dimensionamento delle risorse
-
Right-size CPU e memoria: monitora le prestazioni delle applicazioni e regola le allocazioni di CPU e memoria in base ai modelli di utilizzo effettivi.
AWS Compute Optimizer genera raccomandazioni per le dimensioni delle attività e dei container di Amazon ECS. Per ulteriori informazioni, consulta Che cos’è AWS Compute Optimizer? nella Guida per l’utente di AWS Compute Optimizer .
-
Verifica le prestazioni dell'applicazione: per assicurarti che l'applicazione funzioni su larga scala e con le soglie di scalabilità e le allocazioni di risorse specificate, esegui un test di carico.
Configurazione del ridimensionamento automatico
-
Imposta soglie di scalabilità appropriate: configura le soglie di CPU o memoria che attivano il ridimensionamento prima che le prestazioni peggiorino.
È possibile modificare il valore target della metrica di servizio nella console di servizio Express Mode.
Valuta la possibilità di aggiungere una politica di scalabilità predittiva, soprattutto se il traffico segue uno schema basato sul tempo. Per ulteriori informazioni, consulta Predictive Auto Scaling.
-
Utilizza più metriche di scalabilità: considera l'utilizzo sia della CPU che della memoria e del ridimensionamento basato sulle richieste per una scalabilità più reattiva.
Puoi aggiungere più policy a un servizio. La modalità Express ne aggiunge una per impostazione predefinita, ma puoi allegare direttamente politiche aggiuntive al tuo servizio.
-
Configura i limiti minimi e massimi delle attività: stabilisci limiti ragionevoli per controllare i costi e garantire la disponibilità.
Per i carichi di lavoro di produzione, una volta completato il test iniziale, consigliamo di operare in tre zone di disponibilità per seguire le best practice di disponibilità. È possibile aggiornare il numero minimo di attività nella console Express Mode o utilizzando
update-express-gateway-service --scaling-target '{“minTaskCount”=3}'.
Controlli dell’integrità
-
Implementa controlli di integrità significativi: crea endpoint di controllo dello stato che verifichino le dipendenze critiche delle applicazioni.
È possibile aggiornare il percorso di controllo dello stato nella console Express Mode. Oppure utilizzando
update-express-gateway-service --health-check-path "/health".Per ulteriori informazioni sulla compilazione dei controlli sanitari per la domanda, consulta Implementazione dei controlli sanitari
-
Mantieni i controlli sanitari leggeri: evita costose operazioni negli endpoint dei controlli sanitari.
Gli esempi potrebbero includere chiamate API esterne, operazioni ad alta intensità di CPU o memoria o operazioni di lunga durata con possibilità di timeout.
-
Utilizza i timeout appropriati: configura i timeout dei controlli di integrità che consentano tempi di risposta normali e rilevi rapidamente i guasti.
I timeout dei controlli di integrità per la modalità Express sono configurabili nel gruppo target di Application Load Balancer. Nella console Amazon EC2, vai alla sezione Target Groups e seleziona il tuo gruppo target Express Mode. Seleziona la scheda Health Checks e fai clic su Modifica, in Impostazioni avanzate di controllo dello stato puoi regolare il timeout. Oppure usa
aws elbv2 modify-target-group --target-group-arn <targetgroup> --health-check-timeout. -
Restituisci i codici di stato HTTP corretti: usa 200 per gli stati integri e 4xx/5xx per quelli non integri.
Migliori pratiche operative
Monitoraggio e registrazione dei log
-
Abilita Enhanced Container Insights CloudWatch: utilizza Enhanced Container Insights per il monitoraggio completo delle applicazioni del servizio Express Mode.
Per ulteriori informazioni, consulta Configurazione di Container Insights su Amazon ECS.
-
Configura metriche personalizzate: pubblica metriche specifiche dell'applicazione su; per CloudWatch il monitoraggio della logica aziendale.
Per ulteriori informazioni, consulta Pubblicare metriche personalizzate nella Guida per l'utente. CloudWatch
-
Configurazione della conservazione dei log: imposta i periodi di conservazione dei log appropriati per bilanciare costi e requisiti di conformità.
CloudWatch I gruppi di log creati da Express Mode sono configurati per non scadere mai e vengono conservati quando il servizio Express Mode viene eliminato. È possibile modificare questa impostazione nel CloudWatch Log Group.
-
Crea dashboard e avvisi: configura dashboard e allarmi per un monitoraggio proattivo. CloudWatch
Strategie di distribuzione
-
Implementa i tempi di attesa: la modalità Express implementa un tempo di attesa canarino per garantire che le implementazioni abbiano il tempo di stabilizzarsi, riducendo al contempo il raggio di esplosione delle implementazioni problematiche. Se la tua applicazione ha bisogno di più tempo per stabilizzarsi, puoi configurarlo nella definizione di Amazon ECS Service del tuo servizio Express Mode. Per ulteriori informazioni, consulta Creazione di una distribuzione canaria di Amazon ECS.
-
Implementa procedure di rollback: prepara un piano per ripristinare rapidamente le versioni precedenti in caso di problemi.
Controlli di integrità significativi e rollback basati sugli allarmi possono entrambi aiutare con il rollback. La strategia di implementazione canaria di Express Mode, combinata con il rollback basato sugli allarmi sul traffico 4xx e 5xx, consente di impostare le implementazioni per ripristini rapidi in caso di codice o configurazione dell'applicazione difettosi.
Quando utilizzare una definizione di attività personalizzata
Valuta la possibilità di fornire una definizione di attività personalizzata solo quando:
-
Il tuo team dispone di definizioni standardizzate delle attività con agenti di sicurezza, sidecar di registrazione o configurazioni di conformità che devono essere presenti in tutti i servizi.
-
Sono necessarie impostazioni a livello di attività non direttamente configurabili tramite la modalità Express, come controlli sullo stato dei container, driver di log personalizzati (ad esempio), parametri Linux (
initProcessEnabled,tmpfsmount FireLens) o contenitori sidecar aggiuntivi. -
Utilizzi l'infrastruttura come codice e desideri definire la tua attività nei tuoi modelli e passarla al tuo servizio Express Mode.