😊

さよならETL👋 SnowflakeのデータをSalesforce Data CloudへFile Federationで爆速連携してみた

に公開

💡 はじめに:こんな「データ連携」の課題、ありませんか?

企業のデータ活用において、以下のような課題に直面していませんか?

  • データのサイロ化: Snowflakeにある購買履歴やWebログと、Salesforceの顧客情報がバラバラ…。
  • 鮮度の低下: 夜間バッチでのETL処理。CRMで見られるデータはいつも1日前のもの…。
  • 高まるコスト: データ連携パイプラインの開発や、仕様変更のたびに発生するメンテナンスの手間とコストが重い…。

そんな課題を解決するのが、Salesforce Data CloudとSnowflakeのZero-Copy File Federationです。

この記事では、データを物理的に移動させることなく(Zero-Copy)、Snowflake上のデータをほぼリアルタイムでSalesforce Data Cloudから参照できる画期的な連携方法を、アーキテクチャの解説から具体的な設定手順まで、分かりやすくご紹介します。

2025年6月時点でData CloudのFile Federation連携はBeta版ですがそのパワーを十分実感できます! ぜひトライしてみましょう!

🎬 まずはデモをどうぞ!これがZero-Copy File Federation連携の実力です

百聞は一見に如かず。Snowflake上のデータを更新すると、ほぼリアルタイムでSalesforceの画面に反映される様子をご覧ください。

左のウインドウでSnowflake側にある顧客の注文データを作成します。その後右のSalesdforceの顧客レコードページを更新するとその注文データが表示されることが確認できます。

いかがでしょうか。従来のようにETL処理を待つ必要は一切ありません。この限りなくリアルタイムなデータ連携が、これからの顧客体験を大きく変える可能性を秘めています。

🏗️ Zero-Copy File Federationのアーキテクチャ

この魔法のような連携は「Zero-Copy File Federation」という仕組みで実現されています。

  • データの実体はSnowflakeに置いたまま
  • ✅ Salesforce Data Cloudは、SnowflakeのOpen Catalogを通じて、データソースへのパス情報(メタデータ)のみを受け取ります。
  • ✅ Data Cloudからデータにアクセスする際は、そのパス情報を使ってS3上のデータファイルを直接参照します。

これにより、データの二重管理やETL処理が不要になり、コスト削減データ鮮度の向上、そしてガバナンスの強化(データの一元管理)を同時に実現できるのです。

🛠️【ハンズオン】設定手順を完全解説

それでは、実際に設定していきましょう。手順は大きく分けて以下の4ステップです。

  1. Snowflake側の準備
  2. AWS側の設定(IAM関連)
  3. Snowflake Open Catalogの設定
  4. Salesforce Data Cloudでのコネクタ登録

前提条件

  • Snowflakeアカウント(無料トライアルでも可)
  • AWSアカウント
  • Salesforce Data Cloudが有効化されたSalesforce組織

注) これら3つのクラウドは同じリージョン上に存在する必要があります。


STEP 1: Snowflake側の準備

まず、SnowflakeがAmazon S3バケットにあるデータにアクセスできるように「外部ボリューム(External Volume)」を設定します。

  1. Snowflake無料アカウント取得

    • (まだの方は、公式サイトからトライアルアカウントを取得します)
  2. 外部ボリュームとして利用するS3バケットの準備

  3. Snowflakeで外部ボリュームを作成


STEP 2: AWS側の設定(IAM関連)

SnowflakeとData CloudがセキュアにS3バケットへアクセスするための「鍵(権限)」をAWS IAMで作成・設定します。ここが一番のポイントです。

  1. SnowflakeのためのIAMポリシーとロールを作成

    • 目的: SnowflakeがS3バケットを読み書きできるようにする。
    • SnowflakeアカウントのAWS IAMユーザー情報を取得し、S3バケットへのアクセスを許可するIAMポリシーとロールを作成。このロールをSnowflakeに紐付けます。
    • SnowflakeアカウントのAWS IAMユーザーを取得する
  2. IAMユーザーにバケットオブジェクトへのアクセス権限を付与する

  3. S3ロケーションへのアクセスを許可するIAMポリシーを作成する

  4. S3バケットに権限を付与するIAMロールを作成する


STEP 3: Snowflake Open Catalogの設定

次に、Snowflakeのデータを外部(Data Cloud)に公開するためのカタログを作成します。

  1. Open Catalogでカタログを作成する
    Snowflake>Accounts>Create Snowflake Open catalog Account

  2. オープンカタログの使用

  3. Open CatalogアカウントのAWS IAMユーザーを取得する

  4. IAMユーザーにバケットオブジェクトへのアクセス権限を付与する

  5. カタログロールの作成と権限付与

  6. CATALOG_URIの取得

    • 設定が完了したら、Data Cloudとの接続に必要となる CATALOG_URI を取得します。このURIが、Data Cloudがカタログを見つけるための「住所」になります。
    • 参考:CATALOG_URIを取得
  7. カタログ同期


STEP 4: Salesforce Data Cloudでのコネクタ登録

いよいよ最終ステップです!Data Cloudの管理画面からSnowflakeへの接続を作成します。

  1. Data Cloudの[設定] > [Data Cloud設定]に移動します。
  2. その他のコネクタからSnowflake ファイル統合を選択します。
  3. コネクタの設定画面で、認証情報を入力します。
  4. 接続テストを実行して 成功 すれば完了です! 🎉

接続が完了すると、Data Cloud上でデータソースとしてSnowflakeのテーブルが選択できるようになり、データストリームの作成やデータマッピングが可能になります。

📝 まとめ:Zero-Copy連携が拓くデータ活用の未来

今回は、SnowflakeとSalesforce Data CloudをFile Federationで連携する手順をご紹介しました。

この連携の最大の魅力は、やはりZero-Copyがもたらす以下の3つのメリットです。

  • 🚀 データ鮮度の向上: ETLのタイムラグがなくなり、リアルタイムな顧客理解とアクションへ。
  • 💰 コストと工数の削減: データコピーが不要になり、ストレージコストとETL開発・運用コストを大幅に削減。
  • 🛡️ セキュアなガバナンス: データはSnowflake(S3)で一元管理。データガバナンスとセキュリティをシンプルに維持。

これまで分断されがちだったCRMデータとDWH上の膨大なデータをシームレスに繋ぐことで、より高度な顧客セグメンテーションや、パーソナライズされたマーケティング施策が、圧倒的なスピード感で実現可能になります。

ぜひ、この未来のデータ活用基盤を、皆さんの環境でも試してみてはいかがでしょうか。

Discussion