プッシュダウン実行とautomatic fast-writeのデータの流れについて
初投稿となります。どうぞよろしくお願いいたします。
内容がこちらでそぐわなければ適当な質問先をご教示いただければ幸いです。
snowflakeのデータをインプットにDataikuでデータ加工、同SnowflakeのDBの別テーブルに加工後データとしてアウトプットを行おうとしております。
方針としてはSnowflakeのデータは基本的に一般的なインターネット上には出ないようにしたい方針があります。
そのため、データ加工処理はSnowflake内で完結したいので、Recipe EngineではIn Database(SQL)を指定。プッシュダウン実行の設定をします。
次に、SnowflakeのConnectionの設定にてautomatic fast-writeを指定しないと挙動として1行単位でのデータInsertとなるといった話を伺ったので、automatic fast-writeを採用する想定でいます。
そうするとS3のバケットを指定する必要があるのですがここで相談です。
いわゆる一般回線、インターネットにデータが流れる構図にしたくない場合、automatic fast-writeで指定するS3はデフォルトのDataiku-Managed-Storageを指定すべきではない理解であっていますでしょうか。
snowflakeが使う用のS3と同じ環境(AWSの知識が浅いので表現が適当でないかもしれません)に別途バケットを作ってあげてDataikuで指定するのが正解となりますでしょうか。
ご教示のほどよろしくお願いいたします。
Comments
-
Fast write のstageをDkuCloudの dataiku-managed-storageにするとデフォルトではインターネット経由になります。※このS3バケットはデフォルトのSSE-S3で暗号化されてます。
で、回避策は Snowflake を PrivateLinkで接続すればインターネットを経由しません。https://docs.snowflake.com/ja/user-guide/admin-security-privatelink
ただし Dataiku Cloud から Snowflake に AWS PrivateLink 経由で接続するには条件があり、
- Business Critical Edition Snowflake on AWS を使っている。
- Dataiku Cloud Enterprise を使っている。この2つが揃っていれば、下記のドキュメントの手順で Dataiku Cloud から AWS PrivateLink を経由した接続/LOAD が可能です。
-
もしくは、既にDataiku Cloudとは別にご自身でAWSアカウントを持っており、そのAWSアカウントでSnowflake とAWS をPrivateLink接続してるのであれば、そのAWSアカウントのS3をFast writeのStaging用バケットとして使えば良いです。
-
ありがとうございます!AWS側の設定が直接見れないので後日確認してみます!