AWS Lambda から GS2 Account.createAccount が空レスポンスになる件

23 views
Skip to first unread message

田中

unread,
Jan 15, 2026, 6:02:37 AM (4 days ago) Jan 15
to GS2 ユーザグループ
お世話になっております。

AWS Lambda から GS2 SDK (Node.js) を使い、Account.createAccount を実行したところ、SDK から返却されるエラー情報がすべて undefined または空配列になり、
原因の特定ができません。

■ 目的
- Lambda から GS2 にアクセスして、ゲームユーザーのアカウント作成とログイン処理を行いたい
- 作成したユーザー情報を DynamoDB に保存し、次回以降は既存ユーザーとしてログイン処理を行う

■ 発生している問題
- GS2 SDK の Account.createAccount を呼び出しても、エラー情報がすべて空または undefined で返ってくる
- ログには「GS2 createAccount error object: []」「LAMBDA ERROR RAW: []」のみが出力され、原因の特定が困難

■ 発生状況
- Lambda: Node.js 20
- GS2 SDK: Node.js 用公式 SDK (最新)
- 使用 Client ID / Secret: [ホームにあるClient ID]
- Namespace: Account > NameSpace > test 
- リージョン: TOKYO
- Lambda は VPC 外で、HTTPS 接続可能です

■ 確認済み事項
- Namespace は存在
- Identifier > SecurityPolicy は作成済み(Client IDとクライアントシークレットの配下で行ったため紐づいていると想定)
- Lambda から外部 HTTPS 通信可能
- DynamoDB などの前処理は正常
- Lambdaの環境変数は設定済み

■ 質問 / 要望
1. Lambda から SDK 経由で createAccount を呼び出す際、Client ID に紐付いた SecurityPolicy が正しく反映されているか確認する方法
2. ネームスペースの権限不足などで、SDK が空レスポンスを返すことはあるか

以下の添付ファイルにて、エラーログとLambadaで使用するファイルを添付しております。
原因の切り分けのため、可能な範囲でサポートいただけますと助かります。

よろしくお願いいたします。
ログ.txt
index.txt

丹羽一智

unread,
Jan 15, 2026, 6:30:52 AM (4 days ago) Jan 15
to GS2 ユーザグループ, 田中
例外はオブジェクト型になっていますが、stringify しなければどのような型になっているか確認いただけますか

Kazutomo Niwa
2026年1月15日 20:02 +0900、田中 <takuma...@logicalbeat.jp> のメール:

田中

unread,
Jan 15, 2026, 7:00:54 AM (4 days ago) Jan 15
to GS2 ユーザグループ, [GS2] 丹羽一智, 田中
夜分遅くにご連絡ありがとうございます。

ご指摘いただいた、例外を stringify せずに型と中身を確認しましたのでご共有いたします。
Lambda 側で createAccount の catch にて例外を詳細にログ出力した結果、
例外は Error オブジェクトではなく、空の配列(Array)そのものであることを確認しました。

ログ結果(抜粋):

  • typeof: object

  • Array.isArray: true

  • constructor: Array

  • util.inspect の結果: []

  • own property: ["length"]

SDK からは Error や Gs2RestException は投げられておらず、
Promise が 空配列([])で reject されている挙動となっていそうです。

お忙しいところお手数をおかけしますが、よろしくお願いいたします。


2026年1月15日木曜日 20:30:52 UTC+9 [GS2] 丹羽一智:
エラーログ.txt

丹羽一智

unread,
Jan 15, 2026, 7:02:55 AM (4 days ago) Jan 15
to GS2 ユーザグループ, 田中
SDKが通信エラーに起因する例外をスローする例外は Gs2Exception になっていると思われますので、どこか途中で投げられている可能性が高いです
スタックトレースを確認して、どこから例外が出ているかご確認いただけますか

Kazutomo Niwa
2026年1月15日 21:00 +0900、田中 <takuma...@logicalbeat.jp> のメール:

田中

unread,
Jan 15, 2026, 7:18:14 AM (4 days ago) Jan 15
to GS2 ユーザグループ, [GS2] 丹羽一智, 田中
スタックトレースを取得しました。

createAccount 呼び出し時に例外が発生しており、
以下の行で throw されています。

Error: GS2 createAccount failed
    at exports.handler (/var/task/index.js:113:25)

original error は Array 型の空配列でした。
Gs2Exception ではなく、SDK 内部で配列が throw されているように見えます。

該当 RequestId:
409db3e4-2497-442d-8da4-47cb287cb8db

2026年1月15日木曜日 21:02:55 UTC+9 [GS2] 丹羽一智:
エラーログ.txt

丹羽一智

unread,
Jan 15, 2026, 7:21:56 AM (4 days ago) Jan 15
to GS2 ユーザグループ, 田中
では、通信内容を確認していただきたいのですが
GS2-Account のログ書き出し設定を有効にし、GS2-Log にどのようなアクセスログが残っているか教えていただけますか

Kazutomo Niwa
2026年1月15日 21:18 +0900、田中 <takuma...@logicalbeat.jp> のメール:

丹羽一智

unread,
Jan 15, 2026, 7:38:04 AM (4 days ago) Jan 15
to GS2 ユーザグループ, 田中
await session.connect();

ここで例外が出ている可能性がありそうな気がしますので、その線でも確認していただけますか?


Kazutomo Niwa
2026年1月15日 21:21 +0900、丹羽一智 <niwa_k...@gs2.io> のメール:

