GS2-Deploy

GS2-Deploy を使用して セットアップを自動化

ユーザーやクレデンシャル(認証情報)の追加は GS2-Identifierの管理画面から行えますが、GS2-Deployを利用するとより簡単です。

GS2-Deployは継続的デリバリーの実現を目的としたサービスです。 YAML形式で記述されたコードを使ってリソースの自動構築を行えます。

例えば、ユーザーを新規追加するテンプレートを使ってスタックを作成すると、自動で新規ユーザーをGS2-Identifierに追加することができます。

スタックについて GS2-Deployは、テンプレート(GS2内のリソースをどう操作し構築するかの手順が記述されたもの) を元に、実際に各サービスのリソースを操作します。 このテンプレートで構築したリソースを集約したものをスタックといいます。

スタックに対して、内容を変更したテンプレートを再適用すると、更新の処理が実行されます。 変更の差分を検出し、新たに作成が必要になったリソースは新規作成、更新が必要なリソースは更新、削除が必要なリソースは自動で削除を、それぞれのリソースに対して行います。 この仕組みによって開発者は、要らなくなったリソースを削除する、などのオペレーションを行う必要がなくなり、望んでいるリソースの状態をテンプレートに記述するだけで自動で構築が可能になります。

それでは実際にテンプレートを使ってスタックを作成してみましょう。

GS2TemplateFormatVersion: "2019-05-01"
Description: GS2 SDK identifier template Version 2019-07-10

Globals:
  Alias:
    ApplicationUserName: application

Resources:
  IdentifierApplicationUser:
    Type: GS2::Identifier::User
    Properties:
      Name: ${ApplicationUserName}

  IdentifierApplicationUserAttachPolicy:
    Type: GS2::Identifier::AttachSecurityPolicy
    Properties:
      UserName: ${ApplicationUserName}
      SecurityPolicyId: grn:gs2::system:identifier:securityPolicy:ApplicationAccess
    DependsOn:
      - IdentifierApplicationUser

  IdentifierApplicationIdentifier:
    Type: GS2::Identifier::Identifier
    Properties:
      UserName: ${ApplicationUserName}
    DependsOn:
      - IdentifierApplicationUser

Outputs:
  ApplicationClientId: !GetAttr IdentifierApplicationIdentifier.Item.ClientId
  ApplicationClientSecret: !GetAttr IdentifierApplicationIdentifier.ClientSecret

例に示したのは、 ApplicationAccess 権限を設定したユーザーを作成する テンプレート のサンプルです。 ApplicationUserName: application の部分を変更すると、GS2-Identifier に作成されるユーザー名を変更できます。

テンプレートをダウンロード

この テンプレートファイルを保存します。 続けて、マネージメントコンソールのサイドメニューから Deploy > Stacks を選択します。

img_8.png

スタックの新規作成 で テンプレートデータ に指定してスタックを作成します。

img_9.png

img_10.png

作成したスタックに登録された設定の反映状態は、スタックの 実行状態 の項目で確認できます。

img_11.png

数秒後 CREATE_COMPLETE になり、 クレデンシャルの設定が完了します。

img_12.png

反映完了後に アウトプット タブを選択すると、クレデンシャルの クライアントID と クライアントシークレット が表示されます。 この値は後ほど ゲームアプリ側に設定します。

img_13.png