コンテンツにスキップ

CRMイベントのエクスポート (S3)

FlareLaneで発生したメッセージの配信・到達・クリックなどのCRMイベントを、毎日お客様のAmazon S3バケットへ自動でエクスポートする機能です。エクスポートされたデータはParquet形式で保存されるため、社内のデータウェアハウスやBIツールに取り込んで、キャンペーンの成果を精緻に分析できます。

設定は最初に一度だけ行えば十分です。お客様のAWSアカウントでIAM Roleを作成してFlareLaneに書き込み権限を委任したうえで、FlareLaneコンソールで対象バケットと権限情報を入力すると、翌日から自動的にデータが蓄積されます。

項目内容
実行周期毎日 KST 03:00 に自動実行(手動実行には対応していません)
対象期間プロジェクトの timezone を基準とした前日 00:00 ~ 24:00(デフォルト値 Asia/Seoul
対象ストレージAmazon S3(現在 GCS、Azure Blob などの他クラウドには対応していません)
ファイル形式Parquet(snappy 圧縮)
認証方式AWS STS cross-account AssumeRole。ExternalId でプロジェクト ID を検証し、confused deputy 攻撃を防止します。

エクスポートされたファイルは、以下のパス規則で保存されます。

s3://<bucket>/<prefix>/<YYYY-MM-DD>/<YYYYMMDDHHMMSS>_part_<NNN>.parquet
// e.g. s3://my-flarelane-export/crm/2026-05-14/20260515030412_part_001.parquet

設定時に、以下のリストの中からエクスポートするイベントを自由に選択できます(最低 1 つ以上が必須)。選択しなかったタイプのイベントは、エクスポートの対象から除外されます。

カテゴリイベントタイプ
プッシュ (Push)push.sent, push.aborted, push.failed, push.clicked
SMSsms.sent, sms.aborted, sms.failed, sms.delivered, sms.undelivered
KakaoTalkアルリムトークkakaoalimtalk.sent, kakaoalimtalk.aborted, kakaoalimtalk.failed,
kakaoalimtalk.delivered,
kakaoalimtalk.undelivered
Kakaoブランドメッセージkakaobrandmessage.sent,
kakaobrandmessage.aborted,
kakaobrandmessage.failed,
kakaobrandmessage.delivered,
kakaobrandmessage.undelivered
メール (Email)email.sent, email.aborted, email.failed, email.delivered, email.opened, email.clicked, email.complaint
アプリ内メッセージ (In-App Message)iam.displayed, iam.clicked, iam.closed

設定を始める前に、以下の項目をご準備ください。

項目説明
Amazon S3 バケットエクスポートされたデータを蓄積するバケットです。CRM イベント専用として別のバケットを使用することを推奨します。
CloudFormation スタック / IAM Role 作成権限お客様の AWS アカウントで 2 段階目を実行するために必要です。
プロジェクト IDコンソールのプロジェクト設定画面で確認できます。IAM Role の Trust Policy の ExternalId 条件値として使用されます。
FlareLane Glue Role ARNFlareLane から別途お渡しする値です。IAM Role の Trust Policy の Principal として使用されます。
KMS キー ARN(任意)対象バケットが SSE-KMS(カスタマー管理型キー)で暗号化されている場合にのみ必要です。SSE-S3 のデフォルト暗号化であれば不要です。

設定に使用する CloudFormation テンプレートです。以下のボタンからダウンロードして、2 段階目で使用してください。

iam-role.yaml をダウンロード

お客様の AWS アカウントで、エクスポート対象の S3 バケットを準備します。既存のバケットを再利用しても問題ありませんが、CRM イベント専用として別のバケットを使用することを推奨します。

FlareLane の Glue Job がお客様の S3 バケットにデータを書き込み、蓄積後に一時ファイルを整理(rename・cleanup)できるように、IAM Role と権限を作成します。以下の 2 つの方法のいずれかを選択してください。

方法A — CloudFormationテンプレート(推奨)

Section titled “方法A — CloudFormationテンプレート(推奨)”
  1. 上記の iam-role.yaml ダウンロードボタンでテンプレートをダウンロードします。
  2. AWS コンソールの CloudFormation → Create stack → With new resources (standard) に移動し、Upload a template fileiam-role.yaml をアップロードします。
  3. 以下のパラメータを入力します。
パラメータ説明
ProjectIdFlareLane プロジェクト ID。Trust Policy の ExternalId として使用されます。
DestinationBucketName1 段階目で準備した S3 バケット名
FlarelaneGlueRoleArnFlareLane からお渡しする Glue Role ARN
KmsKeyArn(任意)バケットが SSE-KMS で暗号化されている場合にのみ入力します。SSE-S3 であれば空欄のままにします。
  1. 最後の確認ステップで "I acknowledge that AWS CloudFormation might create IAM resources with custom names" チェックボックスを選択したうえで、スタックを作成します。
  2. スタックの作成が完了したら、Outputs タブで RoleArn の値をコピーします。3 段階目のコンソール入力で使用します。
  3. (SSE-KMS バケットのみ該当) Outputs タブの KmsKeyPolicyStatement JSON をコピーし、該当する KMS キーの Key policy に Statement として追加します(KMS コンソール → カスタマー管理型キー → キーを選択 → キーポリシーを編集)。クロスアカウント KMS アクセスは IAM 権限だけでは不十分であり、キーポリシーでもこの Role を Principal として許可する必要があります。

CloudFormation を使用せずにコンソールで直接構成する場合は、以下の手順に従います。

(1) IAM Roleの作成

  1. AWS コンソールの IAM → Roles → Create role に移動します。
  2. Trusted entity type として Custom trust policy を選択し、以下の JSON をそのまま貼り付けます。2 か所のプレースホルダーを実際の値に置き換えてください。
    • <FLARELANE_GLUE_ROLE_ARN>: FlareLane からお渡しする値
    • <FLARELANE_PROJECT_ID>: FlareLane プロジェクト ID
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "<FLARELANE_GLUE_ROLE_ARN>"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "<FLARELANE_PROJECT_ID>"
}
}
}
]
}
  1. Role 名を自由に入力し(例: flarelane-crm-export-role)作成します。

