Come posso allocare memoria alle attività in Amazon ECS?

9 minuti di lettura
0

Desidero utilizzare Amazon Elastic Container Service (Amazon ECS) per allocare memoria alle attività.

Breve descrizione

In Amazon ECS, la memoria può essere definita sia a livello di attività che a livello di container. La memoria definita a livello di attività è il limite rigido di memoria per l'attività. A livello di container, esistono due parametri per allocare memoria alle attività: memoryReservation (limite flessibile) e memory (limite rigido). Per le attività ospitate su istanze Amazon EC2, il campo di memoria a livello di attività è facoltativo e può essere utilizzato qualsiasi valore. Se si specifica un valore di memoria a livello di attività, il valore di memoria a livello di container è facoltativo. Quando un’attività è in esecuzione, il valore di ogni parametro viene sottratto dalle unità di memoria disponibili di un'istanza di container Amazon ECS. Il calcolo si basa sul limite flessibile, sul limite rigido o sulla memoria a livello di attività di una definizione di attività. Per ulteriori informazioni, consulta Cluster reservation.

Nota: i parametri memory e memoryReservation sono impostati come parametri di definizione del container di una definizione di attività Amazon ECS. Se si specifica un valore sia per memory a livello di container che per memoryReservation, memory dovrà essere maggiore di memoryReservation. Se si specifica memoryReservation, tale valore viene sottratto dalle risorse di memoria disponibili per l'istanza di container in cui è posizionato il container. In caso contrario, viene utilizzato il valore di memory. Per ulteriori informazioni, consulta Memory (Memoria).

Risoluzione

Prima di iniziare, verifica di disporre di un cluster Amazon ECS che include un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Per ulteriori informazioni sulla creazione di un cluster, consulta Creating a cluster using the classic console. Per ulteriori informazioni sulla configurazione del cluster e dell'istanza di container, consulta Container Instance Memory Management.

Visualizzazione delle allocazioni di memoria di un'istanza di container

  1. Apri la console Amazon ECS.
  2. Nel riquadro di navigazione, scegliCluster.
  3. Scegli il cluster che hai creato.
  4. Scegli la vista Istanze ECS, quindi scegli nella colonna Istanza di container l'istanza di container inclusa nel cluster che hai creato.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è uguale alla memoria nella colonna Registrato.
  5. Per statistiche sull'utilizzo delle risorse dell'istanza, connettiti all'istanza tramite SSH, quindi esegui il comando docker stats.

Creazione di una definizione di attività con un limite flessibile

  1. Dalla console Amazon ECS, scegli Definizioni di attività nel riquadro di navigazione.
  2. Scegli Crea nuova definizione di attività.
  3. Per il tipo di avvio, scegli EC2, quindi scegli Fase successiva.
  4. In Nome definizione attività, inserisci un nome.
  5. Nella sezione Definizioni di container, scegli Aggiungi container.
  6. In Nome container, inserisci un nome.
  7. In Immagine, inserisci nginx o l'immagine Docker appropriata per l’ambiente.
  8. In Limiti di memoria (MiB), scegli Limite flessibile, quindi inserisci 700.
  9. Scegli Aggiungi, quindi scegli Crea.

Esecuzione della definizione di attività con un limite flessibile

  1. Dalla console Amazon ECS, scegli Cluster nel riquadro di navigazione, quindi scegli il cluster che hai creato.
  2. Scegli la vista Attività, quindi scegli Esegui nuova attività.
  3. Imposta il Tipo di avvio su EC2, scegli la definizione di attività con limite flessibile che hai creato, quindi scegli Esegui attività. Nota: Se si utilizza ECS per la prima volta, Definizione dell’attività e Cluster possono essere precompilati con il nome della definizione di attività e del cluster creati in precedenza.
  4. Quando la colonna Stato più recente dell'attività con limite flessibile viene visualizzata come ESECUZIONE IN CORSO, vai al passaggio successivo.
    Nota: per aggiornare lo stato dell'attività ESECUZIONE IN CORSO, aggiorna la pagina.
  5. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è inferiore alla memoria nella colonna Registrato.
  6. Per statistiche sull'utilizzo delle risorse dell'istanza, connettiti all'istanza tramite SSH, quindi esegui il comando docker stats.
  7. Scegli Cluster nel riquadro di navigazione, quindi scegli il cluster.
  8. Scegli la vista Attività, seleziona l'attività con un limite flessibile, quindi scegli Arresta.
  9. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è uguale alla memoria nella colonna Registrato.

Creazione di una nuova revisione di una definizione di attività con limite rigido

  1. Dalla console Amazon ECS, scegli Definizioni di attività nel riquadro di navigazione.
  2. Seleziona la definizione di attività con limite flessibile che hai creato, quindi scegli Crea nuova revisione.
  3. Nella sezione Definizioni di container, scegli nella colonna Nome container il container che hai aggiunto per la definizione di attività con limite flessibile.
  4. In Limiti di memoria (MiB), scegli Limite rigido, quindi inserisci 1000.
  5. Scegli Aggiorna, quindi scegli Crea.

