Skip to main content

概要

OneSignal + Amazon Redshift統合により、Redshiftデータウェアハウスからカスタムイベントを同期して、ユーザーの行動に基づいて自動化されたメッセージングキャンペーンとJourneysをトリガーできます。 Amazon Redshiftは、既存のビジネスインテリジェンスツールを使用して大量のデータを費用対効果の高い方法で分析できる、フルマネージドのペタバイト規模のデータウェアハウスサービスです。

要件

Amazon Redshift

  • ネットワークアクセス権を持つRedshiftクラスタ
  • 適切な権限を持つデータベースユーザー
  • 構造化された行動データを含むイベントテーブル
  • OneSignalからRedshiftクラスタへのネットワーク接続

セットアップ

1

OneSignal用の専用ユーザーを作成する

適切な権限を持つ専用ユーザーアカウントを作成します:
2

イベントデータへの権限を許可する

イベントデータを含むスキーマへの読み取りアクセスを提供します:
3

ネットワークアクセスを設定する

RedshiftセキュリティグループにOneSignalのIPアドレスを追加します。Redshiftはデフォルトで外部アクセスを防ぎます。お住まいの地域のOneSignal IPアドレスは、統合設定で確認できます。詳細については、AWS Redshift Help Centerをご覧ください。
4

OneSignalに接続する

In OneSignal, go to Data > Integrations and click Add Integration.
  1. リストからAmazon Redshiftを選択します
  2. 接続の詳細を入力します:
    • Host:Redshiftクラスタエンドポイント
    • Port:通常は5439
    • Database:データベース名
    • UsernameCENSUS
    • Password:作成したパスワード
  3. 接続をテストします
  4. イベントデータを含むテーブルを設定します

Event data mapping

Map your to OneSignal’s custom events format:

イベントテーブルスキーマの例

SQLクエリモード

カスタムSQLクエリを記述してイベントデータを変換します:

dbt統合

Redshiftでdbtを使用している場合は、各dbt実行後にOneSignalがアクセスを保持することを確認してください:

オプション1:きめ細かい権限

dbtプロジェクトにpost-hookを追加して、各モデルのビルド後にアクセスを許可します:

オプション2:デフォルト権限(推奨)

dbt本番ユーザーのデフォルト権限を許可します:

高度なネットワーク設定

SSHトンネルのセットアップ

プライベートネットワーク上のRedshiftクラスタの場合:
  1. SSHユーザーを作成:SSHホストで専用ユーザーをセットアップします
  2. トンネルを設定:OneSignal統合設定で「Use SSH Tunnel」を有効にします
  3. キーペアをインストール:OneSignalの公開鍵を~/.ssh/authorized_keysに追加します
  4. 接続をテスト:トンネル接続を検証します

VPCデプロイメント

AWS VPC内のRedshiftの場合: OneSignalは効率的なバルクデータ抽出のためにUNLOADコマンドを使用します。VPCデプロイメントには、RedshiftがS3と通信できるようにするためのS3 VPCエンドポイントが必要です。 S3 VPCエンドポイントのセットアップ:
  1. AWSコンソールでVPCサービスに移動します
  2. S3サービス用のVPCエンドポイントを作成します
  3. Redshiftサブネットと関連付けます
  4. ルーティングテーブルを設定します

パフォーマンスの最適化

ディストリビューションキーとソートキー

分析ワークロード用にイベントテーブルを最適化します:

カラムナストレージ

分析のためにRedshiftのカラムナストレージを活用します:
  • 圧縮:Redshiftは自動的に列を圧縮します
  • ゾーンマップ:ソートされたデータでクエリパフォーマンスを向上させます
  • 列指向:イベントデータの分析クエリに効率的です

制限事項

  • 複数のスキーマには個別の権限付与が必要です
  • クロススキーマテーブルを参照するビューには追加の権限が必要です
  • 複雑なストアドプロシージャアクセスには追加のセットアップが必要な場合があります
  • VPCデプロイメントにはS3 VPCエンドポイント設定が必要です

FAQ

OneSignalは大規模なイベントデータセットをどのように処理しますか?

OneSignalは、大規模な分析ワークロード用に最適化されているRedshiftのUNLOADコマンドを使用して、効率的なバルクデータ抽出を行います。

読み取り専用モードを使用できますか?

はい、よりシンプルなセットアップを希望し、OneSignalによるテーブル作成を許可できない場合は、簿記スキーマの作成をスキップして読み取り専用モードを使用できます。

dbt互換性についてはどうですか?

OneSignalは、dbt実行後に権限が維持されるように特定のdbt統合パターンを提供しています。セットアップに応じて、post-hookまたはデフォルト権限を使用してください。