Compute Nestを使用すると、ユーザーはサービスインスタンスをアップグレードできます。 以前のバージョンのサービスに存在する問題を修正したり、サービスの新機能をリリースしたりする場合は、新しいバージョンのサービスを公開できます。 新しいバージョンのサービスを公開した後、顧客はビジネス要件に基づいて以前のバージョンのサービスに基づいて作成されたサービスインスタンスをアップグレードできます。 アップグレードされたサービスインスタンスは、新しいバージョンのサービスの機能をサポートします。
技術の原理
サービスは、スタックまたはアプリケーションを使用して更新できます。 次のセクションでは、サービスを更新する方法について説明します。
リソーススタックを使用したサービスの更新
顧客がCompute Nestでサービスインスタンスを作成すると、Resource Orchestration service (ROS) が提供するサービステンプレートに基づいてスタックが作成されます。 サービスが更新されると、サービスの更新に使用されるROSテンプレートに基づいてスタックが更新されます。 このようにして、クラウドリソースとソフトウェアアプリケーションを同時にアップグレードできます。 スタックを使用してサービスを更新する場合は、サービスの異なるバージョンのみを定義する必要があります。 アップデート中、Compute Nestは2つのバージョンのROSテンプレートの違いを比較し、対応するアップデート操作を実行します。
次の例は、スタックを使用してサービスを更新する方法を示しています。 この例では、サービスにはV1とV2という2つのバージョンがあります。 V1のサービステンプレートは、Resource A、Resource B、Resource Cの定義を含む。V2のサービステンプレートは、Resource A、Resource B、Resource Dの定義を含む。 次の図は、更新プロセスを示しています。
スタックを使用してサービスを更新するための次の規則は、上の図に基づいて要約されています。
旧バージョンのサービステンプレートで定义されているリソースが, 旧バージョンのサービステンプレートで定义されているリソースと同じ场合, リソースは変更されません。 この例では、リソースAは変更されないままである。
旧バージョンのサービステンプレートで定义されているリソースが, 旧バージョンのサービステンプレートで定义されているリソースと同じ场合, リソースが更新されます。 この例では、リソースBが更新されます。
旧バージョンのサービステンプレートに定義されているリソースが、旧バージョンのサービステンプレートに存在しない場合は削除されます。 この例では、リソースCが削除されます。
旧バージョンのサービステンプレートに, 新バージョンのサービステンプレートで定义されているリソースが存在しない场合は, 新バージョンのサービステンプレートにリソースが作成されます。 この例では、リソースDが作成されます。
アプリケーションを使用したサービスの更新
アプリケーションは、CloudOps Orchestration Service (OOS) に基づいて更新できます。 OOSは、サービスインスタンスのElastic Compute Service (ECS) リソースでスクリプトコマンドを実行し、ECSイメージまたはソフトウェアパッケージを置き換えます。 このように、サービスインスタンスのソフトウェアアプリケーションは、スタックを直接変更するのではなく、O&M操作を実行することによって更新されます。 この方法は、ECSベースのデプロイシナリオでソフトウェアアプリケーションを更新するのに適しており、Container Service for Kubernetes (ACK) ベースのデプロイシナリオには適用できません。
アプリケーションを更新するには、以前のサービスバージョンと以降のサービスバージョンを比較し、OOSが更新に必要なアクションを構成する必要があります。 OOSは、以前のバージョンのサービスインスタンスに対して設定されたアクションを実行して、サービスを更新します。 この方法では、より複雑な設定を実行する必要があります。
アプリケーションはスタック上で更新されず、更新操作はスタックに知覚できない。 この場合、他の更新操作がスタック上で実行される場合、この更新操作は上書きされ得る。 そのため、アプリケーションではなくスタックを使用してサービスを更新することをお勧めします。
サービスインスタンスのアップグレード規則
サービスインスタンスをアップグレードするバージョンは、サービスインスタンスで使用可能である必要があります。
サービスインスタンスは、以前のバージョンから新しいバージョンにのみアップグレードできます。
サービスプロバイダーは、サービスを発行し、テストでサービスインスタンスを作成するために使用されるのと同じアカウント内で、サービスインスタンスをバージョンからドラフトバージョンまたはベータバージョンにアップグレードできます。
ドラフトバージョンは最新バージョンであり、アップグレードできません。
ベータ版は2番目に最新のバージョンで、ドラフトバージョンにアップグレードできます。 公開バージョンはベータバージョンにアップグレードすることもできます。
サービスインスタンスのアップグレード
一度に1つのサービスインスタンスまたは複数のサービスインスタンスをアップグレードできます。 詳細については、「1つ以上のサービスインスタンスのアップグレード」をご参照ください。
サービス詳細ページで単一のサービスインスタンスをアップグレードします。
サービスの詳細ページの [O&M管理] タブで、一度に複数のサービスインスタンスをアップグレードします。
サービスインスタンスのロールバック
サービスのロールバックは、サービスインスタンスのアップグレードとは逆の操作です。 サービスインスタンスでロールバック操作を実行すると、Compute Nestはサービスインスタンスを新しいバージョンから以前のバージョンにロールバックします。 サービスインスタンスを以前のバージョンにロールバックできます。 お客様は、サービスの更新履歴を表示することで、サービスインスタンスをロールバックできるバージョンを表示できます。