Esecuzione della definizione di attività rivista con limite rigido

  1. Dalla console Amazon ECS, scegli Cluster nel riquadro di navigazione, quindi scegli il cluster che hai creato.
  2. Scegli la vista Attività, quindi scegli Esegui nuova attività.
  3. Imposta il Tipo di avvio su EC2
  4. In Definizione dell’attività, scegli la definizione di attività con limite rigido che hai creato, quindi scegli Esegui attività.
  5. Quando la colonna Stato più recente dell'attività rivista con limite rigido viene visualizzata come ESECUZIONE IN CORSO, vai al passaggio successivo.
    Nota: per aggiornare lo stato dell'attività ESECUZIONE IN CORSO, aggiorna la pagina.
  6. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    **Nota:**il riquadro Dettagli mostra che la memoria disponibile nella colonna Disponibile è inferiore alla memoria nella colonna Registrato.
  7. Per statistiche sull'utilizzo delle risorse dell'istanza, connettiti all'istanza tramite SSH, quindi esegui il comando docker stats.
  8. Scegli Cluster nel riquadro di navigazione, quindi scegli il cluster.
  9. Scegli la vista Attività, seleziona l'attività con un limite rigido, quindi scegli Arresta.
  10. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è uguale alla memoria nella colonna Registrato.

Creazione di una nuova revisione di una definizione di attività con un limite flessibile e un limite rigido

  1. Dalla console Amazon ECS, scegli Definizioni di attività nel riquadro di navigazione.
  2. Seleziona la definizione di attività con limite rigido che hai creato, quindi scegli Crea nuova revisione.
  3. Nella sezione Definizioni di container, scegli nella colonna Nome container il contenitore che hai aggiunto per la definizione di attività con un limite rigido.
  4. In Limiti di memoria (MiB), scegli Limite flessibile, quindi inserisci 700.
  5. Scegli Aggiungi limite rigido, quindi inserisci 1200.
  6. Scegli Aggiorna, quindi scegli Crea.

Esecuzione della definizione di attività rivista con un limite flessibile e un limite rigido

  1. Dalla console Amazon ECS, scegli Cluster nel riquadro di navigazione, quindi scegli il cluster che hai creato.
  2. Scegli la vista Attività, quindi scegli Esegui nuova attività.
  3. Imposta il Tipo di avvio su EC2
  4. In Definizione dell’attività, scegli la definizione di attività con un limite flessibile e un limite rigido che hai creato, quindi scegli Esegui attività.
  5. Quando la colonna Stato più recente viene visualizzata come ESECUZIONE IN CORSO, vai al passaggio successivo.
    Nota: per aggiornare lo stato dell'attività ESECUZIONE IN CORSO, aggiorna la pagina.
  6. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è inferiore alla memoria nella colonna Registrato.
  7. Per statistiche sull'utilizzo delle risorse dell'istanza, connettiti all'istanza tramite SSH, quindi esegui il comando docker stats.
  8. Scegli Cluster nel riquadro di navigazione, quindi scegli il cluster.
  9. Scegli la vista Attività, seleziona l'attività con un limite flessibile e un limite rigido, quindi scegli Arresta.
  10. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è uguale alla memoria nella colonna Registrato.

Creazione di una nuova revisione di una definizione di attività con limite di memoria a livello di attività

  1. Dalla console Amazon ECS, scegli Definizioni di attività nel riquadro di navigazione.
  2. Seleziona la definizione di attività con un limite rigido e un limite flessibile che hai creato, quindi scegli Crea nuova revisione.
  3. Nella sezione Dimensioni attività, inserisci 1000 in Memoria attività (MiB)
  4. Nella sezione Definizioni di container, scegli nella colonna Nome container il container che hai aggiunto per la definizione di attività con limite rigido e flessibile.
  5. In Limiti di memoria (MiB), rimuovi Limite flessibile, scegliendo l'icona x sul lato destro
  6. Quindi, in Limite rigido, seleziona e rimuovi il valore 1200.
  7. Scegli Aggiorna, quindi scegli Crea.

Esecuzione della definizione di attività rivista con limite di memoria a livello di attività

  1. Dalla console Amazon ECS, scegli Cluster nel riquadro di navigazione, quindi scegli il cluster che hai creato.
  2. Scegli la vista Attività, quindi scegli Esegui nuova attività.
  3. Imposta il Tipo di avvio su EC2
  4. Per Definizione dell’attività, scegli la definizione di attività creata con la memoria a livello di attività, quindi scegli Esegui attività.
  5. Quando la colonna Stato più recente viene visualizzata come ESECUZIONE IN CORSO, vai al passaggio successivo.
    Nota: per aggiornare lo stato dell'attività ESECUZIONE IN CORSO, aggiorna la pagina.
  6. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è inferiore alla memoria nella colonna Registrato.
  7. Per statistiche sull'utilizzo delle risorse dell'istanza, connettiti all'istanza tramite SSH, quindi esegui il comando docker stats.
    Nota: il limite di memoria indicato dal comando Docker stats per il container potrebbe non essere 1000 MiB. Questo perché la memoria a livello di attività è gestita da ECS Agent e non dal daemon docker.
  8. Scegli Cluster nel riquadro di navigazione, quindi scegli il cluster.
  9. Scegli la vista Attività, selezionate l'attività con memoria a livello di attività, quindi scegli Arresta.
  10. Scegli la vista Istanze ECS, quindi scegli l'istanza nella colonna Istanza di container.
    Nota: il riquadro Dettagli mostra che la memoria nella colonna Disponibile è uguale alla memoria nella colonna Registrato.

Informazioni correlate

Amazon ECS CloudWatch metrics

Amazon EC2 Instance types

Limit a container's access to memory

Task size

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa