Best practice per i servizi in modalità Amazon ECS Express - 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à.

Best practice per i servizi in modalità Amazon ECS Express

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 del database).

    Per ulteriori informazioni sulle best practice di Secrets Manager, consulta le best practice di Secrets Manager nella Guida per l'utente di Secrets Manager

  • Abilita la crittografia a riposo: assicurati che i segreti vengano crittografati quando vengono 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 l'applicazione Connect 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.

    È possibile abilitarlo in ogni sottorete utilizzata dalle applicazioni in modalità Express nella console di sottorete VPC, oppure utilizzare aws ec2 create-flow-logs --resource-ids subnet-xxx

  • Utilizzo AWS WAF per applicazioni Web: protezione dagli exploit e dagli attacchi Web comuni.

    È possibile abilitare questa funzionalità creando un ACL Web e quindi associandolo all'Application Load Balancer utilizzato dal servizio Express Mode. In Console, crea un ACL web nel servizio WAF & Shield e associalo al tuo Application Load Balancer. Oppure, usa e. aws wafv2 create-web-acl aws wafv2 associate-web-acl --resource-arn <alb>

Ottimizzazione delle prestazioni e del calcolo

Dimensionamento delle risorse

  • CPU e memoria di dimensioni corrette: monitora le prestazioni delle applicazioni e regola le allocazioni di CPU e memoria in base ai modelli di utilizzo effettivi.

    AWS Compute Optimizer genera consigli 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 della tua applicazione: per assicurarti che l'applicazione funzioni su larga scala e con le soglie di scalabilità e le allocazioni di risorse specificate, esegui test di carico.

Configurazione con scalabilità automatica

  • Imposta soglie di scalabilità appropriate: configura le soglie di CPU o memoria che attivino la scalabilità prima che le prestazioni peggiorino.

    È possibile modificare il valore target della metrica di servizio nella console di servizio Express Mode.

    Prendi in considerazione l'aggiunta di una politica di scalabilità predittiva, soprattutto se il traffico segue uno schema temporale. Per ulteriori informazioni, consulta Predictive Auto Scaling.

  • Utilizza più metriche di scalabilità: prendi in considerazione l'utilizzo sia della CPU o della memoria che della scalabilità basata su richiesta per una scalabilità più reattiva.

    È possibile aggiungere più politiche a un servizio. La modalità Express ne aggiunge una per impostazione predefinita, ma è possibile allegare politiche aggiuntive direttamente al 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 completati i test iniziali, consigliamo di eseguire l'operazione in tre zone di disponibilità per seguire le best practice in materia di disponibilità. È possibile aggiornare il numero minimo di attività nella console Express Mode o utilizzandoupdate-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 Health check nella Express Mode Console. Oppure utilizzandoupdate-express-gateway-service --health-check-path "/health".

    Per ulteriori informazioni sulla creazione di controlli sanitari per la tua applicazione, consulta Implementing Health Checks

  • Mantieni i controlli sanitari leggeri: evita operazioni costose sugli endpoint per i controlli sanitari.

    Gli esempi potrebbero includere chiamate API esterne, operazioni che richiedono un uso intensivo della CPU o della memoria o operazioni di lunga durata con la possibilità di un timeout.

  • Utilizza timeout appropriati: configura i timeout dei controlli sanitari che consentano tempi di risposta normali e rilevi rapidamente i guasti.

    I timeout Health check per Express Mode possono essere configurati sul gruppo target Application Load Balancer. Nella EC2 console Amazon, vai alla sezione Target Groups e seleziona il tuo gruppo target in modalità Express. Seleziona la scheda Health Checks e fai clic su Modifica, in Impostazioni avanzate dei controlli sanitari puoi regolare il timeout. Oppure usaaws 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 gli stati non integri.

Migliori pratiche operative

Monitoraggio e registrazione dei log

  • Abilita Enhanced Container Insights: utilizza CloudWatch; Enhanced Container Insights per il monitoraggio completo delle applicazioni di servizio Express Mode.

    Per ulteriori informazioni, consulta Configurazione di Container Insights su Amazon ECS.

  • Configura parametri personalizzati: pubblica parametri specifici dell'applicazione su; per CloudWatch il monitoraggio della logica aziendale.

    Per ulteriori informazioni, consulta Metriche pubbliche personalizzate nella Guida per l'utenteCloudWatch .

  • Configura la 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 CloudWatch; dashboard e allarmi per un monitoraggio proattivo.

Strategie di distribuzione

  • Implementa i tempi di cottura: la modalità Express implementa un tempo di cottura canary per garantire che le implementazioni abbiano il tempo di stabilizzarsi, riducendo al contempo il raggio d'azione delle implementazioni problematiche. Se l'applicazione necessita di più tempo per stabilizzarsi, è possibile configurarla nella definizione del servizio Amazon ECS del servizio Express Mode. Per ulteriori dettagli, consulta Creazione di una distribuzione Amazon ECS Canary.

  • Implementa procedure di rollback: prepara un piano per ripristinare rapidamente le versioni precedenti in caso di problemi.

    Controlli sanitari significativi e ripristini basati sugli allarmi possono entrambi aiutare con il rollback. La strategia di implementazione canary di Express Mode, combinata con i rollback basati sugli allarmi sul traffico 4xx e 5xx, consente di configurare le implementazioni per ripristini rapidi in caso di codice o configurazione dell'applicazione difettosi.