テナントのアップグレード

このトピックでは、TotalAgility テナントをバージョン 7.5.0 (または 7.5.X.X) からバージョン 7.11.0 にアップグレードする手順について説明します。

統合サーバーと共にインストールされているオンプレミス マルチテナント内のテナントをアップグレードする場合は、すべてのサービスを停止する必要があります。そうしないと、テナントのアップグレードは失敗します。

オンプレミス マルチテナントでキャプチャ データを移行できます。キャプチャ データの移行プロセスは、テナントを TotalAgility の以前のバージョンから 7.8.0 にアップグレードするときに実行されます。各テナント データベースの移行プロセスは、テナント管理システムから実行されます。移行プロセスでは、一貫性のあるデータのみを移行できます。何らかの理由で (カスタム スクリプトまたは TotalAgility の障害により) データベース内の一部のフォルダが一貫した状態になっていない場合、これらのフォルダは移行できず、破損したフォルダとして表示されます。

テナントのアップグレード中に破損したルート フォルダが見つかった場合、そのテナントのステータスには「警告が発生して完了」と表示されます。警告と破損した関連ルート フォルダ の ID を確認できます。各テナントを個別に承認することも、すべてのテナントを一度に承認することもできます。テナントを承認すると、テナントのアップグレードは完了とマークされます。

テナントをアップグレードするには、次の手順を実行します。

  1. [テナント管理システム] ページのヘッダー バーの [テナント] > [アップグレード] をクリックします。

    [テナントのアップグレード] ページが表示されます。

    アップグレードする前に、すべてのデータベースをバックアップする必要があります。これには、マスター テナント、データ センター テナント、および各テナント固有のデータベースが含まれます。

  2. [アップグレード アクション] リストで、アップグレードする環境を選択します。
    • [追加環境]: アップグレード スクリプトは、すべてのテナントのすべての追加環境で実行されます。

    • [本番環境]: アップグレード スクリプトは、すべてのテナントのすべての本番環境で実行されます。

    • [すべての環境]: アップグレード スクリプトは、すべてのテナントのすべての追加環境と本番環境で実行されます。

      テナントごとに複数の開発環境が存在する場合があります。

    アップグレードを確認すると、選択した環境でアップグレード スクリプトが実行されます。

  3. [リフレッシュ] をクリックします。

    • [結果] 列に、テナントのデータ移行アップグレードの進行状況が視覚的に表示されます。たとえば、テナント A について、進行中 (35%)、ETA: 0 時間 25 分と表示されます。キャプチャ データ移行プロセスの後、[結果] 列には、テナント アップグレードのステータスとして次のいずれかが表示されます。

      • [完了済み]: アップグレードが成功した場合。

      • [失敗]: アップグレードが失敗した場合。

      • [警告で完了]: 破損したフォルダが見つかった場合。警告を表示して修正する必要があります。そうしないと、テナントは有効になりません。

    • 移行プロセスでは、一貫性のあるデータのみを移行できます。何らかの理由で (カスタム スクリプトまたは TotalAgility の障害により) データベース内の一部のフォルダが一貫した状態になっていない場合、これらのフォルダは移行できず、破損したフォルダとして表示されます。テナントのアップグレード中に、破損したフォルダが見つかった場合、アップグレードのステータスは「警告で完了」に変更され、[警告を確認] タブが有効になります。このステータスの場合は、警告が明示的に確認されない限り、テナントを有効にすることはできません。

  4. 警告を表示して修正するには、[警告を確認] タブをクリックします。

    このタブは、一部のルート フォルダが破損している場合にのみ有効になります。[警告を確認] ダイアログ ボックスに、テナントの名前と破損したルート フォルダの ID が表示されます。テナントのアップグレードに「完了済み」としてマークするには、次のいずれかを実行してテナントを承認する必要があります。

    • 個々のテナントを承認するには、テナントを選択して [承認] をクリックします。選択したテナントのアップグレード ステータスは「完了済み」とマークされ、テナントはリストから削除されます。このテナントが、破損したフォルダを含む最後のテナントであった場合は、[警告を確認] ダイアログ ボックスが閉じます。

    • すべてのテナントを一度に承認するには、[すべて承認] をクリックします。すべてのテナントのアップグレード ステータスは成功としてマークされ、[警告を確認] ダイアログ ボックスが閉じます。

  5. [閉じる] をクリックします。
  6. システムが期待どおりに機能していることを確認します。たとえば、ログインして、システムが正常に実行されているかどうかを確認できます。

ゼロ ダウンタイム アップグレード プロセス

ゼロ ダウンタイム アップグレードを実行すると、新しいバージョンのアプリケーションを本番環境に導入することで、TotalAgility をアップグレードできます。アップグレード プロセス中に、アプリケーションが完全にダウンしたり、不安定な状態になることはなく、すべてのテナントがアップグレードされるまでシステムをダウンさせる必要はありません。

