関数コードパッケージと比較して、コンテナイメージはより優れた移植性を提供し、より多様なツールチェーンエコシステムの恩恵を受けます。 ただし、コンテナイメージにはブロートウェアが含まれる場合があります。 Bloatwareにより、イメージサイズが1ギガバイトを超え、コンテナイメージのコールドスタートが数分に延長されます。 画像起動加速機能が有効になっている場合、コールドスタートを2段階で加速して、起動速度を約90% 増加させることができます。 画像の引き出し時間は数分から数秒に短縮されます。 このトピックでは、Container Registry Enterprise Editionのイメージ起動アクセラレーション機能の動作について説明します。 このトピックでは、この機能を設定する方法についても説明します。
メリット
Container Registry Personal Editionが提供するすべてのイメージアクセラレーション機能に加えて、Container Registry Enterprise Editionには次の利点があります。
ネットワーク分離がサポートされています。 独立した仮想プライベートクラウド (VPC) を構成して、イメージリポジトリにアクセス制御を実装できます。 メッセージルーティング機能の詳細については、「VPC ACLの設定」をご参照ください。
専用帯域幅は、イメージプル効率を改善する。
イメージリポジトリの組み込みイメージ変換機能は、変換されたイメージがFunction Computeで使用可能になる前にコールドスタートが発生するのを防ぎます。 変換された画像は、加速画像である。
制御ポリシー機能の動作
container Registry Enterprise Editionでカスタムコンテナーを実行し、コンテナーイメージを使用する関数のイメージ起動アクセラレーションを有効にできます。 Function Computeが関数のリクエストを処理すると、function ComputeはRAMロールを引き受け、一時的なAccessKeyペアを使用して高速化イメージをプルします。 これにより、画像の引き出しと開始の速度が大幅に向上します。
使用上の注意
画像起動アクセラレーション機能は、中国 (北京) 、中国 (張家口) 、中国 (杭州) 、中国 (上海) 、中国 (深セン) 、中国 (香港) 、シンガポール、米国 (シリコンバレー) 、米国 (バージニア) 、日本 (東京) の各リージョンでサポートされています。
Function Computeは、イメージリポジトリのデフォルトのVPC IPアドレス、またはPrivateZoneによって解析されたIPアドレスを使用して、container Registry Enterprise Editionのコンテナイメージのドメイン名を解決します。
Container Registry Enterprise Editionインスタンスのアクセス制御ページで、[Visit IP] 列の [Default Resolution] で識別されるIPアドレスは、VPCのデフォルト解決IPアドレスです。
ACR Enterprise Editionインスタンスのアクセス制御ページの [Visit IP] 列にデフォルト解決識別子が存在しない場合、リスト内のすべてのIPアドレスがAlibaba Cloud DNS PrivateZoneによって解析されます。
container Registry Enterprise Edition (Basic Edition) でコンテナイメージを使用する関数を作成または更新した後、高速化イメージが生成されるまで約5分待つ必要があります。 Function Computeは、関数が呼び出されると、リポジトリから高速化イメージを取得します。
container Registry Enterprise Edition (Standard Edition) またはContainer Registry Enterprise Edition (Advanced Edition) でコンテナーイメージを使用する関数を作成または更新した後、関数が呼び出されると、function Computeはリポジトリからアクセラレーションイメージを取得します。 加速イメージがリポジトリで使用できない場合は、リポジトリのイメージアクセラレーション機能を有効にして、加速イメージを生成する必要があります。 詳細については、「設定方法」をご参照ください。
設定方法
画像アクセラレーションを有効にします。
Container Registry Enterprise EditionのStandard EditionおよびAdvanced Editionインスタンスは、イメージアクセラレーション機能を提供します。 イメージリポジトリを作成または更新するときに、イメージアクセラレーションを有効にできます。 詳細については、「イメージアクセラレーションの有効化」をご参照ください。
加速イメージを選択します。
関数を作成または更新するときは、名前が
_accelerated
で終わるアクセラレーションイメージを優先的に使用し、イメージプルアクセラレーション機能を有効にします。 関数の設定後、アクセラレーションイメージを呼び出すことができます。 これは、関数呼び出しの持続的な効率を保証する。 関数を作成または更新するときに、次のいずれかの方法を使用してアクセラレーションイメージを選択できます。Function Computeコンソールでアクセラレーションイメージを選択します。 詳細については、「関数の作成」をご参照ください。
Serverless Devsを使用してアクセラレーションイメージを選択します。 詳細については、「YAML構文」をご参照ください。
customContainerConfig: image: registry-vpc.<regionId>.aliyuncs.com/fc-demo/python-flask:[Image version_accelerated]
SDKを使用してアクセラレーションイメージを選択します。 詳細については、「カスタムコンテナー関数の作成」をご参照ください。
その他の操作
Function Computeコンソールにログインするか、GetFunction操作を呼び出してイメージアクセラレーションのステータスを表示できます。 詳細については、「イメージ起動アクセラレーションのステータスの表示」をご参照ください。