プライベートサービスでカスタムイメージまたは Alibaba Cloud Marketplace イメージを使用し、複数リージョンでのデプロイをサポートする必要がある場合、テンプレート内でイメージをリージョンにマッピングする必要があります。カスタムイメージの場合、サポート対象の各リージョンにイメージをコピーし、お客様に使用を許可する必要もあります。Compute Nest は、イメージ配布機能を使用してこれらの操作を簡素化します。このトピックでは、イメージの関連付けを使用してこのプロセスを自動化する方法について説明します。
背景情報
サービスプロバイダーは、テンプレート内の ECS インスタンス、ECS インスタンスグループ、スケーリンググループ、または E-HPC クラスターなどのリソースのイメージ ID プロパティを指定する必要があります。Compute Nest は、テンプレートからすべてのイメージ ID を解析します。その後、サービスプロバイダーはソースイメージを選択したデプロイパッケージに関連付けます。お客様がサービスインスタンスを作成する際、Compute Nest は、テンプレート内のソースイメージ ID を、選択したリージョンに対応するデプロイパッケージのイメージ ID に動的に置き換えます。
前提条件
開始する前に、ECS イメージデプロイパッケージを作成する必要があります。
操作手順
プライベートサービスを作成するときは、デプロイ方法として ROS または Terraform を選択します。たとえば、ROS テンプレートの JSON コードでは、
ImageIdの値を"centos_7"のような特定のイメージ ID 文字列に設定します。ROS を選択する場合、テンプレートに
ImageIdプロパティを含める必要があります。サポートされているクラウドリソースタイプ:
ECS インスタンス (ALIYUN::ECS::Instance)
ECS インスタンスグループ (ALIYUN::ECS::InstanceGroup)
スケーリンググループ (ALIYUN::ESS::ScalingGroup)
E-HPC (ALIYUN::EHPC::Cluster)
リソースプロパティは
ImageIdです。プロパティ値は、リテラルイメージ ID 文字列である必要があります。テンプレート入力パラメーターやテンプレート関数は使用できません。
Terraform を選択する場合、テンプレートに
image_id引数を含める必要があります。サポートされているクラウドリソースタイプ:
ECS インスタンス (alicloud_instance)
スケーリンググループ (ALIYUN::ESS::ScalingGroup)
リソース引数は
image_idです。引数値は、リテラルイメージ ID 文字列である必要があります。テンプレート入力パラメーターや関数は使用できません。
デプロイリージョンを選択します。
「デプロイパッケージの関連付け」セクションの [イメージ関連付けの設定] で、[デプロイパッケージの選択] をクリックします。
重要デプロイパッケージを選択した後、そのバージョンも選択する必要があります。
ドラフトバージョンを選択した場合、そのバージョンの ECS イメージはまだ配布されていません。イメージは、作成されたリージョンでのみ利用可能です。
正式バージョンを選択した場合、そのバージョンの ECS イメージはすでに配布されています。イメージは、作成リージョンおよびすべての配布先リージョンで利用可能です。
[デプロイパッケージの選択 (イメージの関連付け)] ダイアログボックスが表示され、[置換されるイメージ] (例:
springboot) とその [関連付けられたリソース] (例:InstanceGroup) が表示されます。 [デプロイパッケージの選択] ドロップダウンリストからデプロイパッケージ (例:EcsImage) を選択し、バージョンを選択してから、[OK] をクリックします。サービスを保存し、すべてのテストに合格した後、審査基準と照らし合わせて確認し、審査に提出します。
サービスが承認されたら、サービスを公開します。詳細な手順については、「サービスの公開」をご参照ください。
次のステップ
サービスが公開された後、お客様がサービスインスタンスを作成する際、システムはどのイメージを使用するかを動的に決定します。システムは、お客様が選択したリージョンとサービスのデプロイパッケージを使用して、デプロイに適した、リージョン固有の適切なイメージを自動的に選択します。