このトピックでは、ECS イメージデプロイメントパッケージの仕組みを説明し、作成と使用の手順をご案内します。
背景情報
ECS イメージデプロイメントパッケージを使用する理由
サービスをデプロイする際、複数のリージョンでのデプロイをサポートするために ECS イメージを使用することがよくあります。しかし、ECS イメージはリージョン固有であるため、各ターゲットリージョンでこれらのイメージを複製し、リージョンごとにテンプレートで対応するイメージ ID を指定する必要があります。イメージの複製、マッピング、権限管理を含むこのプロセスは、新しいイメージバージョンごとに繰り返す必要があり、複雑で煩雑です。
ECS イメージデプロイメントパッケージのメリット
サービスプロバイダーは、Compute Nest コンソールで ECS イメージデプロイメントパッケージの関連付けを設定するだけで済みます。
イメージの複製: Compute Nest は、ソースイメージを Compute Nest の共有アカウントに複製し、そのアカウント配下の複数のリージョンに複製します。
イメージマッピング: Compute Nest は、テンプレートに
ImageIdが設定されているかどうかを確認します。設定されている場合、サービス詳細ページでImageIdを ECS イメージデプロイメントパッケージに関連付けることができます。ユーザーがサービスをデプロイすると、Compute Nest はデプロイリージョンを識別し、テンプレート内のImageIdをそのリージョンの正しいイメージ ID に自動的に置き換え、動的なイメージマッピングを実現します。権限管理: デプロイメントパッケージの権限は、関連付けられたサービスによって決定されます。デプロイメントパッケージがどのサービスにも関連付けられていない場合、プライベートであり、サービスプロバイダーのみが利用できます。少なくとも 1 つの公開サービスに関連付けられている場合、デプロイメントパッケージは公開されます。プライベートサービスのみに関連付けられている場合は、プライベートのままです。この場合、サービスにホワイトリストを追加すると、ホワイトリストはデプロイメントパッケージにも適用されます。
制限事項
ECS イメージデプロイメントパッケージは、テンプレート内の以下のクラウドリソースのイメージ ID を置き換えることができます。
ROS
デプロイに Resource Orchestration Service (ROS) を使用する場合、ROS テンプレートの Resource セクションにイメージ ID ImageId を含める必要があります。
サポート対象のクラウドリソースタイプ:
ECS インスタンス (ALIYUN::ECS::Instance)
ECS インスタンスグループ (ALIYUN::ECS::InstanceGroup)
ESS スケーリンググループ (ALIYUN::ESS::ScalingGroup)
E-HPC (Elastic High Performance Computing) クラスター (ALIYUN::EHPC::Cluster)
リソースプロパティ:
ImageIdリソース属性の値は文字列 (イメージ ID) である必要があります。テンプレートの入力パラメーターやその他の組み込みテンプレート関数は使用できません。
Terraform
デプロイに Terraform を使用する場合、テンプレートにイメージ ID image_id を含める必要があります。
サポート対象のクラウドリソースタイプ:
ECS インスタンス (alicloud_instance)
ESS スケーリンググループ (alicloud_ess_scaling_group)
リソースプロパティ:
image_idリソース属性の値は文字列 (イメージ ID) である必要があります。テンプレートの入力パラメーターやその他の組み込みテンプレート関数は使用できません。
デプロイメントパッケージの作成と使用
前提条件
ECS イメージを準備します。Compute Nest は、カスタムイメージと Alibaba Cloud Marketplace イメージをサポートしています。ニーズに合ったタイプを選択してください。
カスタムイメージ:アカウントから既存の ECS イメージを選択できます。
カスタムイメージがない場合は、まず カスタムイメージを作成 してください。詳細については、「インスタンスからカスタムイメージを作成」をご参照ください。
Alibaba Cloud Marketplace イメージ:Alibaba Cloud Marketplace で公開されているイメージ製品とバージョンを選択できます。
Alibaba Cloud Marketplace で適切なイメージ製品を見つけることができます。
ECS イメージデプロイメントパッケージの作成
デプロイメントパッケージの基本情報を設定します。
Compute Nest コンソールにログインします。左側のナビゲーションペインで、サービスアーティファクト を選択します。デプロイメントオブジェクト タブで、リソースの作成 をクリックします。
基本情報 セクションで、以下のパラメーターを設定します。
パラメーター
説明
[リソース名]
名前には、中国語、英字、数字、アンダースコア (_) を使用できます。名前は 3~128 文字で、中国語 1 文字は 2 文字としてカウントされます。デプロイメントパッケージ名は作成後に変更できません。
[バージョン名]
名前には、中国語、英字、数字、アンダースコア (_) を使用できます。名前は 3~50 文字で、中国語 1 文字は 2 文字としてカウントされます。
[リソースの説明]
説明は 10~500 文字である必要があります。中国語 1 文字は 2 文字としてカウントされます。
[リソースグループ]
デプロイメントパッケージが属するリソースグループを選択します。
リソースグループを使用すると、クラウドリソースを用途、権限、所有権ごとにグループ化でき、組織内の複数のユーザーやプロジェクトの階層的なリソース管理が可能になります。詳細については、「リソースグループ」をご参照ください。
[タグの設定]
タグキーとタグ値を入力または選択して、デプロイメントパッケージにタグを追加します。リソースには最大 20 個のタグをバインドできます。使用可能なタグキーまたは値がない場合は、カスタムタグを作成できます。詳細については、「カスタムタグの作成とバインド」をご参照ください。
ECS イメージデプロイメントパッケージを設定します。
リソースの内容 セクションで、リソースタイプ を ECS イメージ に設定します。イメージタイプ と 商品の選択 には、前提条件で準備したイメージを選択します。
イメージの配布 セクションで、イメージを配布するリージョンを 1 つ以上選択してください。 を選択します。この例では すべてのリージョン を使用します。
重要ECS イメージデプロイメントパッケージには、少なくとも 1 つの配布リージョンを選択する必要があります。
リソースの公開 をクリックします。
公開されたデプロイメントパッケージバージョンは変更できません。変更するには、新しいバージョンまたは新しいデプロイメントパッケージを作成する必要があります。
説明デプロイパッケージをテストするには、リソースの保存 をクリックします。テストが完了したら、リソースの公開 をクリックします。
デプロイメントパッケージが公開されていない場合、設定された配布リージョンでテストできません。イメージが存在するリージョンでのみテストできます。
デプロイメントパッケージを表示します。
サービスデプロイパッケージ ページに戻ります。新しく作成したデプロイパッケージの名前をクリックして リソースの詳細 ページに移動し、デプロイの進捗を確認します。
ステータスが 使用可能 に変わったら、表示 をクリックして ECS イメージデプロイパッケージの 配布結果 を取得します。
説明イメージの配布には、リージョンとイメージサイズに応じて、数分から数時間かかる場合があります。
ECS イメージデプロイメントパッケージの使用
このセクションでは、プライベートサービスを例として、サービスを作成する際に ECS イメージデプロイメントパッケージを設定する方法について説明します。
Compute Nest コンソールにログインします。
左側のナビゲーションペインで、[マイサービス] をクリックします。[マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
「新規サービス作成」ページで、作成方法として[カスタム起動]を、サービスタイプとしてプライベートデプロイサービスを選択し、次へ:サービスの設定をクリックします。
サービスの設定ページで、基本的なサービス情報を入力し、テンプレートを設定します。このセクションでは、ROS テンプレートを例として使用します。
テンプレートの内容 にイメージ ID
ImageIdが含まれている場合、[デプロイパッケージの関連付け] セクションが表示され、[イメージの関連付けを設定] できます。システムは、テンプレートからイメージ情報を自動的に解析し、[置き換えるイメージ] を
centos_7、[関連付けられたリソース] をEcsInstanceGroupとして表示します。[デプロイメントパッケージの選択] をクリックして関連付けを完了します。[デプロイメントオブジェクト] の選択 をクリックしてデプロイパッケージとバージョンを選択し、確定する をクリックして ECS イメージデプロイパッケージを関連付けます。
重要ドラフトバージョン を選択した場合、そのバージョンの ECS イメージは配布されません。イメージは作成されたリージョンでのみ利用できます。
公開済みバージョン を選択した場合、ECS イメージはソースリージョンとすべての配布リージョンで利用できます。
この例では、置き換えるイメージは
centos_7です。ダイアログボックスで、デプロイメントパッケージ SpringBootEcsImage を選択し、バージョン 1 を選択します。サービスを作成してテストした後、Compute Nest のレビュー基準を満たしていることを確認してから、レビューに提出します。詳細については、「レビュー基準」をご参照ください。
サービスが承認されたら、公開します。詳細については、「サービスの公開」をご参照ください。
サービスインスタンスが作成されると、イメージ ID は自動的にデプロイメントパッケージの対応する [配布結果] に置き換えられます。
置換前:
SecurityGroupId: Ref: EcsSecurityGroup ImageId: centos_7 IoOptimized: optimized InstanceChargeType: Ref: InstanceChargeType置換後:
InternetMaxBandwidthOut: Ref: InternetMaxBandwidthOut ImageId: m-bp1dxxx PeriodUnit: Ref: PayPeriodUnit
関連ドキュメント
Compute Nest でサービスを作成する方法の詳細については、「サービスの作成」をご参照ください。
デプロイメントパッケージまたは特定のバージョンが不要になった場合は、削除できます。詳細については、「デプロイメントパッケージの削除」をご参照ください。
デプロイメントパッケージのコンテンツ、配布リージョン、その他の詳細を変更するには、新しいバージョンを作成します。詳細については、「新しいバージョンの作成」をご参照ください。
デプロイメントパッケージのアップグレード設定を構成するには、「サービスアップグレードの設定」をご参照ください。