Comportamento dos contêineres Linux na extração de imagens de contêiner do Fargate para o Amazon ECS
Cada tarefa do Fargate é executada em sua própria instância de uso e de locatário únicos. Quando você executa contêineres do Linux no Fargate, as imagens de contêiner ou as camadas de imagens de contêiner não são armazenadas em cache na instância. Portanto, para cada imagem de contêiner definida na tarefa, a imagem de contêiner, em sua totalidade, precisa ser extraída do registro de imagem de contêiner para cada tarefa do Fargate. O tempo necessário para extrair as imagens está diretamente relacionado ao tempo dedicado para iniciar uma tarefa do Fargate.
Considere as informações apresentadas a seguir para otimizar o tempo de extração de imagens.
- Proximidade da imagem de contêiner
-
Para reduzir o tempo necessário para efetuar o download das imagens de contêiner, localize os dados o mais próximo possível da computação. A extração de uma imagem de contêiner usando a Internet ou entre Regiões da AWS pode afetar o tempo de download. Recomendamos armazenar a imagem de contêiner na mesma região em que a tarefa será executada. Se você armazenar a imagem de contêiner no Amazon ECR, use um endpoint da VPC de interface para reduzir ainda mais o tempo de extração da imagem. Para obter mais informações, consulte Amazon ECR interface VPC endpoints (AWS PrivateLink) no Guia do usuário do Amazon ECR.
- Redução do tamanho da imagem de contêiner
-
O tamanho de uma imagem de contêiner afeta diretamente o tempo de download. Reduzir o tamanho da imagem de contêiner ou o número de camadas da imagem de contêiner pode reduzir o tempo de download de uma imagem. Imagens base leves (como a imagem de contêiner mínima do Amazon Linux 2023) podem ser significativamente menores do que aquelas baseadas em imagens base do sistema operacional tradicional. Para obter mais informações sobre a imagem mínima, consulte AL2023 Minimal container image no Guia do usuário do Amazon Linux 2023.
- Algoritmos de compactação alternativos
-
Geralmente, as camadas de imagem de contêiner são compactadas quando enviadas para um registro de imagem de contêiner. A compactação da camada de imagem de contêiner reduz a quantidade de dados que precisam ser transferidos pela rede e armazenados no registro de imagens de contêiner. Depois que uma camada de imagem de contêiner for baixada para uma instância pelo runtime do contêiner, essa camada será descompactada. O algoritmo de compactação usado e a quantidade de vCPUs disponíveis para o runtime afetam o tempo dedicado para descompactar a imagem de contêiner. No Fargate, é possível aumentar o tamanho da tarefa ou aproveitar o algoritmo de compactação zstd de maior desempenho para reduzir o tempo necessário para a descompactação. Para obter mais informações, consulte ztsd
no GitHub. Para obter informações sobre como implementar as imagens para o Fargate, consulte Reducing AWS Fargate Startup Times with zstd Compressed Container Images . - Imagens de contêiner de carregamento lento
-
Para imagens de contêiner grandes (maiores do que 250 MB), pode ser ideal realizar o carregamento lento de uma imagem de contêiner em vez de efetuar o download da imagem de contêiner em sua totalidade. No Fargate, é possível usar o Seekable OCI (SOCI) para realizar o carregamento lento de uma imagem de contêiner de um registro de imagem de contêiner. Para obter mais informações, consulte soci-snapshotter
no GitHub e Carregamento lento de imagens de contêiner usando Seekable OCI (SOCI).