web-dev-qa-db-ja.com

ECSはコンテナをどれだけ速く起動できますか?

AWS ECS FargateがDockerイメージを起動して実行するための最小/平均時間はどれくらいですか?
議論のために、45MB anapsix/Alpine-Java画像。

ECS Fargateを使用して、より高速なリモートサーバー上にソフトウェアを構築することにより、低速のラップトップ/ PCでローカルにソフトウェアを構築するプロセスを高速化することを検討します。
このように、イメージの起動時間は、時間をかけて価値あるものにするために重要です。

13
Magnus

Fargateでの私の経験から、私は受け入れられた答えに同意しません。

Fargateで数千のコンテナを起動し、Fargateを使用するためのAWSアーキテクチャブログにも取り上げられました。 https://aws.Amazon.com/blogs/architecture/building-real-time-ai-with-aws-fargate/

NATゲートウェイの背後にあるプライベートサブネットは、IGWの背後にあるコンテナと起動時間に違いはありません。単一のNATインスタンスを使用する場合は、実際の距離が異なる場合があります。 。

Fargateでのコンテナの起動時間は、コンテナの大きさによって完全に決まります。 Fargateはコンテナーをキャッシュしないため、すべての実行タスクにより、Dockerのプルが発生します。あなたの画像がUbuntuに基づいているなら、あなたは悪い時間を過ごすでしょう。

GO fromスクラッチコンテナーとAlpineノードコンテナーが混在しています。

1000回の起動から集計したメトリックに基づいて、平均して、最初からコンテナーは開始し、ターゲットグループで10〜15秒で正常です。

アルパインのコンテナは、起動して健康になるまでに平均30〜40秒かかります。

それより長いものとコンテナーは、ファーキャッシュが事前にキャッシュされたecrまたは類似のものを提供するまで意味をなさないほど多すぎる可能性があります。

具体的な例として、同様のサイズのコンテナーがあります。エントリーポイントがすぐに正常な場合(つまり、60秒でない場合Java開始時刻))、45 mbのコンテナーが起動し、30秒で準備が整います。 -60秒。

12
stobiewankenobi

Fargateで100を超えるコンテナをリリースしましたが、パブリックVPCでは平均で約4分かかりますが、悪い日に7〜8分かかることもあります。

プライベートVPCで起動すると、タイミングが急に南下する可能性があります。 NATインスタンスがオーバーロードされている場合、Fargateコンテナを起動するのに2時間かかることがわかりました。

うまくいけば、AWSが時間をかけてこれをスピードアップするでしょう。 Fargateコンテナーを起動するのに、DockerイメージをECRにアップロードするよりも長くはかからないはずです。

8

ECS + EC2で利用可能なFargateでのキャッシュをまだ待っています。
それでも、これはFargateのDockerコンテナでの私の経験です。
コンテナサイズと起動時間:

4000 MB〜5分
2400 MB〜4分
1000 MB〜2分
350 MB〜50秒

5
Nebulastic

EC2起動タイプでECS_IMAGE_PULL_BEHAVIOR = prefer-cachedを使用して、エージェントの起動タイミングを大幅に削減できます。

0
Asim