田中

unread,
Jan 16, 2026, 12:11:50 AM (3 days ago) Jan 16
to GS2 ユーザグループ, [GS2] 丹羽一智, 田中
1. await session.connect() に関する確認結果
以下ログです(一部抜粋)
・GS2 session connected successfully
→ セッションは問題なく行われていそう(認証・リージョン・通信は問題なさそう)
また、session.connect() 実行時に例外が発生した形跡はCloudWatch Logs 上でも確認されておらず、
GS2 セッションの確立自体は正常に完了していると判断しています。
・createAccount で [](空配列エラー)
→ GS2-Account の不備??
詳しいログは添付しております。

2. GS2-Account のログ出力設定と GS2-Log の確認結果
Account ネームスペースにて ログ書き出し設定(GS2-Log)を有効化した状態で、
該当 API 実行時の GS2-Log を確認しました。
その結果、以下の点を確認し、ファイルにて応答内容を添付します。
GetNamespace
GetTakeOverTypeModelMaster
GetCurrentModelMaster
いずれのリクエストについても、
・GS2 側では エラーログは出力されていない
・errors を含むレスポンスも確認されていない
・正常レスポンスとして処理が完了している
ことを確認できているはずですが、追加確認点等がございましたらご指示ください。

引き続きよろしくお願いいたします。
2026年1月15日木曜日 21:38:04 UTC+9 [GS2] 丹羽一智:
GS2-Log.xlsx
Lambdaログ出力結果.txt
GS2-Log.txt

丹羽一智

unread,
Jan 16, 2026, 12:17:36 AM (3 days ago) Jan 16
to 田中, GS2 ユーザグループ
ログにアカウント作成リクエストのログが残っていない。というより、マネージメントコンソールからのアクセスしか残ってないように見えますので、アクセスが届いていない可能性が考えられます。
インターネットゲートウェイの設定不備の可能性などもありますので、VPCを使わないかローカルで実行できるかを確認いただくか、そもそもSDKの通信処理をベタ書きしたら、どのようなHTTPレスポンスを受け取っているかなど確認ください

Kazutomo Niwa
2026年1月16日 14:11 +0900、田中 <takuma...@logicalbeat.jp>のメール:

田中

unread,
Jan 16, 2026, 2:07:39 AM (3 days ago) Jan 16
to GS2 ユーザグループ, [GS2] 丹羽一智, 田中
Lambda から GS2 アカウント作成 API について確認
2026-01-16T07:01:59.805Z 2aa9e363-6169-49c7-a4fd-1b846ef3c4a8 INFO HTTP Status: 400
→リクエスト自体はGS2に届いているが以下で拒否された
2026-01-16T07:01:59.809Z 2aa9e363-6169-49c7-a4fd-1b846ef3c4a8 INFO Response body: {"message":"[{\"component\":\"projectToken\",\"message\":\"auth.verify.projectToken.error.parse\",\"code\":\"\"}]"}
END RequestId: 2aa9e363-6169-49c7-a4fd-1b846ef3c4a8

1. 「projectToken」とは具体的にどのような認証情報でしょうか?
2. Lambda から直接 HTTP リクエストでアカウント作成する場合、この projectToken は必須でしょうか?
3. SDK を使えば、この projectToken の扱いは自動で行われるのでしょうか?

以上、ご確認のほどよろしくお願いいたします。
2026年1月16日金曜日 14:17:36 UTC+9 [GS2] 丹羽一智:

丹羽一智

unread,
Jan 16, 2026, 2:59:56 AM (3 days ago) Jan 16
to 田中, GS2 ユーザグループ
session.connect() は内部で クライアントID / クライアントシークレットを送信し、一時キーである projectToken を得ます。
そして、account.createAccount() は projectToken を使用して認証をしますが、エラーを見る限りそこに適切な値が渡っていないようです。
 
クライアントID / シークレットの指定が正しいか、session.connect() は本当に成功しているのか確認ください

Kazutomo Niwa
2026年1月16日 16:07 +0900、田中 <takuma...@logicalbeat.jp>のメール:

田中

unread,
Jan 16, 2026, 4:33:22 AM (3 days ago) Jan 16
to GS2 ユーザグループ, [GS2] 丹羽一智, 田中
ご返信ありがとうございます。

現在、Lambda 上で直接 GS2 のクライアントID / クライアントシークレットを使用して session.connect() を呼び出しておりますが、
ログ上は「GS2 session connected successfully」と出ている一方で、
session.projectToken が undefined となり、account.createAccount() が失敗しています。
クライアントID / シークレットは Home に表示されているものを使用しており、Unityで直書きして検証していたときも同じ値を使用して正常に動作しておりました。
外部アクセスができたのでLambada側のネットワーク関連は問題なさそうでした。

現状、以下の想定
- SDK の connect() 処理において projectToken が取得できない環境依存の問題
- GS2側でLambda 用の API  権限?が不足している

確認させていただきたいのですが、Lambda サーバ側からの接続で
projectToken が取得できない場合に考えられる原因は上記以外に何かありますでしょうか。
また、Lambda から GS2 への接続に必要な権限や設定に関してアドバイスを頂けますでしょうか。

よろしくお願いいたします。


2026年1月16日金曜日 16:59:56 UTC+9 [GS2] 丹羽一智:
GS2Home.png
Reply all
Reply to author
Forward
0 new messages