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

あるバージョンから別のバージョンの Genvid SDK にアップグレードする際には、いくつかの手順があります。このページでは、最後のバージョンからバージョン 1.27.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.26.0 から 1.27.0 へのアップグレード

クラスタから未使用の変数を削除しました。

以下の変数は必要なくなったため、AWS および Azure クラスタから削除しました。

AWS

変数 影響を受けるモジュール
cidr minimal_cluster
game_az minimal_setup_ami
region basic_cluster
validation_method basic_cluster_alb_ssl
validation_method minimal_cluster_alb_ssl

Azure

変数 影響を受けるモジュール
trusted_security_groups azurerm_basic_cluster
trusted_security_groups azurerm_basic_cluster_alb_ssl

toolbox_location 変数を使用して Azure Basic クラスタでツールボックスのアップデートを有効にする。

AWS クラスタと Azure クラスタの間で一貫性を持たせるために、 toolbox_location 変数を azurerm_basic_cluster に追加しました。ツールボックスの URL を値として与えることで、Azure Basic クラスタのツールボックスを更新できるようになりました。

toolbox_location を空にすると、ツールボックスは更新されません。

setup-ami のモジュール名を変更しました。

AWS では、Terraform モジュールのパス bastion-services\terraform\modules\basic\setup-amibastion-services\terraform\modules\basic\setup_ami に変更しました。これは、ツールボックスコマンド genvid-ami setup の呼び出しに影響します。

AWS と Azure の変数を変更、追加しました。

AWS クラスタで、変数 ami_prefix の名前を game_ami_prefix に変更しました。また、 basic_cluster_alb_sslminimal_cluster_alb_ssl のデフォルト値を genvidtech から default に変更しました。

また、AWS クラスタに新しい変数 server_ami_prefix を追加しました。

Azure クラスタに新しい変数 server_image_prefix を追加しました。

AWS クラスタから未使用の出力を削除しました。

AWS の basic_cluster_alb_sslminimal_cluster_alb_ssl からの ami_prefix 出力は必要なくなったので削除しました。

旧バージョンで見つかった Terraform モジュールの更新。

1.26 より前の bastion で作成されたクラスタを使用して bastion サーバーを更新すると、エラーが発生することがあります。このエラーは、新しいバージョンのモジュールを再インポートして plan apply を実行すると発生します。

on main.tf.json line 118, in variable:
118:     "bastionid": {

The root module input variable "bastionid" is not set, and has no default
value. Use a -var or -var-file command line argument to provide a value for
this variable.

修正するには

  1. bastionid というグローバル変数を追加します。
  2. bastionid の値をアップデートする bastion サーバー名に設定します。
  3. plan apply を実行します。

この問題は、今後のリリースで修正予定です。