以前のバージョンからのアップグレード

あるバージョンから別のバージョンの Genvid SDK にアップグレードする際には、いくつかの手順があります。このページでは、最後のバージョンからバージョン 1.28.1 にアップデートするために必要な手順を説明します。SDK の以前のバージョンをアップグレードする場合は、 こちら で、ご使用のバージョンのための特別なアップグレード手順から始めてください。

一般的な更新方法

Genvid SDK のアップグレード

新規 SDK をローカルにセットアップする方法

  1. 新規 SDK をインストールする。

  2. Python スクリプトを実行して、Genvid Toolbox をインストールする。

    py install-toolbox.py
    
  3. Genvid Bastion スクリプトを実行して、bastion をアップデートする。

    genvid-bastion reinstall --reconfigure -b {mybastion} -uml
    

配信 Web サイトのアップデート

プロジェクトで弊社提供のサンプルのコードを使用する際に、サンプルで consul を使用してサービスを発見しやすくなりました。サンプルを再度ご確認いただき、必要に応じてプロジェクトを更新してください。URL が健全なサービスを指す可能性が高いため、サービスの URL を取得するには、catalog api ではなく consul health api を使用されることをおすすめします。

ゲームのアップデート

新機能を適用せずにゲームをアップデートするには、以前の SDK の古い genvid.dll を新しい SDK のものに差し替えます。古いプラグインと統合は、そのままで動作しますが、以下の例外があります。

注意

ご使用の Genvid SDK のバージョンのアップグレードの順序に常に省略することなく従ってください。例えば、バージョン 1.6.0 から 1.10.0 にアップグレードする場合、 まず、1.6.0 から 1.7.0 へのアップグレードから始めて各バージョンを進めていってください。

ご使用の特定バージョンに関しては、 アップグレード手順一覧 を参照してください。

Javascript API のアップグレード

Web サイトの Genvid JavaScript API もアップグレードしてください。

クラスタのアップグレード

以前のクラスタはそのまま残し、アップデート用に新たに作成することを推奨します。

新しいクラウドベースのクラスタを作成するには、一般的な指示に従ってください。

  1. 新しいバージョンにマッチする 新規 wingame AMI の設定
  2. 新規クラスタの作成

新しいローカルクラスタを作成するには、ローカルクラスタの初期化 セクションに記載されている一般的な指示に従ってください。

すべてのクラスタの差し替えが完了したら、モジュールセクション ページから古い SDK レポジトリを削除して構いません。

既存クラスタのアップデート

警告

クラスタをアップデートすることで、全てのインスタンスを置き換えたり、現在の設定を削除することができます。ライブクラスタのアップデートは行わないことをお勧めします。ライブクラスタのアップデートを行う場合、プランを適用する前に、変更内容をよく確認してください。

クラスタの構築に使用するモジュールの更新には、クラスタのインフラストラクチャにあるモジュールセクションの Reimport Module をクリックし、新しいバージョンのモジュールを選択してインポートします。最後に、Terraform セクションの適用をクリックします。

注釈

変更の中には、AWS の適用に時間がかかるものが存在します。特に、IAM の役割やポリシーなどがそれにあたり、作成しなおす際に、競合が発生する場合があります。Terraform プランを適用しなおすことで、問題は解決されます。

Genvid SDK サンプルのアップデート

プロジェクトと一緒に、それまでにインストールした Genvid SDK サンプルのアップデート を行ってください。

1.27.0 から 1.28.0 へのアップグレード

genvid-sdk パッケージコマンドが、階層化またはフラット化されたパッケージを作成できるようになりました。

デフォルトでは genvid-sdk package コマンドは階層化されたパッケージを作成します (ディレクトリ構造は zip アーカイブに保持されます)。そのため、フラット化されたパッケージを作成する (ディレクトリやサブディレクトリからファイルを抽出し、パッケージ化する) --flatten オプションが追加されました。

以前のバージョンでは、フラット化の動作のみがサポートされており、デフォルトの動作となっていました。

Terraform アップグレード

前バージョンの SDK は Terraform 0.13 と共にリリースされました。0.12 のクラスタを 0.14 に直接アップグレードすることはできません。

既存のクラスタを Terraform 0.14 と互換性を持たせるために更新するスクリプトが含まれています。 bastion-services/terraform/upgrade/terraform_14_upgrade.py の bastion-services ディレクトリにあります。

重要

1.28.0 へのアップデート後、スクリプトを実行してから Terraform やクラスタの操作を行ってください。インターネット接続が必要です。

スクリプトの実行前に tfstate のバックアップを推奨します。

0.12 の状態を移行できるのは Terraform 0.13 の実行ファイルだけです。スクリプトは以下の順番で実行します。

  • バンドルされている Terraform 0.14 の実行ファイルを移動します。
  • Terraform 0.13 の実行ファイルをダウンロードします。
  • 0.13 のアップデートを実行します。
  • 0.14 の実行ファイルを戻します。
  • 0.14 のアップデートを行います。

このスクリプトは Terraform の状態にのみ影響を与えます。最終的な状態で、すぐに作業ができるようになっています。

警告

既存のクラスタをアップグレードする場合、Error: Failed to query available provider packages が発生することがあります。%USERPROFILE%.genvidterraformworkdir{cluster name}tf で Terraform のロックファイルを削除してクラスタを初期化しなおすと解決できます。

新しいプロバイダパターン用のカスタムモジュールのアップデートについては、 Terraform アップグレードガイド を参照してください。

また、Bastion UI からプロバイダバージョンを削除しました。プロバイダバージョンを自分で変更する場合には、 Terraform プロバイダバージョン を参照してください。