Comportement d'extraction d'images de conteneurs Linux sur Fargate pour Amazon ECS - 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.

Comportement d'extraction d'images de conteneurs Linux sur Fargate pour Amazon ECS

Chaque tâche Fargate s'exécute sur sa propre instance à usage unique et à locataire unique. Lorsque vous exécutez des conteneurs Linux sur Fargate, les images de conteneurs ou les couches d'images de conteneurs ne sont pas mises en cache sur l'instance. Par conséquent, pour chaque image de conteneur définie dans la tâche, l'image de conteneur complète doit être extraite du registre d'images de conteneur pour chaque tâche Fargate. Le temps nécessaire pour extraire les images est directement corrélé au temps nécessaire pour démarrer une tâche Fargate.

Tenez compte des points suivants pour optimiser le temps d'extraction de l'image.

Proximité des images du conteneur

Pour réduire le temps nécessaire au téléchargement des images du conteneur, localisez les données le plus près possible du calcul. Le transfert d'une image de conteneur sur Internet ou sur Internet Régions AWS peut avoir un impact sur le temps de téléchargement. Nous vous recommandons de stocker l'image du conteneur dans la même région que celle où la tâche sera exécutée. Si vous stockez l'image du conteneur dans Amazon ECR, utilisez un point de terminaison d'interface VPC pour réduire davantage le temps d'extraction de l'image. Pour plus d'informations, consultez la section Points de terminaison VPC de l'interface Amazon ECR AWS PrivateLink() dans le guide de l'utilisateur Amazon ECR.

Réduction de la taille de l'image du conteneur

La taille d'une image de conteneur a un impact direct sur le temps de téléchargement. La réduction de la taille de l'image du conteneur ou du nombre de couches de l'image du conteneur peut réduire le temps nécessaire au téléchargement d'une image. Les images de base légères (telles que l'image de conteneur minimale Amazon Linux 2023) peuvent être nettement plus petites que celles basées sur des images de base de système d'exploitation traditionnelles. Pour plus d'informations sur l'image minimale, consultez la section AL2023 Image de conteneur minimale dans le guide de l'utilisateur Amazon Linux 2023.

Algorithmes de compression alternatifs

Les couches d'images de conteneurs sont souvent compressées lorsqu'elles sont transférées vers un registre d'images de conteneurs. La compression de la couche d'image du conteneur réduit la quantité de données qui doivent être transférées sur le réseau et stockées dans le registre des images du conteneur. Une fois qu'une couche d'image de conteneur a été téléchargée sur une instance par le moteur d'exécution du conteneur, cette couche est décompressée. L'algorithme de compression utilisé et la quantité de v CPUs disponible à l'exécution ont un impact sur le temps nécessaire pour décompresser l'image du conteneur. Sur Fargate, vous pouvez augmenter la taille de la tâche ou tirer parti de l'algorithme de compression zstd, plus performant, pour réduire le temps de décompression. Pour plus d'informations, consultez zstd on. GitHub Pour plus d'informations sur la façon d'implémenter les images pour Fargate, consultez la section AWS Fargate Réduction des temps de démarrage avec les images de conteneur compressées zstd.

Images du conteneur Lazy Loading

Pour les images de conteneur de grande taille (> 250 Mo), il peut être préférable de charger une image de conteneur en différé plutôt que de télécharger l'intégralité de l'image de conteneur. Sur Fargate, vous pouvez utiliser Seekable OCI (SOCI) pour charger en différé une image de conteneur à partir d'un registre d'images de conteneur. Pour plus d'informations, consultez les sections soci-snapshotter on GitHub et Lazy loading container images using Seekable OCI (SOCI).