

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# コンテナと AMI の最適化
<a name="bestpractice3"></a>

最初に実行するジョブセットでは、コンテナのサイズと構造が重要です。コンテナが 4 GBを超える場合は、特に当てはまります。コンテナイメージは、レイヤーで構築されます。レイヤーは、3つの並行スレッドを使用して Docker により並行して取得されます。`max-concurrent-downloads` パラメータを使用して、同時にスレッド数を増やすことができます。詳細については、[Dockerドキュメント](https://docs.docker.com/engine/reference/commandline/dockerd/) を参照してください。

より大きなコンテナを使用することもできますが、起動時間を短縮するために、コンテナの構造とサイズを最適化することをお勧めします。
+ **コンテナが小さいほどフェッチが速い** — コンテナが小さいほど、アプリケーションの起動時間の高速化につながります。コンテナのサイズを小さくするには、あまり更新されないライブラリやファイルを Amazon マシンイメージ (AMI) にオフロードします。またバインドマウントを使用して、コンテナへのアクセスを可能にすることもできます。詳細については、[バインドマウント](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bind-mounts.html) を参照してください。
+ **サイズが同じレイヤーを作成し、大きなレイヤーを分割する** — 各レイヤーは 1つのスレッドで検索されます。ですから、大きなレイヤーは、ジョブの起動時間に大きく影響する可能性があります。コンテナのサイズを大きくすることと、起動時間を短縮することの望ましいトレードオフとして、レイヤーの最大サイズを 2 GB にすることをお勧めします。`docker history your_image_id` コマンドを実行して、コンテナイメージの構造とレイヤーサイズを確認できます。詳細については、[Docker ドキュメント](https://docs.docker.com/engine/reference/commandline/history/) を参照してください。
+ **Amazon Elastic Container Registry をコンテナリポジトリとして使用する** — 何千ものジョブをパラレル実行すると、自己管理型リポジトリに障害が発生したり、スロットルされたスループットが抑制されたりする可能性があります。Amazon ECR は大規模に動作し、最大 100 万個以上の vCPUs を使用するワークロードを処理できます。  
![\[Diagram showing layers of machine images and containers with data types and change frequencies.\]](http://docs.aws.amazon.com/ja_jp/batch/latest/userguide/images/batch-best-practices-f1.png)