Optimisation de l'heure ECS de lancement des tâches Amazon - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Optimisation de l'heure ECS de lancement des tâches Amazon

Afin d'accélérer le lancement de vos tâches, tenez compte des recommandations suivantes.

  • Cache les images du conteneur et les instances binpack

    Si vous utilisez le type de EC2 lancement, vous pouvez configurer le comportement d'extraction de l'agent de ECS conteneur Amazon pour ECS_IMAGE_PULL_BEHAVIOR :prefer-cached. L'image est extraite à distance s'il n'y a pas d'image mise en cache. Dans le cas contraire, l'image mise en cache sur l'instance est utilisée. Le nettoyage automatique des images est désactivé pour le conteneur afin de garantir que l'image mise en cache n'est pas supprimée. Cela réduit le temps d'extraction des images pour les lancements ultérieurs. L'effet de la mise en cache est encore plus important lorsque vous avez une densité de tâches élevée dans vos instances de conteneur, que vous pouvez configurer à l'aide de la stratégie de binpack placement. La mise en cache des images de conteneur est particulièrement avantageuse pour les charges de travail basées sur Windows qui comportent généralement des images de conteneur de grande taille (des dizainesGBs). Lorsque vous utilisez la stratégie de binpack placement, vous pouvez également envisager d'utiliser le trunking Elastic Network Interface (ENI) pour placer davantage de tâches en mode awsvpc réseau sur chaque instance de conteneur. ENIle trunking augmente le nombre de tâches que vous pouvez exécuter en awsvpc mode. Par exemple, une instance c5.large qui ne prend en charge que l'exécution simultanée de 2 tâches peut exécuter jusqu'à 10 tâches avec le trunking. ENI

  • Choisissez un mode réseau optimal

    Bien que le mode awsvpc réseau soit idéal dans de nombreux cas, ce mode réseau peut intrinsèquement augmenter la latence de lancement des tâches, car pour chaque tâche en awsvpc mode, les ECS flux de travail Amazon doivent fournir et associer un ENI en invoquant Amazon, EC2 APIs ce qui ajoute un surcoût de plusieurs secondes au lancement de vos tâches. En revanche, l'un des principaux avantages du mode awsvpc réseau est que chaque tâche possède un groupe de sécurité qui autorise ou refuse le trafic. Cela signifie que vous disposez d'une plus grande flexibilité pour contrôler les communications entre les tâches et les services à un niveau plus détaillé. Si la vitesse de déploiement est votre priorité, vous pouvez envisager d'utiliser bridge le mode pour accélérer le lancement des tâches. Pour de plus amples informations, veuillez consulter Allouer une interface réseau pour une ECS tâche Amazon.

  • Suivez le cycle de vie de lancement de vos tâches pour identifier les opportunités d'optimisation

    Il est souvent difficile de connaître le temps nécessaire au démarrage de votre application. Le lancement de votre image de conteneur, l'exécution de scripts de démarrage et d'autres configurations lors du démarrage de l'application peuvent prendre un temps surprenant. Vous pouvez utiliser le point de terminaison des métadonnées des tâches pour publier des métriques permettant de suivre le temps de démarrage de l'application ContainerStartTime jusqu'au moment où celle-ci est prête à traiter le trafic. Grâce à ces données, vous pouvez comprendre comment votre application contribue au temps de lancement total et identifier les domaines dans lesquels vous pouvez réduire les frais inutiles spécifiques à l'application et optimiser les images de vos conteneurs. Pour de plus amples informations, veuillez consulter Optimisez la ECS capacité et la disponibilité d'Amazon.

  • Choisissez un type d'instance optimal (pour le type de EC2 lancement)

    Le choix du type d'instance approprié dépend de la réservation de ressources (par exempleCPU, la mémoire) que vous configurez pour votre tâche. Par conséquent, lors du dimensionnement de l'instance, vous pouvez calculer le nombre de tâches pouvant être placées sur une seule instance. Un exemple simple de tâche bien placée est l'hébergement de 4 tâches nécessitant 0,5 V CPU et 2 Go de réservations de mémoire dans une instance m5.large (prenant en charge 2 V CPU et 8 Go de mémoire). Les réservations de cette définition de tâche tirent pleinement parti des ressources de l'instance.