スキップしてコンテンツを表示

Amazon ECS でイメージをプルするときの遅延を軽減する方法を教えてください。

所要時間1分
0

Amazon Elastic Container Service (Amazon ECS) を使用してイメージをプルするときの遅延を軽減したいです。

解決策

イメージのサイズを小さくする

イメージの取り込み時間を短縮するには、イメージサイズを小さくします。イメージサイズを小さくする方法については、Docker Docs のウェブサイトで「ベストプラクティスを策定する」を参照してください。

Amazon Linux 2023 コンテナイメージを使用する場合は、AL2023 の最小コンテナイメージを使用してイメージサイズを小さくすることがベストプラクティスです。

最も近い AWS リージョンのエンドポイントを使用する

遅延を軽減するには、アプリケーションが実行されている場所に最も近いリージョンエンドポイントを使用します。

Amazon Elastic Container Registry (Amazon ECR) Public や Docker Hub などのパブリックレジストリを使用する場合は、プルスルーキャッシュを使用します。プルスルーキャッシュを使用すると、アプリケーションと同じエンドポイントを持つプライベートレジストリにイメージをデプロイできます。詳細については、「アップストリームレジストリを Amazon ECR プライベートレジストリと同期する」を参照してください。

イメージが既に、別のリージョンの Amazon ECR プライベートレジストリにある場合は、プライベートイメージのレプリケーションを使用します。プライベートイメージのレプリケーションを使用すると、同じイメージをアプリケーションリージョンにデプロイできます。

ECS_IMAGE_PULL_BEHAVIOR を 1 会に設定する

Amazon Elastic Compute Cloud (Amazon EC2) 起動タイプを使用している場合は、ECS_IMAGE_PULL_BEHAVIOR パラメータを変更して Amazon ECS のプル動作を構成します。コンテナインスタンスのストレージを削減するには、ECS_IMAGE_PULL_BEHAVIORonce に設定します。この構成ではキャッシュされたイメージを使用します。イメージが以前にプルされたことがないか、自動クリーンアップによって削除された場合にのみイメージをリモートで取得します。イメージのクリーンアップに関する詳細については、「自動 Amazon ECS タスクとイメージのクリーンアップ」を参照してください。

次の例では、ECS_IMAGE_PULL_BEHAVIOURonce に設定されています。amazonlinux:2023-minimal コンテナを使用するタスクの初回起動時に、EC2 インスタンスの Amazon ECS エージェントがイメージをプルします。イメージのプルが開始および終了した時期を確認するには、msg の値をチェックします。イメージがプルされた所要時間を確認するには、elapsed および elapsedMs を参照します。

level=info time=2024-11-11T17:02:09Z msg="Pulling image for container concurrently" container="al2023" image="amazonlinux:2023-minimal" task="taskid"
level=info time=2024-11-11T17:02:14Z msg="Finished pulling image for container" task="taskid" container="al2023" image="amazonlinux:2023-minimal" elapsed="4.6245648s" elapsedMs=4624

amazonlinux:2023-minimal コンテナを使用するタスクが 2 回目に開始されると、Amazon ECS エージェントはキャッシュを使用しますが、イメージはプルしません。msg 値を参照し、Amazon ECS がキャッシュされたイメージを見つけて使用したかどうかを確認します。

level=info time=2024-11-11T17:07:06Z msg="Found cached image, use it directly for container" task="taskid" container="al2023" image="amazonlinux:2023-minimal"

Amazon ECS エージェントの設定パラメータに関する詳細については、「Amazon ECS コンテナエージェントの設定」を参照してください。

関連情報

Amazon ECR のクロスリージョンレプリケーションが導入されました

Amazon ECR のパフォーマンスを最適化する

AWS公式更新しました 2年前
コメントはありません