クラウド環境の作成

ゲームで Genvid SDK を使用するには、Genvid クラスタサービスを実行するクラウド環境が必要となります。Azure アカウントの設定から始まり、新しい環境を使用するための準備に必要なすべての手順をご案内します。

重要

Genvid SDK には、Microsoft Azure、Amazon Web Services (AWS) でクラスタを管理するために必要な Terraform テンプレートが含まれています。他のサービスプロバイダ (Google Cloud など) を使用する場合の設定方法については、直接お問い合わせ ください。

初めてクラスタを設定するには、約 1 時間かかります。作成したクラスタは、チームの他のユーザーと共有することができます。

はじめに

注釈

Azure をクラウドサービスとして利用するには、Python 3.8.x がインストールされている必要があるため、そのバージョンを使って Genvid ツールボックス を実行することができます。

Python のバージョンを確認するには、以下のコマンドを使用してください。

py -3 --version

Azure で実行するには、まず Azure へのアクセスが有効になっている Microsoft アカウントが必要です。Genvid Technologies LLC はお客様のアカウントでの課金については一切責任を負いませんのでご注意ください。

アカウントの設定の詳細については Azure portal を参照してください。

Azure へのサインイン

Azure アカウントを作成したら、ローカルマシンで Azure コマンドラインインターフェイス (CLI) を設定します。以下のコマンドでブラウザページを開き、Azure リソース上で CLI が操作できるように認証を行います。

az login

詳細は Azure Web サイトの Get started with Azure CLI を参照してください。

イメージを作成

新しいクラスタを作成するたびに大きなイメージをアップロードしないようにするには、まずサブスクリプションでベースイメージを作成する必要があります。作成すると、Terraform モジュールで新しい Azure クラスタをビルドする際に使用できます。

重要

使用している Genvid SDK のバージョンをアップグレードするたびに、新しいイメージを作成する必要があります。

警告

パフォーマンスの関係上、AMI で Windows Defender、Windows Defender SmartScreen、 Windows Firewall は無効にしています。

注釈

イメージを作成する前に Azure 上の Bastion を設定する必要があります。詳細は Bastion サーバーの設定 を参照してください。

Bastion の設定が完了したら、イメージを作成します。

  1. Azure サブスクリプションへのサインイン

  2. CLI で、以下を実行します。

    genvid-azure-image create-images

イメージの作成には、30 分から 1 時間かかります。終了すると、共有ギャラリー (SDKgallery) を含むリソースグループ (Genvid) が作成されます。共有ギャラリーには 2 つのイメージが含まれています。

  • Linux 用のものは、genvidtech-server イメージ定義リソースにあります。

  • Windows 用のものは genvidtech-wingame という名前です。

どちらも現在使用している SDK のバージョンになります。

create-images コマンドには、Azure上のリソースの割り当てに使用するデフォルト値を上書きするために使用するオプションの引数があります。使用する場合は、以下のコマンドで上書きする必要があります。

Bastion Terraform の設定でオプションの引数を使用して値をグローバルに登録しておくと、Azure クラスタ作成時に利用できるので便利です。作成するクラスタごとに指定する必要はありません。

カスタム値をグローバルに登録するには、

  1. Bastion UI を開きます。

  2. Settings をクリックします。

  3. Global Vars をクリックします。

  4. genvid-azure-image create-images の値を以下に追加します。

    • shared_gallery_resource_group_name,
    • shared_gallery_image_version, and
    • shared_gallery_name.

    たとえば、作成されたリソースグループが genvidtest であれば、shared_gallery_resource_group_name:genvidtest を追加します。

値を追加すると、新しいクラスタを作成する際に、作成したイメージが使用されます。

ゲーム インスタンス を起動して設定を完了させる

ゲームインスタンスは、ゲームを実行するためにドライバと設定が必要になります。ここでは、後で使用するための設定を行なうためにインスタンスを起動する方法を説明します。このインスタンスでイメージが作成され、Azure クラスタで使用できます。

  1. ゲームインスタンスを作成、開始します。

    genvid-azure-image setup {CLUSTER_ID}

    {CLUSTER_ID} を8 文字以内の値に変更します。これは、標準の Genvid SDK のネーミングスキームと、Azure サーバー上のインスタンスの 8 文字制限によるものです。

    サフィックス img が付加された CLUSTER_ID という名前の Bastion 内のクラスタが起動します。また、インスタンスのパブリック IP が出力されます。

    重要

    create-images コマンドでイメージをインポートする際に使用した場所と同じ場所を指定する必要があります。違う場所を指定すると、Terraform がベースイメージを見つけることができません。

    デフォルト値を使用していない場合は、Azure リソースグループと共有ギャラリー名も適切に識別する必要があります。追加のコマンド引数を使用してください。

    このコマンドは、Terraform と Bastion を利用してゲームインスタンスを起動します。デフォルトでは使用するインスタンスタイプは Standard_NV6 です。このタイプは、一部のサブスクリプションやロケーションでは利用できません。コマンドに影響されて、以下のエラーが発生します:

    The requested size for resource 'XXXX-game-1' is currently not available in location 'XXXX'
    

    この場合は、別のインスタンスタイプを使用する必要があります。プロモ版の Standard_NV6 が使える場合があることを確認しています。 Standard_NV6_Promo。以下を含むファイルを作成することで、このタイプを使用するようにセットアップコマンドに指示することができます:

    instance_game_type = "Standard_NV6_Promo"
    

    ファイルを現在のフォルダに setup.tfvars という名前で保存した場合、このようにツールに使用させることができます:

    genvid-azure-image setup {CLUSTER_ID} --tfvars setup.tfvars
    

    Standard_NV6_Promo タイプがアカウントとロケーションに存在しない場合は、他の NV インスタンスタイプ、または NVidia グラフィックスドライバーをサポートするインスタンスタイプを探してみてください。

    このコマンドで作成されたすべてのリソースは、 CLUSTER_ID とサフィックス img-setup のを使用した名称の新しい Azure リソースグループに配置されます。

  2. 仮想ネットワークコンピューティング (VNC) クライアントを使用して、ポート 5900 を使用して、 genvid-azure-image setup コマンドで出力される IP を使用してインスタンスに接続します。デフォルトのパスワードは 1genvid6 です。

    インスタンスに初めて接続したときに表示されるさまざまなダイアログの詳細については 初めてゲームマシンに接続する場合 を参照してください。

  3. これで Azure で ゲームマシンの設定 ができるようになりました。

設定したインスタンスからイメージを作成する

Windows のゲームインスタンスの設定が完了したので、イメージを作成する必要があります。:

genvid-azure-image save {CLUSTER_ID}

クラスタを設定する際には同じ CLUSTER_ID を使用します。

サフィックス imgsave が付加された CLUSTER_ID という名前のクラスタが Bastion に作成されます。

イメージが作成されると、他のイメージと同じリソースグループと共有画像ギャラリーに、イメージ定義名 default-wingame で表示されます。

セットアップクラスタのクリーンアップ

この時点で、前のステップで作成した 2 つのクラスタを Bastion から削除し、不要になったリソースを削除する必要があります。:

genvid-azure-image clean CLUSTER_ID

CLUSTER_ID を使用します。