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 usi il tipo di EC2 avvio, scegli anche il tipo di istanza. Per alcuni tipi di istanza, ad esempioGPU, è necessario impostare parametri aggiuntivi. Per ulteriori informazioni, consulta Casi d'uso della definizione delle ECS attività di Amazon.

  • 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 EC2 istanza, sono disponibili diverse opzioni, ma si consiglia di utilizzare la modalità di awsvpc rete. La modalità awsvpc di rete semplifica il networking in container, poiché avete un maggiore controllo sul modo in cui le applicazioni comunicano tra loro e con gli altri servizi all'interno dell'aziendaVPCs.

    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 ECS delle attività di Amazon.

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 sia un sito Web che un API richiedano la scalabilità orizzontale alla stessa velocità. Con l'aumento del traffico, sarà necessario un numero diverso di contenitori Web rispetto ai API contenitori. Se questi due contenitori vengono distribuiti nella stessa definizione di attività, ogni attività esegue lo stesso numero di contenitori e API contenitori Web.

  • 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 git commit che viene trasformato in un'immagine del contenitore contrassegnata con git commit. SHA Quindi, quel tag di immagine del contenitore ottiene la propria revisione della definizione ECS delle attività di Amazon. Infine, il ECS servizio Amazon viene aggiornato per dirgli di implementare la nuova revisione della definizione delle attività.

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

    Definisci ogni definizione di attività con il proprio IAM ruolo. 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.