メインコンテンツへスキップ
Scale プラン10 minutes中級

AWS S3 へのウェアハウスエクスポート

日次の Zenovay アナリティクス集計データを、スケジュールに基づいて独自の AWS S3 バケットにプッシュできます。Scale プラン以上でご利用いただけます。

warehouses3awsexportscale
最終更新日:
Scale プラン

Zenovay は、日次のアナリティクス集計データをスケジュールに基づいて独自の AWS S3 バケットにプッシュできます。バケットと IAM 認証情報はお客様自身でご用意ください。Zenovay は AWS SigV4 で PUT リクエストに署名します。データはお客様のアカウントに保存され、保持ポリシーもお客様が管理します。Zenovay は書き込みを行うだけです。

エクスポートされるデータ

V1 では analytics_daily 集計データをエクスポートします。ダッシュボードで確認できる数値と同じ、ウェブサイトごと・日付ごとの 1 行のデータです。

カラム説明
website_id行が属するウェブサイトの UUID
date行が集計する日付(UTC)
total_visitorsその日の総訪問者数
unique_visitorsその日のユニーク訪問者数
pageviewsその日のページビュー数
bounce_rate直帰率(0〜1)
avg_session_duration平均セッション時間(秒)

今後の拡張(BigQuery、Snowflake、カスタムイベントなどのリッチなデータセット)はロードマップに含まれています。この記事では S3 のみを扱います。

必要なもの

  • AWS アカウント
  • S3 バケット(任意のリージョン)
  • 設定するプレフィックスへの s3:PutObject 権限を持つ IAM ユーザー(またはロール)— その他の権限は不要です
  • その IAM ユーザーのアクセスキー ID とシークレットアクセスキー
  • Scale プラン以上の Zenovay チーム

ステップ 1 — IAM ポリシーを作成する

AWS IAM コンソールで、次の最小権限セットでポリシーを作成します。your-bucketzenovay/ は使用するバケットとプレフィックスに置き換えてください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ZenovayWarehouseExportPut",
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket/zenovay/*"
    }
  ]
}

Zenovay はバケット内のオブジェクトの一覧取得、読み取り、削除は行いません。このポリシーは単一プレフィックスへの PutObject のみを許可します。

ステップ 2 — IAM ユーザーを作成する

ステップ 1 のポリシーを新しい IAM ユーザーに付与します。ユーザーのアクセスキーを生成し、アクセスキー ID とシークレットアクセスキーをコピーしてください。ステップ 4 で Zenovay に貼り付けます。

ステップ 3 —(任意)バケットへのライフサイクルポリシーを設定する

スケジュールされた実行ごとに、次のパスに書き込まれます:

s3://your-bucket/<prefix><team_id>/<date>/analytics_daily.csv

オブジェクトキーはべき等です。同じ日付で再実行すると、同じキーが上書きされます。S3 ライフサイクルポリシーを設定して次のことができます:

  • 古いオブジェクトを S3 Glacier または Glacier Deep Archive に移行して長期保存コストを削減する
  • 長期保存が不要な場合、N 日/年後にオブジェクトを期限切れにする

これはすべてお客様の管理下にあります。Zenovay はバケットのライフサイクルを管理しません。

ステップ 4 — Zenovay で送信先に接続する

  1. ウェブサイトの SettingsData セクション → Warehouse タブに移動します
  2. Add S3 destination をクリックします
  3. フォームに入力します:
フィールド
Bucket nameyour-bucket
AWS regionバケットのあるリージョン(例:eu-central-1
Access key IDステップ 2 で取得したもの
Secret access keyステップ 2 で取得したもの
Object key prefixzenovay/(または任意のプレフィックス。IAM ポリシーと一致している必要があります)
Schedule日次または時間次

Zenovay はシークレットアクセスキーを AES-GCM で暗号化して保存し、API レスポンスには絶対に含めません。

ステップ 5 — 送信先をテストする

保存後、送信先の行で Run now をクリックします。Zenovay は次の処理を行います:

  1. データから最新の analytics_daily 行を読み取ります
  2. CSV としてフォーマットします
  3. s3://your-bucket/<prefix><team_id>/<yesterday>/analytics_daily.csv に PUT します

結果は数秒で表示されます。失敗した場合、エラーメッセージに AWS が拒否した理由が表示されます。通常はバケット名のタイプミス、リージョンの不一致、または IAM 権限の不足です。

スケジュールの周期

  • 日次:送信先ごとに 24 時間に 1 回実行されます
  • 時間次:毎時 0 分に実行されます

Zenovay の時間次 cron は 1 ティックあたり最大 200 の送信先を処理します。チームに多くの送信先がある場合、実行が数分ずれる場合があります。

一時停止・再開・削除

  • Pause はスケジュールされた実行を停止しますが、設定は保持されます。手動の「Run now」は引き続き機能します。
  • Resume は同じ next_run_at クロックでスケジュールされた実行を再開します。
  • Delete は送信先の設定とその実行履歴を削除します。S3 バケット内の既存のファイルは削除されません。お客様の管理下に残ります。

プライバシーとアカウント削除

  • エクスポートされるのは集計データのみです。個々の訪問者の IP や PII が Zenovay 外に出ることはありません
  • 認証情報は AES-GCM で暗号化されて保存されます
  • Zenovay アカウントを削除すると、標準の忘れられる権利カスケードの一部として、暗号化された認証情報と送信先の設定が消去されます

よくある質問

MinIO、R2、Wasabi などの非 AWS S3 互換ストアは使用できますか? はい。送信先フォームで Advanced (S3-compatible endpoints) を展開し、プロバイダーの S3 エンドポイント URL を貼り付けてください(例:https://abc123.r2.cloudflarestorage.com)。Cloudflare R2 およびその他の AWS 以外のターゲットについては、リージョンに Auto (Cloudflare R2 / S3-compatible) を選択してください。エンドポイントは公開アクセス可能である必要があります。ローカル MinIO インスタンスに対するテストでは、トンネル(cloudflared または ngrok)経由でエクスポーズし、公開 URL を使用してください。

BigQuery や Snowflake はどうですか? 今後のリリースで提供予定です。同じスケジューリング、プランゲーティング、認証情報ストレージが適用されます。コネクターのみが異なります。

別の AWS アカウントの独自バケットにエクスポートできますか? はい。それがサポートされているモデルです。お客様の IAM ユーザー、バケット、アカウントを使用します。Zenovay は PUT に署名するだけです。

S3 に保存されたデータはどのようにダウンロードしますか? 標準的な AWS ツール(aws s3 cp、AWS コンソール、または任意の S3 クライアント)を使用してください。そこからはお客様のデータです。Athena でクエリを実行したり、Glue/Redshift/BigQuery にロードしたり、独自のパイプラインに取り込んだりできます。

バケットのリージョンはどこを選べばよいですか? ダウンストリームツールがある場所を選択してください。Zenovay はデータ転送料を請求しません。それらは AWS との間で発生します。EU のお客様は通常、データ居住性の理由から eu-central-1 を選択します。

この記事は役に立ちましたか?