はじめに
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” オプションを選択します。

- すでに Redshift クラスターがある場合は、Properties タブで Network and Security セクションを探します。“Edit” ボタンをクリックします。


ステップ 2:MoEngage 用の新しいデータベースユーザーを作成する
MoEngage は、お客様が提供した認証情報を使用して Redshift クラスターに接続します。MoEngage 専用に、権限を制限した新しいユーザーを作成することをおすすめします。既存のユーザーの認証情報を提供することもできます。新しい専用ユーザーを作成するには、Redshift クラスターで以下のコマンドを実行します。ステップ 3:MoEngage の IP がクラスターにアクセスできるようにする
新しいセキュリティグループを作成するか、既存のセキュリティグループを編集できます。新しいセキュリティグループを作成する
EC2 コンソールの “Network & Security” で、Security Groups ページを開きます。“Create security group” ボタンをクリックします。- セキュリティグループに名前と、任意で説明を付けます。
- VPC を選択します(デフォルトでは選択済みです)。
- 以下の詳細で新しいインバウンドルールを追加します。
“source” フィールドに入力する正しい IP アドレスは、MoEngage のデータセンターのリージョンによって異なります。
追加する必要があるインバウンドルールは 1 つだけです。たとえば、MoEngage の DC-01 サーバーを使用している場合は、最初の CIDR ブロックのみを追加します。

- アウトバウンドルールは空のままにします。
- 完了したら “Create security group” をクリックします。
既存のセキュリティグループを編集する
EC2 コンソールの “Network & Security” で、Security Groups ページを開きます。セキュリティグループの一覧から、編集するものを開きます。- セキュリティグループのページで “Actions” ボタンをクリックし、“Edit inbound rules” を選択します。
- 上記の表に従って、新しいインバウンドルールを追加します。
- 完了したら “Save rules” をクリックします。
セキュリティグループを Redshift クラスターにアタッチする
- Redshift コンソールで、Redshift クラスターを開きます。Properties タブに移動します。
- “Network & Security settings” セクションで、“Edit” ボタンをクリックします。
- VPC security groups で、作成または編集したセキュリティグループを選択します。
- 完了したら “Save changes” をクリックします。
ステップ 4:新しい IAM ポリシーを作成する
MoEngage が S3 から Redshift クラスターにデータを転送できるようにする、新しい IAM ポリシーを作成する必要があります。
- IAM コンソールの Access Management で、Policies に移動します。“Create policy” ボタンをクリックします。
- Create Policy ページで JSON タブに切り替え、以下のポリシーを貼り付けます。
<bucket-arn> の値は、MoEngage のデータセンターのリージョンによって異なります。
<bucket-arn> を、お使いの MoEngage データセンターのリージョンに対応するものに置き換えるだけです。

- ポリシーに名前と、任意で説明を付けます。準備ができたら “Create policy” をクリックします。

ステップ 5:新しい Redshift IAM ロールを作成する
このロールにより、MoEngage のサーバーが Redshift クラスターにデータを書き込めるようになります。- IAM コンソールの Access Management で、Roles に移動します。“Create role” ボタンをクリックします。
- Trusted entity type として “AWS service” を選択します。Use Case で、“Use cases for other AWS services” から “Redshift ” を選択します。Redshift のユースケースの種類で、“Redshift - Customizable ” を選択します。準備ができたら “Next” をクリックします。

- 次のステップで、ステップ 4 で作成したポリシーを選択します。完了したら Next をクリックします。

- ロールに名前を付け、先ほど作成した正しいポリシーがアタッチされているかを確認します。準備ができたら Create Role をクリックします。

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

- “Associate IAM roles” をクリックして、このロールを Redshift クラスターにアタッチします。