Comment puis-je allouer de la mémoire aux tâches dans Amazon ECS ?

Date de la dernière mise à jour : 21/11/2019

Comment puis-je utiliser Amazon Elastic Container Service (Amazon ECS) pour allouer de la mémoire aux tâches ?

Brève description

Amazon ECS utilise deux paramètres pour allouer de la mémoire aux tâches : memoryReservation (une limite flexible) et memory (une limite stricte). La valeur de chaque paramètre est soustraite des unités de mémoire disponibles d'une instance de conteneur Amazon ECS lorsqu'une tâche est en cours d'exécution. Le calcul est basé sur la limite flexible ou la limite stricte d'une définition de tâche. Pour plus d'informations, consultez Utilisation du cluster.

Remarque : les paramètres memory et memoryReservation sont définis en tant que paramètres de définition de conteneur d'une définition de tâche Amazon ECS. Si vous spécifiez une valeur pour la mémoire au niveau du conteneur et memoryReservation, puis la mémoire doit être supérieure à memoryReservation. Si vous spécifiez memoryReservation, cette valeur est soustrait des ressources de mémoire disponibles pour l'instance de conteneur sur laquelle le conteneur est placé. Sinon, la valeur de memory est utilisée. Pour plus d'informations, consultez la section Mémoire.

Résolution

Avant de commencer, vérifiez que vous disposez d'un cluster Amazon ECS qui inclut une instance Amazon Elastic Compute Cloud (Amazon EC2). Pour plus d'informations sur la création d'un cluster, consultez Création d'un cluster. Pour plus d'informations sur la configuration du cluster et de l'instance de conteneur, consultez Gestion de la mémoire des instances de conteneur.

Afficher les allocations de mémoire d'une instance de conteneur

  1. Ouvrez la console Amazon ECS.
  2. Dans le volet de navigation, sélectionnez Clusters.
  3. Choisissez le cluster que vous avez créé.
  4. Choisissez la vue Instances ECS puis choisissez l'instance de conteneur incluse avec le cluster que vous avez créé à partir de la colonne Instance de conteneur.
    Remarque : le volet « Details »s (Informations) indique que la mémoire de la colonne « Available » (Disponible) est égale à la mémoire de la colonne « Registered » (Enregistré).
  5. Pour obtenir des statistiques sur l'utilisation des ressources de l'instance, connectez-vous à l'instance à l'aide de SSH, puis exécutez la commande docker stats.

Créer une définition de tâche avec une limite flexible

  1. Dans la console Amazon ECS, choisissez « Task Definitions » (Définitions des tâches) dans le volet de navigation.
  2. Choisissez « Create new Task Definition » (Créer une nouvelle définition de tâche).
  3. Pour le type de lancement, choisissez EC2, puis « Next step » (Étape suivante).
  4. Pour « Task Definition Name » (Nom de définition de tâche), saisissez un nom.
  5. Dans la section « Container Definitions » (Définitions de conteneur), sélectionnez « Add container » (Ajouter un conteneur).
  6. Pour « Container name » (Nom du conteneur), entrez un nom.
  7. Pour Image, entrez nginx ou l'image Docker appropriée pour votre environnement.
  8. Pour « Memory Limits (Mio) » (Memory Limits (Mio)), choisissez « Soft limit » (Limite flexible), puis saisissez 700.
  9. Sélectionnez « Add » (Ajouter), puis « Create » (Créer).

