Snowflake Data Clean Rooms におけるクロスクラウドの自動複製の管理¶
クロスクラウド自動複製について¶
デフォルトのclean room環境では、clean roomは同じクラウドリージョン内のアカウントとしか共有できません。つまり、プロバイダーとコンシューマーは同じクラウドリージョンにいなければなりません。
自分のアカウントと異なるリージョンのアカウントを持つコラボレーターと共同作業を行う場合は、このページで説明する方法に従って、自分のclean room環境およびclean roomの クロスクラウド自動複製 を有効にする必要があります。
自分のクラウドリージョンを定義するには、 SELECT CURRENT_REGION();
を実行します
クロスクラウド自動複製を有効にする¶
別のリージョンにいるコラボレーターを有効にするには:
clean room管理者は、プロバイダーとコンシューマーの両方のアカウントで、clean roomアカウントのクロスクラウド自動複製を有効にする必要があります。
次の手順は環境によって変わります:
UI でclean roomを作成または参加する場合は、追加の手順はありません。
API を使用してclean roomを作成する場合は、プロバイダーとコンシューマーは、クロスクラウドを使用するために、以下に説明する手順を行う必要があります。
clean roomアカウントのクロスクラウド自動複製を有効にします。¶
clean room管理者は、 UI または API で次の手順を実行し、clean roomのアカウントのクロスクラウド自動複製を有効にする必要があります:
メールアドレスを入力し、 Continue を選択します。
パスワードを入力してください。
複数のクリーンルーム環境に関連している場合は、設定するSnowflakeアカウントを選択します。
Admin > Snowflake Admin を選択します。
Login to Snowflake を選択し、ACCOUNTADMIN ロールを持つSnowflakeユーザーとして認証します。
Cross-Cloud Auto-Fulfillment を切り替えます。
clean roomの作成や参加の際に、プロバイダーやコンシューマーから追加で必要となる手順はありません。
管理者
プロバイダーとコンシューマーの両方の管理者が、Snowflakeアカウントのクロスクラウド自動複製を有効にする必要があります。これは、clean room UI で行うか、以下の API プロシージャを使用して行います:
USE ROLE ACCOUNTADMIN; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.library.enable_laf_on_account();
プロバイダーとコンシューマー
クロスクラウド自動複製をアカウントで有効にした後、プロバイダーとコンシューマーの両方が、クラウドリージョンをまたいでclean roomを作成または参加するたびに、clean roomのクロスクラウド自動自動複製を有効にする必要があります。
clean roomの基本的な機能を使用するだけなら、 コンシューマーから
consumer.request_laf_cleanroom
を呼び出します。すべての機能が必要な場合は、 双方から以下に説明する手順を実行する必要があります:
コンシューマーが
consumer.setup_cleanroom_request_share_for_laf
を呼び出します。次に、プロバイダーが
provider.request_laf_cleanroom_requests
とprovider.mount_laf_cleanroom_requests_share
を呼び出します。プロバイダーをアクティベーションするために、コンシューマーが
consumer.setup_activation_share_to_laf_consumer
を呼び出します。フルセットアップが完了すると、同じリージョンのコラボレーターと同様に、以下の機能が追加で実装されます:
リクエストログ
クライアントテンプレートリクエスト
プロバイダー実行の分析
プロバイダーのアクティベーション
フルセットアップの例:
プロバイダー: プロバイダーは、標準的な方法でclean roomを作成、共有、公開します。
USE ROLE SAMOOHA_APP_ROLE; USE WAREHOUSE APP_WH; SET cleanroom_name = 'LAF example'; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.cleanroom_init($cleanroom_name); CALL samooha_by_snowflake_local_db.provider.link_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0'); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.add_consumers($cleanroom_name, $consumer_locator, $consumer_account_name); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.create_or_update_cleanroom_listing($cleanroom_name);コンシューマー: コンシューマーはclean roomをインストールし、クロスリージョンclean roomの全機能をセットアップします。
-- Async request to set up Cross-Cloud Auto-Fulfillment. -- This must be done before installing the clean room. -- Continue calling until it returns status FULFILLED. This can take 10 minutes. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.request_laf_cleanroom( $cleanroom_name,$provider_locator); -- Consumer can now install and use the clean room in a limited fashion. -- However, if they want full functionality they must take the following steps. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.install_cleanroom( $cleanroom_name, $provider_locator); -- Set up cross-region sharing. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.setup_cleanroom_request_share_for_laf( $cleanroom_name, $provider_data_sharing_account_locator); -- Continue with clean room configuration, but don't use full functionality until -- the provider has completed the next section.プロバイダー: コンシューマーがclean roomのクロスリージョン機能をセットした後、プロバイダーの側でそれをセットする必要があります。
USE ROLE SAMOOHA_APP_ROLE; -- Call request_laf_cleanroom_requests until it reports the status as FULFILLED, -- then call mount_laf_cleanroom_requests_share. These steps can take 10 minutes -- or more to complete. CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests( $cleanroom_name, $consumer_locator); CALL samooha_by_snowflake_local_db.provider.mount_laf_cleanroom_requests_share( $cleanroom_name, $consumer_locator);すべての機能が使用可能になります。
クロスリージョンコラボレーションに関連するコスト¶
コラボレーターが別のリージョンにいる場合、追加費用が発生します。これらのコストがどのように発生するかについて詳しくは、 自動フルフィルメントコスト をご覧ください。
クロスリージョンコラボレーションの制限¶
クロスリージョンのコラボレーションには、以下のような制約があります:
コラボレーターは、同じウェブアプリのホスティング地域を共有する必要があります。例えば、あるアカウントのウェブアプリのホスティングリージョンがAmazon Web Servicesの場合: US東(ノースバージニア)で、別のアカウントのウェブホスティングリージョンがAmazon Web Services: アジア太平洋地域(ムンバイ)である場合、2人のSnowflake顧客はコラボレーションできません。2人のコラボレーターが同じウェブアプリのホスティングリージョンを共有しているかどうかを判断するには、 ウェブアプリのホスティング をご参照ください。
プロバイダーは、クリーンルーム内で差分プライバシーを使用することはできません。
クリーンルーム内では、外部テーブルとIcebergテーブルをリンクすることはできません。
コンシューマーが複数プロバイダーの分析を実行することはできません。
コラボレーターが、マスキングポリシーや行アクセスポリシーを使用することはできません。