MoEngage × Amazon S3
App Marketplace を使用して MoEngage を Amazon S3 と統合し、S3 バケットと MoEngage ワークスペースの間に直接接続を確立します。この接続を確立すると、MoEngage はこの一元化された接続を使用して、自動化されたデータのインポートとエクスポートのためにファイルを転送します。ユースケース
MoEngage と Amazon S3 の統合は、次のユースケースに役立ちます。- リアルタイムの行動セグメントを同期する。
- ユーザーとイベントをインポートする。
- キャンペーンのインタラクションイベントをエクスポートする。
メリット
MoEngage との統合には、次のメリットがあります。統合にかかる時間の短縮
- 外部の ETL(Extract, Transform, and Load)ツールが不要になります。
- 複雑なデータパイプラインを 1 回限りの設定プロセスに置き換えます。
- 開発チームや技術チームへの依存を最小限に抑えます。
データ処理の高速化
- 大量のデータをほぼリアルタイムで処理およびクエリします。
- MoEngage で手動の再設定を行わなくても、スキーマの更新が自動的に反映されます。
- 従来の外部クラウドパイプラインと比べて、データ転送コストを削減します。
統合
前提条件Identity and Access Management(IAM)の管理者権限を持つ AWS アカウントがあることを確認してください。対象の Amazon S3 バケットについて、ロールの作成、バケットアクセスポリシーの管理、プログラムによるアクセス認証情報の生成ができる必要があります。
ステップ 1: 認証を設定する
接続の使用方法に合った認証方法を選択します。クロスアカウントロール方式はインポートとエクスポートの両方をサポートし、長期的な認証情報を保存する必要がないため、MoEngage ではこの方式を推奨しています。クロスアカウントロール(推奨)— インポートとエクスポートの両方をサポート
クロスアカウントロール(推奨)— インポートとエクスポートの両方をサポート
この方式では、AWS アカウントに IAM ロールを 1 つ作成し、単一の MoEngage ロールがそれを引き受けられるようにします。MoEngage から次の 2 つの値が必要です。
クロスアカウントロールを作成する
- MoEngage AWS Account ARN: ロールが信頼する唯一の MoEngage ID です。
- MoEngage External ID: ワークスペースに固有の値で、
moe-external-xxxxxxxxxxの形式です。
これらの値の確認場所MoEngage で、Amazon S3 > Integrations > Add Connection に移動します。MoEngage AWS Account ARN とワークスペースの MoEngage External ID は、Add Connection フォームに表示されます(ステップ 3: App Marketplace で Amazon S3 を接続するを参照)。AWS を設定する前に、これらの値をコピーしてください。

- AWS Management Console にサインインし、IAM サービスを開きます。
- 左側のナビゲーションで Roles を選択し、Create role をクリックします。
- Trusted entity type で Custom trust policy を選択します。
- Custom trust policy エディターに次の信頼ポリシーを貼り付け、プレースホルダーを App Marketplace の値に置き換えてから、Next をクリックします。信頼ポリシーは、誰がロールを引き受けられるかを定義します。
sts:ExternalId条件により、このロールの範囲はお使いのワークスペースのみに限定されます。この条件は変更または削除しないでください。 - Add permissions 画面で Next をクリックします。バケットの権限は、後で ステップ 2: 権限を付与するでアタッチします。
- Name, review, and create 画面で、必須のプレフィックス
moe-export-で始まる Role name を入力します(例:moe-export-moengage-s3)。MoEngage はこのプレフィックスを持つロールのみを引き受けられるため、名前がmoe-export-で始まらないロールは接続に失敗します。 - Create role をクリックします。
- 作成したロールを開き、その Role ARN をコピーします(例:
arn:aws:iam::111122223333:role/moe-export-moengage-s3)。これは ステップ 3 で Add Connection ページに貼り付けます。
アクセスキー [Imports] — インポートのみをサポート
アクセスキー [Imports] — インポートのみをサポート
ロールの代わりに、バケットへの読み取りアクセス権を持つ AWS アクセスキーペアを指定します。

- AWS アカウントで IAM user を作成し(または既存のプログラム用ユーザーを使用し)、Access Key ID と Secret Access Key を生成します。
- バケットへの読み取りアクセス権を付与する権限ポリシーをアタッチします(ステップ 2: 権限を付与する → Imports タブを参照)。
- Add Connection ページで Access Key ID と Secret Access Key を入力します(ステップ 3: App Marketplace で Amazon S3 を接続するを参照)。
IAM ポリシー [Exports] — エクスポートのみをサポート
IAM ポリシー [Exports] — エクスポートのみをサポート
この方式では、S3 バケットポリシーを通じて MoEngage のエクスポートロールに直接アクセス権を付与します(MoEngage が引き受けるロールはありません)。MoEngage はこの方式ですべてのデータセンターにわたって単一のエクスポートロールを使用するため、データセンターごとの ARN 表は必要ありません。
- AWS Management Console > S3 を開き、バケットを選択して、Permissions > Bucket policy > Edit に移動します。
- 次のステートメントを追加します。
<INSERTPOLICYID>と<INSERTSID>を任意の値(一意の識別子であれば何でも構いません)に、your-bucket-nameをバケット名に置き換えます。MoEngage の Principal ARN は表示どおりに保持してください。
ステップ 2: 権限を付与する
データフローの方向に合った権限ポリシーをアタッチします。クロスアカウントロール方式とアクセスキー方式では、インラインポリシーとしてアタッチします。ロール(または IAM ユーザー)を開き > Permissions タブ > Add permissions > Create inline policy > JSON エディター > ポリシーを貼り付け > Next > 名前を付け(例:moe-s3-access)> Create policy の順に操作します。
各例では、バケット名は your-bucket-name で、ファイルは moengage/ フォルダーの下にあります。これらをお使いのバケット名とフォルダーパスに置き換えてください。
バケット ARN とオブジェクト ARN の違い
ListBucket などのバケットレベルのアクションでは、バケット ARN(arn:aws:s3:::your-bucket-name)を使用します。GetObject や PutObject などのオブジェクトレベルのアクションでは、オブジェクト ARN(arn:aws:s3:::your-bucket-name/moengage/*)を使用します。- インポート
- エクスポート
MoEngage には、ファイルを一覧表示して取得するための読み取りアクセス権が必要です。
s3:prefix 条件は任意です。この条件は、ListBucket を moengage/ フォルダーに制限します。バケット全体の一覧表示を許可するには、この条件を削除します。ステップ 3: App Marketplace で Amazon S3 を接続する
MoEngage ダッシュボードで S3 バケットを接続するには、次の手順を実行します。- MoEngage ダッシュボードの左側のナビゲーションメニューで、App marketplace をクリックします。
- App Marketplace ページで Amazon S3 を検索します。
- Amazon S3 タイルをクリックします。

- Amazon S3 ページで Integrate タブに移動し、+Add Connection をクリックします。
- S3 connections セクションで、次の設定を入力します。
- Test をクリックして認証情報を検証し、Connect をクリックして Amazon S3 統合を有効にします。
設定の変更がアクティブなキャンペーンと接続に反映されるまで、最大 15 分かかる場合があります。