AWS Redshift コネクタの作成
注釈:本資料はAI技術を用いて翻訳されています。
はじめに
AccelByte Gaming Services(AGS)管理ポータルで AWS Redshift コネクタを作成および設定することで、データストリーミングワークフローと Amazon Web Services(AWS)Redshift 間のシームレスな統合を実現できます。
前提条件
- AGS 管理ポータルへのアクセス権限。
- AWS Redshift でロール、必要な権限を持つユーザー、およびデータベースを作成済みであること。設定方法については、Redshift 権限設定の構成を参照してください。これにより、AWS Redshift コネクタが Redshift データにアクセスするために必要な権限を持つことが保証されます。
AWS Redshift コネクタの作成
-
管理ポータルのサイドバーで、ADD-ONS > AIS > Data Connector に移動します。
注記Shared Cloud を使用している場合は、サイドバーの 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: テーブル名の作成方法を選択します(テーブルモデルマッピングでのみ機能します)。以下から選択してください:
- 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: カラムの作成方法を選択します(テーブルモデルマッピングでのみ機能します)。以下から選択してください:
- 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から1000 KB です。
-
データは、フラッシュ間隔、フラッシュサイズ、またはフラッシュメモリのいずれかの条件が最初に達したときに送信されます。
-
Next をクリックして Data Filtering セクションに移動します。
-
Data Filtering セクションで、必要な情報を入力します:
- Event: ソースとなるイベントタイプを選択します:
- Game Telemetry: ゲームクライアントから送信されるカスタムテレメトリイベント(カスタムテレメトリ)。
- AccelByte Event: AccelByte サービスから生成されるシステムイベント(サービステレメトリ)。
- 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 管理ポータルに戻り、Activate をクリックします。管理ポータルはコネクタと Redshift 間の接続を確立します。その後、コネクタの詳細ページが表示され、コネクタのステータスが「ACTIVE」に設定されます。