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

あるバージョンから別のバージョンの Genvid SDK にアップグレードする際には、いくつかの手順があります。このページでは、最後のバージョンからバージョン 1.25.0 にアップデートするために必要な手順を説明します。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.24.0 から 1.25.0 へのアップグレード

Studio がサービスになりました。

Studio がサンプルではなく、サービスのジョブの一部に変更されました。クラスタ UI でサービスのジョブを起動すると、他のサービスと一緒に StudioD が起動します。

Studio サービスはデフォルトでは無効化されています。有効化するオプションは Cluster UI 設定にあります。また、コンポジション機能とモニタ表示オプションも有効にする必要があります。

また、ローカルクラスタにロードする HCL ファイルを使用して、変更を行うこともできます。:

genvid-sdk load-config myhclfile.hcl

またはクラウドクラスタ:

genvid-sdk -c $mycluster load-config myhclfile.hcl

設定ファイルのサンプルは Studio の解説書 にあります。

設定を読み込んだ後、

  1. Jobs ページに移動します。

  2. Start All をクリックします。

  3. Studio リンクが有効になるまで待ちます。

  4. Studio リンクをクリックして Studio UI を開きます。

Python のデフォルトバージョンが 3.8 になりました。

Genvid SDK で使用する Python のデフォルトバージョンが Python 3.8 になりました。バージョン 3.8 は 3.5 と同時にインストールすることも可能です。

ツールボックスは、Genvid SDK 1.25.0 の Python 3.5 と互換性があり、ローカルでの開発および AWS 環境で 3.5 を使用することができます。ただし、Azure 環境での作業にはバージョン 3.8 が必要になります。今後のリリースで必要になってくるため、3.8 に移行することをおすすめします。

py -3.5 を呼び出したり 3.5 の仮想環境を使用することで、Python 3.5 を使用することができます。

Python 3.5 の仮想環境を 3.8 にアップグレードするには、以下のコマンドを実行します。

py -3.8 venv --upgrade <venv folder>

ローカルドライブのクラスタがデフォルトで暗号化されるようになりました。

1.25.0 で作成した新しいクラスタは、デフォルトでローカルで暗号化されます。以前のバージョンからのアップグレード時にデータが失われないようにするには、use_drive_encryptionfalse に設定してローカルドライブの暗号化を無効にする必要があります。詳細は こちら を参照してください。

AWS 変数名の変更

AWS クラスタ内の以下の Terraform の変数と出力の名前を変更しました。

iam_role_name_server -> server_instance_profile_name

iam_role_name_server -> game_instance_profile

影響を受けるモジュール

basic/basic_cluster

basic/basic_cluster_alb_ssl

basic/minimal_cluster

basic/minimal_cluster_alb_ssl

basic/minimal_setup_ami

basic/setup_ami

AWS クラスタ basic_cluster_alb_ssl から変数 private_subnetspublic_subnets を削除しました。

公開を目的としたものでないため、AWS クラスタ basic_cluster_alb_ssl から変数 private_subnetspublic_subnets を削除しました。basic_cluster_alb_ssl の目的はシンプルで動作可能なクラスタを作成することです。

クラスタのサブネットを指定する必要がある場合には、クラスタ minimal_cluster_alb_ssl を使用してください。