ImageCache を使用して Container Compute Service (ACS) Pod を作成すると、コンテナイメージのプルが高速化され、Pod の起動時間が短縮されます。このトピックでは、ImageCache の特徴、作成、使用方法、および課金について説明します。
仕組み
コンテナを実行する前に、ACS Pod は指定されたコンテナイメージをプルする必要があります。しかし、ネットワーク条件やコンテナイメージのサイズなどの要因により、イメージのプルは Pod 起動プロセスの中で最も時間のかかる部分になる可能性があります。インスタンスの起動を高速化するために、ACS は ImageCache 機能を提供します。コンテナイメージから事前に ImageCache を作成することで、そのキャッシュを使用する ACS Pod を作成できます。これにより、イメージレイヤーのダウンロードの必要性がなくなり、または削減され、起動時間が大幅に短縮されます。
実際の速度向上は、ACS Pod が使用するコンテナイメージのサイズやイメージリポジトリへのネットワーク接続などの要因によって異なります。
各 ImageCache には 1 つのイメージを含めることができます。Creating ステータスの ImageCache は構築中です。ステータスが Created に変わると、使用準備が完了したことになります。
ImageCache の作成に必要な時間は、コンテナイメージのサイズと構成されたネットワーク帯域幅によって異なります。ネットワーク接続の問題、認証の失敗、または存在しないリポジトリやタグなどの問題により、作成がタイムアウトして失敗することがあります。
課金
ImageCache 作成フェーズ
ImageCache の作成中に使用される中間リソースには料金はかかりません。リージョンごとに最初の 20 個の ImageCache は無料です。リージョンでこのクォータを超えた場合、以下の料金が適用されます:
ImageCache ストレージ料金 = 単価 × ImageCache サイズ × ImageCache のライフサイクル
単価: 0.18 人民元/GiB/月。
ImageCache サイズ: プルされ解凍されたコンテナイメージのサイズ (GiB)。
ImageCache のライフサイクル: ImageCache が作成された後に課金が開始され、削除された後に停止します。
ImageCache 使用フェーズ
この料金は、ImageCache を使用する Pod のライフサイクル全体にわたる高速化コストをカバーします。課金期間は Pod のランタイムと同じです。
ImageCache アクセラレーション料金 = 単価 × ImageCache サイズ ×
単価: 0.00231 人民元/GiB/時間
ImageCache サイズ: プルされ解凍されたコンテナイメージのサイズ (GiB)。
すべての Pod の合計ランタイム: ImageCache から Pod が起動されると、課金対象期間はイメージのプル、起動、実行を含むそのライフサイクル全体をカバーします。ImageCache アクセラレーションの課金対象期間は、Pod 自体の課金対象期間と一致します。例えば、T0 時間に ImageCache を使用して 3 つの Pod が起動され、それぞれの課金対象期間が 3,600 秒、3,000 秒、600 秒である場合、合計の高速化期間は 3,600 + 3,000 + 600 = 7,200 秒となります。
注意事項
権限: ImageCache を作成すると、サービスにリンクされたロールが作成されます。そのため、RAM ユーザーが
ram:CreateServiceLinkedRole権限を持っていることを確認してください。クォータと制限:
ImageCache が作成されると、そのサイズが表示されます。この値は、解凍されたコンテナイメージファイルと ImageCache インデックスファイルの合計サイズです。ImageCache は、圧縮サイズが最大 500 GiB のコンテナイメージをサポートします。
ImageCache のデフォルトのクォータは、リージョンごとに 200 です。チケットを送信して、クォータの引き上げをリクエストできます。
1 つのリージョンで同時に作成できる ImageCache は最大 50 個です。完了した ImageCache はこの制限にはカウントされません。
ImageCache のクォータが 10,000 を超える場合、ListImageCaches API を呼び出す際にタグとリソースグループによるフィルタリングは無視されます。この規模では、管理にタグとリソースグループを使用しないことを推奨します。
適用範囲:
サポート対象リージョン: ImageCache は、中国 (北京)、中国 (上海)、中国 (杭州)、中国 (ウランチャブ)、中国 (深セン)、中国 (香港)、および シンガポールで利用できます。
CPU インスタンスでサポートされるイメージタイプ:
linux/amd64およびwindows/amd64。デフォルトはlinux/amd64です。サポートされる GPU インスタンスとイメージタイプ: GPU インスタンスの場合、ImageCache は
G59、G49E、およびL20 (GN8IS)インスタンスタイプ、およびlinux/amd64イメージタイプをサポートします。ACS がサポートする GPU インスタンスタイプの詳細については、「高速コンピューティングインスタンスファミリー」をご参照ください。ACS コンソールは
linux/amd64ImageCache の作成のみをサポートします。Windows ImageCache を作成するには、OpenAPI を使用し、Platform パラメーターをwindows/amd64に設定します。
ネットワーク接続: 既存の ImageCache を使用する場合、Pod とイメージリポジトリ間のネットワーク接続を確保してください。
プルポリシー: GPU インスタンスは
imagePullPolicy: Alwaysのみをサポートします。
ImageCache の作成
コンソール
Container Compute Service コンソールにログインします。左側のナビゲーションウィンドウで、イメージキャッシュ を選択します。
イメージキャッシュ ページで、左上隅の イメージキャッシュの作成 をクリックします。
画面の指示に従って、リージョン、イメージキャッシュとアクセス認証情報、およびネットワーク接続を構成し、作成を確定します。
ImageCache を作成した後、作成イベント でその進捗をモニターできます。
パラメーター
説明
例
リージョン
ImageCache がサポートされているリージョン。
中国 (北京)
イメージキャッシュとアクセス認証情報
イメージキャッシュ名: 長さは 2~128 文字で、小文字、数字、ハイフン (-) を使用できます。ハイフンで開始または終了することはできません。
イメージ: Container Registry (ACR) Enterprise Edition、ACR Personal Edition、またはアーティファクトリポジトリからターゲットイメージとバージョンを選択します。
アクセス認証情報: 同じアカウント下の ACR リポジトリに対してはパスワードなしのアクセスが自動的に有効になるため、アクセス認証情報を入力する必要はありません。Alibaba Cloud Container Registry (ACR) 以外のリポジトリのイメージを使用する場合は、イメージリポジトリのドメイン名をサーバーとして指定し、対応するユーザー名とパスワードを構成する必要があります。
イメージキャッシュ名:
image-cache-*****イメージ:
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.9.0.1-pytorch2.7-cu128-20250612
ネットワーク接続設定
キャッシュしたいコンテナイメージをプルするために、次のいずれかの方法を選択します。
パブリックネットワーク:
NAT Gateway を VPC にバインドし、選択した vSwitch の SNAT ルールを構成します。
自動的に作成するか、既存の EIP を使用します。
自動的に作成された EIP は実際のトラフィックに基づいて課金され、ImageCache が作成された後に自動的にリリースされます。課金の詳細については、「課金概要」をご参照ください。
VPC: 最高のパフォーマンスを得るには、コンテナイメージを同じリージョン内の Container Registry (ACR) Enterprise Edition インスタンスにアップロードし、内部 VPC アドレスを使用してプルします。
実際のネットワーク環境に基づいてこれを構成します。
OpenAPI
ImageCache の使用
Pod アノテーション | 説明 |
| Pod の ImageCache マッチング機能を有効にします。 |
この機能を有効にすると、Pod は以下の基準に基づいて最適な ImageCache を自動的に照合して使用します:
イメージの一致: ImageCache のイメージ名は、Pod で指定されたイメージと完全に一致する必要があります。
作成時刻: 最新の利用可能な ImageCache が優先されます。
Clusters ページで、ターゲットクラスターの名前をクリックします。左側のナビゲーションウィンドウで、ワークロード > ポッド を選択し、YAML のリソースの作成 をクリックします。
以下の YAML を使用して Pod を作成し、アノテーションを追加して ImageCache マッチング機能を有効にします。
ネットワーク構成と認証情報が、指定されたイメージリポジトリへのアクセスを提供することを確認してください。
apiVersion: v1 kind: Pod metadata: labels: name: hello-pod name: hello-pod annotations: image.alibabacloud.com/enable-image-cache: "true" spec: containers: - image: egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.9.0.1-pytorch2.7-cu128-20250612 # ご利用のイメージアドレスに置き換えてください。 command: ["/bin/sleep", "infinity"] imagePullPolicy: Always name: hello-pod ports: - containerPort: 8080 protocol: TCP resources: {} securityContext: capabilities: {} privileged: false terminationMessagePath: /dev/termination-log dnsPolicy: ClusterFirst restartPolicy: AlwaysPod が作成された後、その名前をクリックして Overview ページに移動します。ImageCache マッチング機能が有効になっている場合、システムは一致した ImageCache に関する情報を含むアノテーションを Pod に自動的に追加します。
機能
パラメーター
例
説明
ImageCache ヒット情報
image.alibabacloud.com/matched-image-caches[{"imageCacheId":"imc-*****t15xuii6tz*****","size":30}]一致した ImageCache の ID とサイズ (GiB)。