Exécuter la définition de tâche avec une limite flexible

  1. Dans la console Amazon ECS, dans le volet de navigation, choisissez Clusters, puis choisissez le cluster que vous avez créé.
  2. Choisissez la vue « Tasks » (Tâches ), puis « Run new Task » (Exécuter une nouvelle tâche).
  3. Choisissez « Run test » (Exécuter la tâche).
    Remarque : définition de tâche et Cluster sont préremplis avec le nom de la définition de tâche et du cluster que vous avez créés précédemment.
  4. Lorsque la colonne « Last status » (Dernier statut) de la tâche avec une limite flexible indique « RUNNING » (EN COURS D'EXÉCUTION), choisissez Clusters dans le volet de navigation.
    Remarque : pour mettre à jour le statut de la tâche sur « RUNNING » (EN COURS D'EXÉCUTION), actualisez la page.
  5. Choisissez la vue Instances ECS puis choisissez l'instance dans la colonne Instance de conteneur.
    Remarque : le volet « Details » (Informations) indique que la mémoire de la colonne « Available » (Disponible) est inférieure à la mémoire de la colonne « Registered » (Enregistré).
  6. Pour obtenir des statistiques sur l'utilisation des ressources de l'instance, connectez-vous à l'instance à l'aide de SSH, puis exécutez la commande docker stats.
  7. Choisissez Clusters dans le volet de navigation, puis choisissez le cluster.
  8. Choisissez la vue « Tasks » (Tâches), sélectionnez la tâche avec une limite flexible, puis choisissez « Stop » (Arrêter).
  9. Choisissez la vue Instances ECS puis choisissez l'instance dans la colonne Instance de conteneur.
    Remarque : le volet « Details »s (Informations) indique que la mémoire de la colonne « Available » (Disponible) est égale à la mémoire de la colonne « Registered » (Enregistré).

Créer une nouvelle révision d'une définition de tâche avec une limite stricte

  1. Dans la console Amazon ECS, choisissez « Task Definitions » (Définitions des tâches) dans le volet de navigation.
  2. Sélectionnez la définition de tâche que vous avez créée avec une limite flexible, puis choisissez « Create new revision » (Créer une nouvelle révision).
  3. Dans la section « Container Definitions » (Définitions du conteneur) dans la colonne « Container Name » (Nom du conteneur), choisissez le conteneur que vous avez ajouté pour la définition de tâche avec une limite flexible.
  4. Pour « Memory Limits (Mio) » (Limites de mémoire (Mio)), choisissez « Hard limit », (Limite stricte), puis entrez 1 000.
  5. Choisissez « Update », (Mettre à jour), puis « Create » (Créer).

Exécuter la définition de tâche révisée avec une limite stricte

  1. Dans la console Amazon ECS, dans le volet de navigation, choisissez Clusters, puis choisissez le cluster que vous avez créé.
  2. Choisissez la vue « Tasks » (Tâches ), puis « Run new Task » (Exécuter une nouvelle tâche).
  3. Pour « Task Definition » (Définition de tâche), choisissez la définition de tâche avec une limite stricte que vous avez créée, puis choisissez « Run Task » (Exécuter la tâche).
  4. Lorsque la colonne « Last status » (Dernier statut) de la tâche révisée avec une limite stricte indique « RUNNING » (EN COURS D'EXÉCUTION), choisissez Clusters dans le volet de navigation.
    Remarque : pour mettre à jour le statut de la tâche sur « RUNNING » (EN COURS D'EXÉCUTION), actualisez la page.
  5. Choisissez la vue Instances ECS puis choisissez l'instance dans la colonne Instance de conteneur.
    Remarque : le volet « Details » (Informations) indique que la mémoire disponible dans la colonne « Available » (Disponible) est inférieure à la mémoire de la colonne « Registered » (Enregistré).
  6. Pour obtenir des statistiques sur l'utilisation des ressources de l'instance, connectez-vous à l'instance à l'aide de SSH, puis exécutez la commande docker stats.
  7. Choisissez Clusters dans le volet de navigation, puis choisissez le cluster.
  8. Choisissez la vue « Tasks » (Tâches), sélectionnez la tâche avec une limite stricte, puis choisissez « Stop » (Arrêter).
  9. Choisissez la vue Instances ECS puis choisissez l'instance dans la colonne Instance de conteneur.
    Remarque : le volet « Details »s (Informations) indique que la mémoire de la colonne « Available » (Disponible) est égale à la mémoire de la colonne « Registered » (Enregistré).

Créer une nouvelle révision d'une définition de tâche avec une limite flexible et une limite stricte

  1. Dans la console Amazon ECS, choisissez « Task Definitions » (Définitions des tâches) dans le volet de navigation.
  2. Sélectionnez la définition de tâche que vous avez créée avec une limite stricte, puis choisissez « Create new revision » (Créer une nouvelle révision).
  3. Dans la section « Container Definitions » (Définitions du conteneur) dans la colonne « Container Name » (Nom du conteneur), choisissez le conteneur que vous avez ajouté pour la définition de tâche avec une limite stricte.
  4. Pour « Memory Limits (Mio) » (Memory Limits (Mio)), choisissez « Soft limit » (Limite flexible), puis saisissez 700.
  5. Choisissez « Add Hard limit », (Ajouter une limite stricte), puis saisissez 1 200.
  6. Choisissez « Update », (Mettre à jour), puis « Create » (Créer).

Exécuter la définition de tâche révisée avec une limite flexible et une limite stricte

  1. Dans la console Amazon ECS, dans le volet de navigation, choisissez Clusters, puis choisissez le cluster que vous avez créé.
  2. Choisissez la vue « Tasks » (Tâches), puis « Run new Task » (Exécuter une nouvelle tâche).
  3. Pour « Task Definition » (Définition de tâche), choisissez la définition de tâche que vous avez créée avec une limite flexible et une limite stricte, puis choisissez « Run Task »(Exécuter la tâche).
  4. Lorsque la colonne « Last status » (Dernier statut) de la tâche indique « RUNNING » (EN COURS D'EXÉCUTION), choisissez Clusters dans le volet de navigation.
    Remarque : pour mettre à jour le statut de la tâche sur « RUNNING » (EN COURS D'EXÉCUTION), actualisez la page.
  5. Choisissez Clusters dans le volet de navigation, puis choisissez le cluster.
  6. Choisissez la vue « Tasks » (Tâches), sélectionnez la tâche avec une limite flexible et une limite stricte, puis choisissez « Stop » (Arrêter).
  7. Choisissez la vue Instances ECS puis choisissez l'instance dans la colonne Instance de conteneur.
    Remarque : le volet « Details » (Informations) indique que la mémoire de la colonne « Available » (Disponible) est inférieure à la mémoire de la colonne « Registered » (Enregistré).
  8. Pour obtenir des statistiques sur l'utilisation des ressources de l'instance, connectez-vous à l'instance à l'aide de SSH, puis exécutez la commande docker stats.

Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?