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 aucune 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 debinpack
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 debinpack
placement, vous pouvez également envisager d'utiliser le trunking Elastic Network Interface (ENI) pour placer davantage de tâches en modeawsvpc
réseau sur chaque instance de conteneur. ENIle trunking augmente le nombre de tâches que vous pouvez exécuter enawsvpc
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 enawsvpc
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 modeawsvpc
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'utiliserbridge
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 pour démarrer 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.