イメージキャッシュを使用して Elastic Container Instance (ECI) インスタンスを作成すると、コンテナイメージのプルが高速化され、インスタンスの起動時間が短縮されます。このトピックでは、イメージキャッシュの特徴、作成方法と使用方法、および課金の詳細について説明します。
特徴
コンテナを実行する前に、Elastic Container Instance (ECI) は指定されたコンテナイメージをプルする必要があります。イメージのプルは、多くの場合 ECI インスタンスの起動において最も時間がかかる部分であり、その所要時間はネットワーク状況やイメージサイズなどの要因に依存します。インスタンス作成を高速化するために、ECI はイメージキャッシュ機能を提供します。必要なイメージを事前にキャッシュスナップショットとして構築できます。このスナップショットから ECI インスタンスを作成すると、イメージレイヤーのダウンロードを回避または削減でき、インスタンスの作成が大幅に高速化されます。
テストによると、Docker Hub から flink イメージ (約 386.26 MB) を使用して ECI インスタンスを作成する場合、イメージの準備フェーズには通常 50 秒かかります。イメージキャッシュを使用すると、この準備時間が不要になり、インスタンスの起動時間が大幅に短縮されます。
実際の速度向上は、ECI インスタンスで使用されるコンテナイメージの数やサイズ、イメージレジストリのネットワーク状況などの要因によって異なります。
作成方法
イメージキャッシュは、手動と自動の 2 つの方法で作成できます。
コストを削減するために、自動作成を使用することを推奨します。ただし、最初の ECI インスタンスの作成を高速化するには、事前に手動でイメージキャッシュを作成する必要があります。
手動作成
名前やサイズなどのパラメーターを設定することで、イメージキャッシュを作成できます。プロセスは次のとおりです。
各イメージキャッシュは 1 つのスナップショットに対応します。手動で作成されたイメージキャッシュのスナップショットは、お客様が管理する必要があります。
作成プロセス中、システムは一時的な ECI インスタンス (2 vCPU、4 GiB メモリ) を作成し、ESSD PL1 クラウドディスクをアタッチしてイメージキャッシュのスナップショットを作成します。作成が完了すると、一時的なインスタンスとクラウドディスクは自動的にリリースされます。
高速イメージキャッシュ機能を使用すると、イメージキャッシュの作成時間が短縮されます。この機能を有効にすると、システムはスナップショットの高速可用性を有効にし、一時的にローカルスナップショットを作成します。ローカルスナップショットが作成されるとすぐに、イメージキャッシュの使用を開始できます。
説明ローカルスナップショットが作成された後、システムは自動的に標準スナップショットの作成を開始します。この間、イメージキャッシュはローカルスナップショットによってバックアップされます。標準スナップショットの準備が完了すると、システムは自動的にローカルスナップショットを削除し、その後イメージキャッシュは標準スナップショットによってバックアップされます。
イメージキャッシュの再利用機能を使用すると、イメージキャッシュの作成が高速化されます。この機能を有効にすると、システムは一致するイメージレイヤーを持つ既存のイメージキャッシュを自動的に検索します。新しいイメージキャッシュは、これらのレイヤーを再ダウンロードする代わりに再利用するため、作成プロセスが高速化されます。
自動作成
イメージキャッシュの自動マッチングを有効にして ECI インスタンスを作成する際に、一致するキャッシュが見つからない場合、システムは自動的にイメージキャッシュを作成します。プロセスは次のとおりです。
各イメージキャッシュは 1 つのスナップショットに対応します。自動作成されたイメージキャッシュのスナップショットは、Alibaba Cloud が管理します。
作成プロセス中、システムは ECI インスタンスを作成し、インスタンスのエフェメラルストレージを使用してイメージキャッシュのスナップショットを作成します。作成が完了すると、インスタンスは自動的にリリースされます。
説明デフォルトでは、各 ECI インスタンスにはイメージキャッシュ作成用に 30 GiB のエフェメラルストレージが利用可能です。イメージの合計サイズが 30 GiB を超える場合は、追加のエフェメラルストレージを宣言する必要があります。詳細については、「ECI インスタンスのエフェメラルストレージサイズを増やす」をご参照ください。
比較
手動で作成されたイメージキャッシュと自動で作成されたイメージキャッシュは、サイズや保持期間などの点で異なります。次の表は、2 つの方法を比較したものです。
項目 | 手動作成 | 自動作成 |
名前 | カスタム名を指定できます。 | システムは、 |
サイズ | デフォルトサイズは 20 GiB です。カスタムサイズを指定できます。 | デフォルトサイズは 30 GiB です。ECI インスタンス作成時追加のエフェメラルストレージを宣言した場合、イメージキャッシュのサイズは 30 GiB にエフェメラルストレージのサイズを加えたものになります。 |
保持期間 | デフォルトでは、キャッシュは永続的です。日単位でカスタムの保持期間を設定できます。保持期間が過ぎると、キャッシュは自動的に削除されます。 | デフォルトでは、Alibaba Cloud が保持期間を管理します。
|
イメージキャッシュの再利用 | イメージキャッシュの再利用を有効にすることで、既存のイメージレイヤーを再利用し、イメージキャッシュの作成を高速化できます。 | サポートされていません。 |
高速イメージキャッシュ | 高速イメージキャッシュを有効にすることで、一時的なローカルスナップショットを作成し、イメージキャッシュの作成時間を短縮できます。 | サポートされていません。 |
クォータ | ListUsage API 操作を呼び出すか、コンソールの [権限とクォータ] ページでクォータを確認できます。 クォータが不足している場合は、チケットを起票してクォータの引き上げをリクエストできます。 | ListUsage API 操作を呼び出してクォータを確認できます。 クォータが不足している場合は、チケットを起票してクォータの引き上げをリクエストできます。 |
エビクションポリシー | デフォルトでは、クォータに達すると、それ以上手動でイメージキャッシュを作成することはできません。 CreateImageCache または UpdateImageCache API 操作の | クォータに達すると、システムは自動的に Least Recently Used (LRU) のイメージキャッシュを削除します。 |
コスト | 作成と使用に対して課金されます。 | 作成には課金されず、使用に対してのみ課金されます。 |
使用方法
イメージキャッシュを使用すると、ECI インスタンスの作成が高速化されます。ECI インスタンスを作成する際、次の 2 つの方法のいずれかでイメージキャッシュを使用できます。
方法 | 説明 |
自動マッチング | システムが最適なイメージキャッシュを自動的に選択します。マッチングプロセスは次のとおりです。
説明 一致するイメージキャッシュが見つからない場合、ECI インスタンスの作成中にシステムが自動的に 1 つ作成します。このプロセス中、イメージは通常どおりプルされます。イメージレイヤーが再度ダウンロードされるのを防ぎ、イメージキャッシュの有効性を確保するために、コンテナのイメージのプルポリシーを |
手動指定 | 使用するイメージキャッシュを正確に指定します。指定されたイメージキャッシュは Ready 状態である必要があります。 |
注意事項
1 つのイメージキャッシュには、最大 20 個のコンテナイメージを含めることができます。
イメージキャッシュの作成にはコンテナイメージのプルが必要です。そのため、作成時間はイメージの数やサイズ、ネットワーク状況などの要因によって異なります。
手動で作成されたイメージキャッシュは、指定したコンテナイメージを使用します。自動で作成されたイメージキャッシュは、インスタンスで宣言されたコンテナイメージを使用します。
Alibaba Cloud Container Registry (ACR) でホストされていないプライベートイメージを使用する場合、プライベートイメージレジストリのアドレス、ユーザー名、パスワードなどのアクセス認証情報を提供する必要があります。
公式の Docker イメージなど、パブリックネットワーク経由でイメージをプルする必要がある場合は、パブリックネットワークアクセスを有効にするために Elastic IP Address (EIP) または NAT ゲートウェイを設定する必要があります。詳細については、「ECI インスタンスをパブリックネットワークに接続する」をご参照ください。
リモートレジストリのタイムアウトなどの問題でイメージのプルに失敗した場合は、Alibaba Cloud Container Registry (ACR) を使用し、Alibaba Cloud でホストされているレジストリにイメージをプッシュすることを推奨します。
手動で作成されたイメージキャッシュについては、不要なスナップショット料金を避けるために保持期間を設定することを推奨します。自動で作成されたイメージキャッシュについては、Alibaba Cloud が対応するスナップショットを管理するため、保持期間を設定する必要はありません。
イメージキャッシュが作成された後、その作成イベントを表示して作成プロセスを理解することができます。システムは最新 50 件の作成イベントを保持します。
課金
詳細については、「イメージキャッシュの課金」をご参照ください。