Progetta la tua applicazione per 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à.

Progetta la tua applicazione per Amazon ECS

L'applicazione viene progettata creando una definizione di attività per l'applicazione. La definizione dell'attività contiene i parametri che definiscono le informazioni sull'applicazione, tra cui:

  • Il tipo di avvio da utilizzare, che determina l'infrastruttura su cui sono ospitate le attività.

    Quando utilizzi il tipo di avvio EC2, scegli anche il tipo di istanza. Per alcuni tipi di istanza, come la GPU, devi impostare parametri aggiuntivi. Per ulteriori informazioni, consulta Casi d'uso per la definizione delle attività di Amazon ECS.

  • L'immagine del contenitore, che contiene il codice dell'applicazione e tutte le dipendenze necessarie per l'esecuzione del codice dell'applicazione.

  • La modalità di rete da utilizzare per i contenitori coinvolti nell'attività

    La modalità di rete determina il modo in cui l'attività comunica sulla rete.

    Per le attività eseguite su un'istanza EC2, esistono diverse opzioni, ma consigliamo di utilizzare la modalità di awsvpc rete. La modalità awsvpc di rete semplifica il networking in container, poiché hai un maggiore controllo sul modo in cui le applicazioni comunicano tra loro e con altri servizi all'interno dei tuoi VPC.

    Per le attività eseguite su Fargate, è possibile utilizzare solo la modalità di awsvpc rete.

  • La configurazione di registrazione da utilizzare per le tue attività.

  • Qualsiasi volume di dati utilizzato con i contenitori dell'attività.

Per un elenco completo dei parametri per la definizione di attività, consulta Parametri di definizione delle attività di Amazon ECS.

Utilizza le linee guida seguenti per creare le definizioni di attività:

  • Utilizza ogni famiglia di definizioni delle attività per un solo scopo aziendale.

    Se raggruppi più tipi di container delle applicazioni nella stessa definizione di attività, non puoi dimensionare tali container in modo indipendente. Ad esempio, è improbabile che un sito Web e un'API richiedano l'impiego della scalabilità orizzontale alla stessa velocità. Con l'aumento del traffico, sarà necessario un numero diverso di container Web rispetto ai container API. Se questi due container vengono implementati nella stessa definizione di attività, ogni attività esegue lo stesso numero di container Web e container API.

  • Associa ogni versione dell'applicazione a una revisione della definizione di attività all'interno di una famiglia di definizioni delle attività.

    All'interno di una famiglia di definizioni delle attività, considera ogni revisione della definizione di attività come uno snapshot point-in-time delle impostazioni per una particolare immagine di container. È simile al modo in cui il container può essere considerato uno snapshot di tutti gli elementi necessari per eseguire una particolare versione del codice dell'applicazione.

    Assicurati che esista una one-to-one mappatura tra una versione del codice dell'applicazione, un tag di immagine del contenitore e una revisione della definizione dell'attività. Un tipico processo di rilascio prevede un commit git che viene trasformato in un'immagine di container con il tag SHA del commit git. Quindi, il tag dell'immagine di container riceve la propria revisione della definizione di attività di Amazon ECS. Infine, il servizio Amazon ECS viene aggiornato per ordinare l'implementazione della nuova revisione della definizione di attività.

  • Utilizza ruoli IAM diversi per ogni famiglia di definizione delle attività.

    Definisci ogni definizione delle attività con il proprio ruolo IAM. Questa raccomandazione dovrebbe essere seguita congiuntamente al consiglio di fornire a ogni componente aziendale la propria famiglia di definizione delle attività. Implementando entrambe queste best practice, puoi limitare l'accesso di ciascun servizio alle risorse del tuo AWS account. Ad esempio, puoi concedere al servizio di autenticazione l'accesso per connettersi al database delle password. Allo stesso tempo, puoi garantire l'accesso alle informazioni di pagamento con carta di credito soltanto al servizio.