メインコンテンツへスキップ

はじめに

Amazon Redshift は、高速かつ強力なフルマネージド型のペタバイト規模のデータウェアハウスサービスで、クラウドコンピューティングプラットフォームである Amazon Web Services の一部です。

MoEngage × Redshift

MoEngage と Redshift の連携により、キャンペーンインタラクションイベントのデータを Amazon Redshift クラスターに直接エクスポートできます。

連携

  • Redshift クラスター、ロール、ポリシーを作成・編集する権限を持つ Amazon Web Services アカウントがあることを確認してください。
  • 任意:新しいユーザーを作成するには、Redshift クラスターで新しいユーザーを作成するアクセス権が必要です。
  • MoEngage から Amazon Redshift へのデータのエクスポートには、有料アドオンである MoEngage Streams を使用します。ご利用のプランで利用可能な機能を確認するには、Plans and Pricing を参照してください。アカウントで有効にするには、MoEngage のカスタマーサクセスマネージャー(CSM)またはサポートチームにお問い合わせください。

ステップ 1:Redshift クラスターがパブリックにアクセス可能であることを確認する

Redshift クラスターで “Publicly Accessible” 設定がオンになっていることを確認してください。
  • 新しい Redshift クラスターを作成する場合は、“Network and Security” セクションで “Turn on Publicly accessible” オプションを選択します。 Create-Public.png
  • すでに Redshift クラスターがある場合は、Properties タブで Network and Security セクションを探します。“Edit” ボタンをクリックします。 Edit-Properties.png
プロパティで Publicly accessible をオンにして保存します Edit-Public.png

ステップ 2:MoEngage 用の新しいデータベースユーザーを作成する

MoEngage は、お客様が提供した認証情報を使用して Redshift クラスターに接続します。MoEngage 専用に、権限を制限した新しいユーザーを作成することをおすすめします。既存のユーザーの認証情報を提供することもできます。新しい専用ユーザーを作成するには、Redshift クラスターで以下のコマンドを実行します。
既存のスキーマを使用することもできます。MoEngage は、App Marketplace で接続を設定する際に指定したスキーマにテーブルを作成します。

ステップ 3:MoEngage の IP がクラスターにアクセスできるようにする

新しいセキュリティグループを作成するか、既存のセキュリティグループを編集できます。

新しいセキュリティグループを作成する

EC2 コンソールの “Network & Security” で、Security Groups ページを開きます。“Create security group” ボタンをクリックします。
  1. セキュリティグループに名前と、任意で説明を付けます。
  2. VPC を選択します(デフォルトでは選択済みです)。
  3. 以下の詳細で新しいインバウンドルールを追加します。
“source” フィールドに入力する正しい IP アドレスは、MoEngage のデータセンターのリージョンによって異なります。 追加する必要があるインバウンドルールは 1 つだけです。たとえば、MoEngage の DC-01 サーバーを使用している場合は、最初の CIDR ブロックのみを追加します。 securitygroup.png
  1. アウトバウンドルールは空のままにします。
  2. 完了したら “Create security group” をクリックします。

既存のセキュリティグループを編集する

EC2 コンソールの “Network & Security” で、Security Groups ページを開きます。セキュリティグループの一覧から、編集するものを開きます。
  1. セキュリティグループのページで “Actions” ボタンをクリックし、“Edit inbound rules” を選択します。
  2. 上記の表に従って、新しいインバウンドルールを追加します。
  3. 完了したら “Save rules” をクリックします。

セキュリティグループを Redshift クラスターにアタッチする

  1. Redshift コンソールで、Redshift クラスターを開きます。Properties タブに移動します。
  2. “Network & Security settings” セクションで、“Edit” ボタンをクリックします。
  3. VPC security groups で、作成または編集したセキュリティグループを選択します。
  4. 完了したら “Save changes” をクリックします。

ステップ 4:新しい IAM ポリシーを作成する

MoEngage が S3 から Redshift クラスターにデータを転送できるようにする、新しい IAM ポリシーを作成する必要があります。 createpolicy.png
  1. IAM コンソールの Access Management で、Policies に移動します。“Create policy” ボタンをクリックします。
  2. Create Policy ページで JSON タブに切り替え、以下のポリシーを貼り付けます。
<bucket-arn> の値は、MoEngage のデータセンターのリージョンによって異なります。 <bucket-arn> を、お使いの MoEngage データセンターのリージョンに対応するものに置き換えるだけです。 jsonpolicy.png “Next” をクリックし、任意でタグを追加します。次に “Next: Review” をクリックします。
  1. ポリシーに名前と、任意で説明を付けます。準備ができたら “Create policy” をクリックします。reviewpolicy.png

ステップ 5:新しい Redshift IAM ロールを作成する

このロールにより、MoEngage のサーバーが Redshift クラスターにデータを書き込めるようになります。
  1. IAM コンソールの Access Management で、Roles に移動します。“Create role” ボタンをクリックします。
  2. Trusted entity type として “AWS service” を選択します。Use Case で、“Use cases for other AWS services” から “Redshift ” を選択します。Redshift のユースケースの種類で、“Redshift - Customizable ” を選択します。準備ができたら “Next” をクリックします。 newrole.png
  3. 次のステップで、ステップ 4 で作成したポリシーを選択します。完了したら Next をクリックします。 selectpolicy.png
  4. ロールに名前を付け、先ほど作成した正しいポリシーがアタッチされているかを確認します。準備ができたら Create Role をクリックします。 createrolefinal.png

ステップ 6:このロールを Redshift クラスターにアタッチする

Redshift コンソールで、Redshift クラスターを開きます。
  1. Properties タブで、“Associated IAM roles” セクションに移動します。
  2. “Manage IAM roles” ボタンをクリックし、“Associate IAM roles” オプションを選択します。
  3. ポップアップのモーダルから、ステップ 5 で作成したロールを選択します。
attachrole.png
  1. “Associate IAM roles” をクリックして、このロールを Redshift クラスターにアタッチします。

サポートされている日時形式

MoEngage から Redshift へのイベントのエクスポート

MoEngage から Redshift クラスターにイベントをエクスポートできます。エクスポートを設定するには、Redshift エクスポートガイドを参照してください。