Skip to main content
Amazon Simple Storage Service (Amazon S3) は、Amazon Web Services(AWS)プラットフォーム上のオブジェクトストレージサービスです。Amazon S3 を使用すると、構造化データや非構造化データを Web 上のどこからでも保存、整理、取得できます。

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 バケットについて、ロールの作成、バケットアクセスポリシーの管理、プログラムによるアクセス認証情報の生成ができる必要があります。
MoEngage は複数の方法で 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 を設定する前に、これらの値をコピーしてください。
MoEngage AWS Account ARN と MoEngage External ID フィールドが強調表示された Add Connection フォームクロスアカウントロールを作成する
  1. AWS Management Console にサインインし、IAM サービスを開きます。
  2. 左側のナビゲーションで Roles を選択し、Create role をクリックします。
  3. Trusted entity type で Custom trust policy を選択します。
  4. Custom trust policy エディターに次の信頼ポリシーを貼り付け、プレースホルダーを App Marketplace の値に置き換えてから、Next をクリックします。信頼ポリシーは、誰がロールを引き受けられるかを定義します。
    sts:ExternalId 条件により、このロールの範囲はお使いのワークスペースのみに限定されます。この条件は変更または削除しないでください。
  5. Add permissions 画面で Next をクリックします。バケットの権限は、後で ステップ 2: 権限を付与するでアタッチします。
  6. Name, review, and create 画面で、必須のプレフィックス moe-export- で始まる Role name を入力します(例: moe-export-moengage-s3)。MoEngage はこのプレフィックスを持つロールのみを引き受けられるため、名前が moe-export- で始まらないロールは接続に失敗します。
  7. Create role をクリックします。
  8. 作成したロールを開き、その Role ARN をコピーします(例: arn:aws:iam::111122223333:role/moe-export-moengage-s3)。これは ステップ 3 で Add Connection ページに貼り付けます。
ロールを作成したら、ステップ 2: 権限を付与するで説明されているバケット権限(Imports タブ、Exports タブ、またはその両方)をアタッチします。
ロールの代わりに、バケットへの読み取りアクセス権を持つ AWS アクセスキーペアを指定します。Access Key ID と Secret Access Key の入力フィールドが強調表示された Add Connection フォーム
  1. AWS アカウントで IAM user を作成し(または既存のプログラム用ユーザーを使用し)、Access Key ID と Secret Access Key を生成します。
  2. バケットへの読み取りアクセス権を付与する権限ポリシーをアタッチします(ステップ 2: 権限を付与する → Imports タブを参照)。
  3. Add Connection ページで Access Key ID と Secret Access Key を入力します(ステップ 3: App Marketplace で Amazon S3 を接続するを参照)。
アクセスキーの認証情報は、インポートごとに入力するのではなく、再利用可能な S3 接続として MoEngage に一度だけ保存されます。接続を一度作成し(ステップ 3)、S3 インポートを設定する際にその接続を選択します。
この方式では、S3 バケットポリシーを通じて MoEngage のエクスポートロールに直接アクセス権を付与します(MoEngage が引き受けるロールはありません)。MoEngage はこの方式ですべてのデータセンターにわたって単一のエクスポートロールを使用するため、データセンターごとの ARN 表は必要ありません。
  1. AWS Management Console > S3 を開き、バケットを選択して、Permissions > Bucket policy > Edit に移動します。
  2. 次のステートメントを追加します。<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 バケットを接続するには、次の手順を実行します。
  1. MoEngage ダッシュボードの左側のナビゲーションメニューで、App marketplace をクリックします。
  2. App Marketplace ページで Amazon S3 を検索します。
  3. Amazon S3 タイルをクリックします。 App Marketplace ページの Amazon S3 タイル
  4. Amazon S3 ページで Integrate タブに移動し、+Add Connection をクリックします。
  5. S3 connections セクションで、次の設定を入力します。
  6. Test をクリックして認証情報を検証し、Connect をクリックして Amazon S3 統合を有効にします。 Amazon S3 統合の Test ボタンと Connect ボタン
    設定の変更がアクティブなキャンペーンと接続に反映されるまで、最大 15 分かかる場合があります。
接続後、アクティブな統合を使用して、自動化されたインポートとエクスポートをスケジュールできます。

ユーザーとイベントをインポートする

この接続を使用してユーザーデータとイベントデータのインポートを設定するには、S3 データインポートガイドを参照してください。

イベントをエクスポートする

キャンペーンのインタラクションログを Amazon S3 バケットにルーティングするには、S3 データエクスポートガイドを使用して自動エクスポートを設定します。