AWS Redshift コネクタの作成
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services (AGS) Admin Portal で AWS Redshift コネクタを作成・設定することで、データストリーミングのワークフローと Amazon Web Services (AWS) Redshift との間のシームレスな連携を実現できます。
前提条件
- AGS Admin Portal へのアクセス権限。
- AWS Redshift でロール、必要な権限を持つユーザー、データベースを作成済みであること。方法については、Redshift の権限設定を参照してください。これにより、AWS Redshift コネクタが Redshift のデータにアクセスするために必要な権限を確実に持つことができます。
AWS Redshift コネクタを作成する
-
Admin Portal のサイドバーで、ADD-ONS > AIS > Data Connector に移動します。
注記Public Cloud を使用している場合は、サイドバーの Foundations > Game Analytics > Data Connector からコネクタページにアクセスします。

-
Data Connector ページで、Create Connector ボタンをクリックします。Create Connector ページが表示されます。
-
General Configuration セクションで、必要な情報を入力します。
-
Platform: ドロップダウンから Redshift を選択します。
-
Connector Name: コネクタの名前を入力します。コネクタが作成されると、入力した名前の末尾にハイフンが付き、ランダムな数字が追加される点に注意してください。例えば、「AAAConnect」はコネクタ作成後に「AAAConnect-123456」となります。
-
Redshift URL: Redshift クラスターのホスト名を入力します。
-
Port: Redshift クラスターのポート番号を指定します。
-
DB Username: データベースの認証に使用されるユーザー名を入力します。
-
Database Name: Redshift データベースの名前を入力します。
-
Schema: Redshift スキーマの名前を入力します。
-
Table Model: テーブルの作成方法を選択します。以下から選択します。
- Single: イベントタイプに基づき、すべてのイベントが 1 つのテーブルに挿入されます。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル(テーブル形式は
schema.table_nameの 1 つのテーブルのみ):public.game_telemetry_dev
- トピックの例:
- Mapping: トピックに基づき、イベントが複数のテーブルに挿入されます。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
analytics_game_telemetry_dev_lightfantastic_gamestartedanalytics_game_telemetry_dev_lightfantastic_gameended
- トピックの例:
- Single: イベントタイプに基づき、すべてのイベントが 1 つのテーブルに挿入されます。
-
Table Name Format: テーブル名の作成方法を選択します(テーブルモデルが Mapping の場合のみ有効)。以下から選択します。
- Topic: トピック名がテーブル名になります。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
analytics_game_telemetry_dev_lightfantastic_gameStartedanalytics_game_telemetry_dev_lightfantastic_gameEnded
- トピックの例:
- Event: イベント名がテーブル名になります。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
gameStartedgameEnded
- トピックの例:
- Topic: トピック名がテーブル名になります。
-
Flatten Column: 列の作成方法を選択します(テーブルモデルが Mapping の場合のみ有効)。以下から選択します。
- False(パフォーマンス向上のために推奨): すべてのイベントが 1 つの列に挿入されます。
-
イベントの例:
{
"EventNamespace": "lightfantastic",
"EventTimestamp": "2023-07-20T03:30:00.036483Z",
"EventId": "d110582c54804a29ab1d95650ca4c644",
"Payload": {
"winning": true,
"hero": "Captain America",
"kill": 9,
"network": 912.27,
"item": [
{
"name": "vibranium shield",
"defense": 10,
"attack": 1
},
{
"name": "mjolnir hammer",
"defense": 1,
"attack": 9
}
]
},
"EventName": "gameEnded"
} -
想定される列:
event {"EventNamespace":"accelbyte","EventTimestamp":"2023-07-20T03:30:00.036483Z","EventId":"d110582c54804a29ab1d95650ca4c644","Payload":{"winning":true,"hero":"Captain America","kill":9,"network":912.27,"item":[{"name":"vibranium shield","defense":10,"attack":1},{"name":"mjolnir hammer","defense":1,"attack":9}]},"EventName":"gameEnded"}
-
- True: イベントのプロパティに基づき、すべてのイベントが複数の列に挿入されます。
-
イベントの例:
{
"EventNamespace": "lightfantastic",
"EventTimestamp": "2023-07-20T03:30:00.036483Z",
"EventId": "d110582c54804a29ab1d95650ca4c644",
"Payload": {
"winning": true,
"hero": "Captain America",
"kill": 9,
"network": 912.27,
"item": [
{
"name": "vibranium shield",
"defense": 10,
"attack": 1
},
{
"name": "mjolnir hammer",
"defense": 1,
"attack": 9
}
]
},
"EventName": "gameEnded"
} -
想定される列:
eventid eventnamespace eventtimestamp eventname payload d110582c54804a29ab1d95650ca4c644 accelbyte 2023-07-20T03:30:00.036483Z gameEnded {"winning":true,"hero":"Captain America","kill":9,"network":912.27,"item":[{"name":"vibranium shield","defense":10,"attack":1},{"name":"mjolnir hammer","defense":1,"attack":9}]}
-
- False(パフォーマンス向上のために推奨): すべてのイベントが 1 つの列に挿入されます。
-
Flush Interval: データが定期的に Redshift へ書き込まれる際の最大時間間隔をミリ秒単位で設定します。フラッシュ間隔の範囲は 1 分から 5 分です。
-
Flush Size: Redshift へ書き込まれるイベントの最大数を設定します。フラッシュサイズの範囲は 100 から 1000 です。
-
Flush Memory: Redshift へ書き込まれる前にデータを保存するために使用される最大メモリサイズをキロバイト単位で設定します。フラッシュメモリの範囲は 100 KB から 1000 KB です。
-
フラッシュ間隔、フラッシュサイズ、フラッシュメモリのいずれかの条件が最初に達成された時点で、データが送信されます。
-
Next をクリックして Data Filtering セクションに進みます。
-
Data Filtering セクションで、必要な情報を入力します。
- Event: 元となるイベントタイプを選択します。
- Game Telemetry: ゲームクライアントから送信されるカスタムテレメトリイベント(Custom Telemetry)。
- AccelByte Event: AccelByte サービスによってシステム生成されるイベント(Service Telemetry)。
- Filter: Add Filter ボタンをクリックします。Add Filter のポップアップフォームが表示されます。ソースサービスからストリーミングしたい特定のネームスペースを追加できます。すべてのネームスペースを選択することもできます。これにより、関連するデータのみが転送されるようになります。Add をクリックしてフィルターを作成・保存します。
- Event: 元となるイベントタイプを選択します。
-
Next をクリックして Role, ARN, & Policy Configuration セクションに進みます。
-
Role, ARN, & Policy Configuration セクションに表示される手順に従います。コネクタを有効化するには、これらの手順を AWS Redshift 上で実施し、ARN を入力する必要があります。
important- Save をクリックする前に、このセクションのすべての手順を完了していることを確認してください。完了していない場合、コネクタの有効化に失敗します。
- まだコネクタを有効化したくない場合は、ドラフトとして保存するオプションがあります。このセクションの手順を完了せずに Save をクリックすると、接続に失敗したというエラーメッセージが表示されます。Do It Later をクリックすると、コネクタをドラフトとして保存できます。後で有効化することができます。
-
AWS Redshift での必要な手順を完了したら、AGS Admin Portal に戻り、Activate をクリックします。Admin Portal がコネクタと Redshift 間の接続を確立します。その後、コネクタの詳細ページが表示され、コネクタのステータスが「ACTIVE」に設定されます。