51
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Fargate のイメージサイズ毎の起動時間の違い

Last updated at Posted at 2019-01-19

概要

AWS Fargate の起動が遅くてつらいことが多く、イメージサイズを減らせば速くなるんだろうか、ということを調べてみた。

結果

「起動時間」には以下の構成要素が含まれていると推測する。

  • ENI の Allocate (10秒程度)
  • コンテナイメージの Pull (かかる時間のほとんど)
  • コンテナの起動(Firecrackerの起動?)
  • IAM 関連の処理

AWS のネットワークはだいたいリソースサイズによってパフォーマンスが設定されているものがほとんどなので、Fargate も同様であると考えられる。
そのため、リソースが大きければそのぶんイメージの Pull にかかる時間は短縮されると考えられる。
Fargate のネットワークの性能については、計測された記事があった。

今回、各10回ほど繰替えし計測を行なったが、起動時間の変化はほとんどなかったため、イメージはキャッシュされていないと思われる。

イメージサイズによる起動時間の比較

以下の図は vCPU 0.25, 512 MB RAM のときに、各イメージサイズの起動時間をプロットしたもの。

imageSizeTime.png

vCPU による起動時間の比較

以下の図は、イメージサイズが1024MBのとき、起動時間が vCPU によって変化するのかをプロットしたもの。

vcpu.png

計測環境

Base Image

busybox:latest をベースにした。

FROM busybox
ARG PAD=0
RUN dd if=/dev/urandom of=/padding bs=1M count=$PAD
$ for i in 0 16 32 64 128 256 512 1024 \
do \
 docker build -t ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/fargate-test:s$i . --build-arg PAD=$i \
done
$ for i in 0 16 32 64 128 256 512 1024 \
do \
  docker push ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/fargate-test:s$i \
done

Image Sizes

  • 1.2 MB (Original Size)
  • 16 MB
  • 32 MB
  • 64 MB
  • 128 MB
  • 512 MB
  • 1024 MB

試行回数

各サイズ 10回

Resource

  • 0.25 vCPU, 512 MB
  • 0.5 vCPU, 1024 MB
  • 1 vCPU, 2048 MB
  • 2 vCPU, 4096 MB

Fargate Platform Version

1.3

計測方法

Fargate で RunTask を実行し、DescribeTasks API の結果の createdAtstoppedAt の差を集計した。

RunTask

TASK_ARN=$(aws ecs run-task --cluster fargate-test --task-definition fargate-test:2 --network-configuration 'awsvpcConfiguration={subnets=subnet-593ef401,assignPublicIp=ENABLED}' --launch-type FARGATE --query  'tasks[0].taskArn' --output text)
aws ecs wait tasks-stopped --cluster fargate-test --tasks $TASK_ARN

DescribeTasks

aws ecs describe-tasks --tasks $TASK_ARN --cluster fargate-test
51
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?