ゼロ ダウンタイム以外のアップグレード プロセスでは、次の手順を実行する必要があります。

  1. すべてのテナントで現在実行中のアプリケーションを閉じます。
  2. 新しいバージョンをインストールします。
  3. すべてのテナント データベースをアップグレードします。
  4. すべてのテナントがアップグレードされたら、新しいバージョンのアプリケーションを起動します。

    この場合、アプリケーションがしばらくの間ダウンします。

  5. マスター テナントおよびデータセンター テナント データベース (存在する場合) で、7.8.0 から 7.9.0 への変換スクリプト (プレ アップグレード) を手動で実行します。
  6. 現在の (7.8.0) テナント管理システムの Azure 展開を最新バージョン (7.9.0) にアップグレードします。
  7. 最新バージョン (7.9) の Azure データセンターをステージング デプロイメントに展開します。ワーカー タスクロールを実行せずに展開する必要があります。そのためには、AzureConfiguration.cscfg ファイルの「IgnoreWorkerTasks」設定を True に設定する必要があります。この設定を True に設定すると、ワーカー タスクは実行されません。

    ユーザーがアクセスできないステージング デプロイメントを使用する場合、本番環境は引き続き 7.8.0 で実行されるため、テナントの Designer を無効にする必要はありません。

  8. テナント管理システムにログオンし、[データセンター] 画面に移動して、[ライブ ホスト名] フィールドと [開発ホスト名] フィールドの新しいステージング データセンターの詳細でデータセンターを更新します。ステージング データセンターのホスト名は、現在の展開で本番環境から取得する方法と同様に、Azure ポータルから取得できます。
  9. [テナントのアップグレード] ページに移動し、アップグレードする単一のテナント、複数のテナント、またはすべてのテナントを選択してから、[DB の変換 - プレ アップグレード] をクリックしてデータベース スクリプトをプレ アップグレードします。
    これにより、テナント データベースがアップグレードされ、下位互換性を持つようになります。このアップグレード中に、テナントは非アクティブ化されます。アップグレードが成功し、テナントが正常に機能していることを確認します (つまり、テナント DB がアップグレードされ、古いバージョンのバイナリが実行されているかどうかを確認します)。
  10. テナント管理システムの [データセンター] 画面で、元の本番データセンターの詳細を使用してデータセンターを元に戻します。
    メモ: これは、すべてのテナント データベースをアップグレードした後にのみ開始できます。
  11. Azure ポータルから、構成ファイルの 「IgnoreWorkerTasks」 設定を False に変更し、ステージングを本番環境にスワップできるようになりました。
    テナント管理システムとデータセンター データベースは、下位互換性のある最新バージョン (7.9) にアップグレードされます。
  12. テナントが正常に機能していることを確認します。正常に機能していない場合は、展開をスワップバックし、データベースを以前にバックアップした状態に戻します。
  13. ポスト アップグレードのデータベース スクリプトを実行して古いデータをクリーンアップするには、[テナントのアップグレード] ページに移動し、アップグレードする単一のテナント、複数のテナント、またはすべてのテナントを選択してから、[DB の変換 - ポスト アップグレード] をクリックします。
    ポストスクリプトが実行されます。このアップグレード中に、各テナントは非アクティブ化されます。
    ポスト アップグレードの DB スクリプトが実行されるまで、TotalAgility を次のバージョンにアップグレードすることはできません。
  14. マスター テナントおよびデータセンター テナント データベースのポスト アップグレード スクリプトを手動で実行します。

    これで、テナントが最新のバージョン (7.9) にアップグレードされました。

ゼロ ダウンタイムでのアップグレードの例

この例では、テナント管理システムを介して、Azure でゼロ ダウンタイムを使用して 7.8 から 7.9 にアップグレードするプロセスについて説明します。

  1. マスター テナントおよびデータセンター テナント データベース (存在する場合) で、7.8 から 7.9 への変換スクリプト (プレ アップグレード) を手動で実行します。
  2. 現在の 7.8 テナント管理システムの Azure 展開を最新バージョン 7.9 にアップグレードします。
  3. 最新バージョン (7.9) の Azure データセンターをステージング デプロイメントに展開します。ワーカー タスクロールを実行せずに展開する必要があります。したがって、Azure Configuration.cscfg ファイルの「IgnoreWorkerTasks」設定を true に設定して、ワーカー タスクの実行を回避する必要があります。

    ユーザーがアクセスできないステージング デプロイメントを使用する場合、本番環境は引き続き 7.8.0 で実行されるため、テナントの Designer を無効にする必要はありません。

  4. テナント管理システムにログオンし、[データ センター] 画面に移動して、[ライブ ホスト名] フィールドと [開発ホスト名] フィールドの新しいステージング データ センターの詳細でデータ センターを更新します。ステージング データ センターのホスト名は、現在の展開で本番環境から取得する場合と同様に、Azure ポータルから取得できます。
  5. [テナントのアップグレード] ページに移動し、アップグレードする単一のテナント、複数のテナント、またはすべてのテナントを選択してから、[DB の変換 - プレ アップグレード] をクリックしてデータベース スクリプトをプレ アップグレードします。テナント データベースはアップグレードされ、下位互換性が確保されます。このアップグレード中に、テナントは非アクティブ化されます。アップグレードが成功し、テナントが正常に機能していることを確認します (つまり、テナント データベースがアップグレードされ、古いバージョンのバイナリが実行されているかどうかを確認します)。
  6. テナント管理システムの [データセンター] 画面で、元の本番データセンターの詳細を使用してデータセンターを元に戻します。

    この元に戻す操作は、すべてのテナント データベースをアップグレードした後にのみ開始できます。

  7. Azure ポータルから、構成ファイルの「IgnoreWorkerTasks」設定を False に変更し、ステージングを本番環境にスワップできるようになりました。

    テナント管理システムとデータセンター データベースは、下位互換性のある最新バージョン (7.9) にアップグレードされます。

  8. テナントが正常に機能していることを確認します。正常に機能していない場合は、展開をスワップバックし、データベースを以前にバックアップした状態に戻します。

アップグレードのためのテナントの無効化

アップグレードする前に、テナントを無効化できます。

  1. [アップグレードの無効化] リストで、アップグレードする環境を選択します。

    • [追加環境]
    • [本番環境]
    • [すべての環境]

    [すべての追加環境を無効化] および [すべての本番環境を無効化] オプションは、テナントを選択した場合にのみ使用できます。