(2) S3インラインポリシーの付与

  1. 作成した Role の詳細画面で Add permissions → Create inline policy を選択します。
  2. ポリシーエディタを JSON モードに切り替え、以下の JSON を貼り付けます。<DESTINATION_BUCKET> を 1 段階目で準備したバケット名に置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<DESTINATION_BUCKET>",
"arn:aws:s3:::<DESTINATION_BUCKET>/*"
]
}
]
}
  1. ポリシー名を自由に入力し(例: flarelane-crm-export-policy)保存します。

(3) KMS権限の付与 — SSE-KMSバケットのみ該当

対象バケットが KMS カスタマー管理型キーで暗号化されている場合は、上記のポリシーに加えて、以下の 2 点を追加で設定する必要があります。

  • Role に KMS 権限(kms:GenerateDataKeykms:Decrypt)を付与し、Resource を該当するキー ARN に指定します。
  • 該当する KMS キーの Key policy にも、この Role を Principal として許可する Statement を追加します。クロスアカウント KMS アクセスは IAM 権限だけでは不十分であり、キーポリシーの許可が必ず併せて必要です。

3段階目: FlareLaneコンソールで設定を入力

Section titled “3段階目: FlareLaneコンソールで設定を入力”

FlareLane コンソールの プロジェクト設定 → CRM イベントのエクスポート 画面で、以下の値を入力します。

フィールド説明
有効化の有無エクスポート動作のオン/オフ
S3 バケット名1 段階目で準備したバケット名
S3 パス prefixバケット内のパス prefix(任意)
IAM Role ARN2 段階目で作成した Role の ARN(方法 A はスタック Outputs の RoleArn
エクスポートするイベントタイプ上記の 連携可能なイベントタイプ の中から選択

保存後、有効化トグルをオンにすると、次回の KST 03:00 から自動的にエクスポートが開始されます。

有効化した翌日の KST 03:00 ~ 03:30 の間に初回実行が行われます。同じ日の午前中に、以下を確認してください。

  1. 対象 S3 バケット内に <prefix>/<昨日の日付>/ ディレクトリが作成されているか確認します。
  2. ディレクトリ内に <YYYYMMDDHHMMSS>_part_001.parquet 形式のファイルが存在するか確認します。
  3. Parquet ファイルを開き、前日に発生したイベントが正常に蓄積されているか点検します。

ディレクトリが作成されていない場合は、以下の項目を確認してください。

  • 前日に発生した該当イベントが実際に存在するか(存在しない場合は、空のディレクトリも作成されません)
  • 選択した エクスポートするイベントタイプ フィルターに、該当イベントが含まれているか
  • IAM Role の Trust Policy の sts:ExternalId 値が、ご自身のプロジェクト ID と一致しているか
  • IAM Policy の Resource ARN が、実際のバケット名と一致しているか
  • (SSE-KMS バケットの場合)KMS キーの Key policy に、export Role が Principal として許可されているか

上記の項目がすべて正常であるにもかかわらずデータが蓄積されない場合は、FlareLane のカスタマーサポートまでお問い合わせください。

Q. 機能を有効化する前の過去データを一括で受け取れますか?

対応していません。有効化した時点以降の「前日」データから、日次単位で蓄積されます。過去の期間のデータが必要な場合は、FlareLane のカスタマーサポートまでお問い合わせください。

Q. 昨日のデータが空になっています。

次の 2 つのいずれかである可能性が高いです。

  • 該当日に発生した CRM イベントがない場合(この場合、S3 ディレクトリ自体が作成されません)
  • 発生したイベントのタイプが エクスポートするイベントタイプ フィルターに含まれていない場合

Q. S3 パス prefix を途中で変更するとどうなりますか?

変更した時点以降のデータから、新しい prefix のパスに蓄積されます。既存の prefix のパスに保存されたファイルはそのまま維持され、FlareLane が自動的に移動させることはありません。

Q. IAM Role ARN を誤って入力しました。その日付のデータは自動的に再蓄積されますか?

自動復旧はされません。ARN を正しい値に修正して保存すると、翌日から正常に蓄積されます。欠落した日付のデータが必要な場合は、FlareLane のカスタマーサポートまでお問い合わせください。

Q. 1 つのプロジェクトから複数の S3 バケットへ同時にエクスポートできますか?

現在は、プロジェクトごとに 1 つの対象バケットのみ設定可能です。