Snowflake Data Clean Rooms 에서 클라우드 간 자동 복제 관리하기¶
클라우드 간 자동 복제 정보¶
기본 Clean Room 환경에서는 동일한 클라우드 리전에 있는 계정과만 Clean Room을 공유할 수 있습니다. 즉, 공급자와 컨슈머는 동일한 클라우드 리전에 있어야 합니다.
계정이 내 계정과 다른 리전에 있는 공동 작업자와 공동 작업하려면 이 페이지에 표시된 대로 Clean Room 환경과 Clean Room에 대해 클라우드 간 자동 복제 를 활성화해야 합니다.
SELECT CURRENT_REGION();
을 실행하여 자체 클라우드 리전을 확인할 수 있습니다.
클라우드 간 자동 복제 활성화하기¶
API 또는 UI를 사용하여 클라우드 간 자동 복제를 활성화할 수 있습니다. 그러나 :ref:`리전 간 협업에 대한 제한 사항<label-dcr_LAF_limitations>`을 참고하세요.
전제 조건¶
계정에 대해 클라우드 간 자동 복제를 활성화하려면 조직 관리자가 먼저 :doc:`/sql-reference/functions/system_enable_global_data_sharing_for_account`를 호출하여 계정에서 이를 활성화해야 합니다. 이는 공급자와 컨슈머 모두를 위한 것입니다.
자동 복제 및 :doc:`자동 복제 권한 관리</collaboration/provider-listings-auto-fulfillment-manage-privileges>`에 대해 자세히 알아보세요.
UI에서 클라우드 간 자동 복제 활성화¶
클린룸 관리자는 다음 단계에 따라 모든 신규 및 기존 클린룸에 대해 계정 수준에서 클라우드 간 자동 복제를 활성화합니다.
API에서 클라우드 간 자동 복제 활성화¶
UI에서 클라우드 간 자동 복제를 이미 활성화한 경우에도 다음 지침에 따라 API에 클린룸을 만들거나 설치하세요.
계정 관리자¶
API를 사용하여 계정에 대해 클라우드 간 자동 복제를 활성화하려면 공급자 계정과 컨슈머 계정 모두의 관리자는 ACCOUNTADMIN 역할을 사용하여 다음 예제 코드를 실행해야 합니다. 이 작업은 계정당 한 번만 실행해야 합니다.
USE ROLE ACCOUNTADMIN;
-- Optionally check first to see if cross-cloud is enabled on the account.
CALL samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
-- If not, enable it.
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
공급자 및 컨슈머¶
계정에 대해 클라우드 간 자동 복제가 활성화된 후 클린룸을 만들거나 설치할 때 클라우드 간 자동 복제를 활성화하는 방법은 다음과 같습니다.
**공급자**는 ``provider.create_or_update_cleanroom_listing``을 호출하여 일반적인 방식으로 클린룸을 게시합니다.
컨슈머 는 ``consumer.install_cleanroom``을 호출하여 클린룸을 설치합니다. 컨슈머가 공급자와 다른 클라우드 리전에 있는 경우, ``consumer.install_cleanroom``이 클라우드 간 자동 복제의 복제가 설치되고 있다는 메시지와 함께 실패합니다.
**컨슈머**는 성공을 반환할 때까지 ``consumer.install_cleanroom``을 계속 호출합니다. 설치에는 몇 분이 걸립니다.
이 시점에서 컨슈머는 기본적인 클린룸 기능을 갖습니다. 컨슈머가 클라이언트 템플릿 요청, 공급자 실행 분석, 공급자 활성화에 대한 지원을 원하는 경우 다음 추가 단계를 따르세요.
전체 설정 코드 예:
공급자: 공급자는 표준 방식으로 Clean Room을 생성, 공유 및 게시합니다.
USE WAREHOUSE APP_WH; USE ROLE SAMOOHA_APP_ROLE; SET cleanroom_name = 'LAF example'; SET consumer_locator = '<CONSUMER_LOCATOR>'; SET consumer_account_name = '<CONSUMER_DATA_SHARING_ACCOUNT_ID>'; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.cleanroom_init($cleanroom_name); 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);
컨슈머: 컨슈머가 클린룸을 설치합니다.
USE WAREHOUSE APP_WH; USE ROLE samooha_app_role; SET cleanroom_name = 'LAF example'; SET provider_locator = '<PROVIDER_LOCATOR>'; -- Initial call starts the process and returns a cross-cloud/region replication failure. -- Continue to call this procedure until it returns a success message. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.install_cleanroom( $cleanroom_name, $provider_locator); -- Continue with standard clean room configuration and use. -- Consumer can run analyses, but requests to submit a template aren't -- supported until the provider calls ``provider.mount_request_logs_for_all_consumers``. ...
공급자: 컨슈머가 클린룸을 설치한 후 공급자는 공급자와 컨슈머 사이에서 요청 기반 작업을 활성화하려는 경우 요청 공유를 마운트해야 합니다. 요청 기반 작업에는 분석을 실행하라는 공급자 요청과 클린룸에 템플릿을 추가하라는 컨슈머 요청이 포함됩니다.
-- Call mount_request_logs_for_all_consumers until it reports success. provider.mount_request_logs_for_all_consumers($cleanroom_name);
이제 전체 공급자/컨슈머 기능을 사용할 수 있습니다.
리전 간 계정의 새로 고침 빈도¶
서로 다른 클라우드 리전에 있을 때 공급자와 컨슈머 간의 요청 및 데이터에는 복제 빈도 설정이 적용됩니다.
공급자에서 컨슈머로의 요청 및 데이터
공급자가 컨슈머로 보내는 모든 데이터와 요청은 계정 새로 고침 빈도(기본적으로 24시간마다)에 따라 새로 고쳐집니다. 여기에는 클린룸 생성 또는 업데이트, 공급자 데이터 변경, 권한 요청(예: 공급자 실행 분석), 요청 승인(예: 컨슈머 템플릿)이 포함됩니다.
공급자에서 컨슈머로의 요청 빈도는 :ref:`계정의 복제 새로 고침 일정<label-listing_auto_fulfillment_replication_refresh_schedule>`에 의해 제어됩니다.
컨슈머에서 공급자로의 요청 및 데이터
다음 테이블은 컨슈머에서 공급자로의 데이터 및 요청에 대한 새로 고침 빈도를 보여줍니다.
데이터 |
새로 고침 빈도 |
---|---|
다음과 같은 요청, 승인, 변경 사항:
|
|
공급자 활성화 데이터: |
|
다음과 같은 공급자 클린룸 데이터:
|
|
컨슈머-공급자 요청 및 데이터에 대한 :doc:`새로 고침 빈도를 변경</collaboration/provider-listings-auto-fulfillment-update-refresh-frequency>`할 수 있습니다.
리전 간 공동 작업과 관련된 비용¶
다른 리전에 있는 공동 작업자의 경우 추가 비용이 발생합니다. 이러한 비용이 발생하는 방식에 대한 자세한 내용은 자동 복제 비용 섹션을 참조하십시오.
리전 간 공동 작업에 대한 제한 사항¶
리전 간 협업에는 다음과 같은 제한이 있습니다.
클린룸 UI 사용 시, 공동 작업자는 동일한 UI 호스팅 리전<label-web_app_hosting>`을 공유해야 합니다. 예를 들어, 한 계정의 UI 호스트 리전은 “Amazon Web Services: US 동부(북부 버지니아)”이고 다른 계정의 UI 호스트 리전이 “Amazon Web Services: 아시아 태평양(뭄바이)”인 경우 이러한 계정은 UI에서 공동 작업할 수 없습니다. 그러나 이 페이지에 설명된 대로 계정과 클린룸 모두 클라우드 간 자동 복제에 대해 구성된 경우 API를 사용하여 공동 작업:emph:`할 수 있습니다.
공급자는 클린룸에서 차등 개인정보 보호를 사용할 수 없습니다.
공동 작업자는 클린룸의 외부 테이블과 Iceberg 테이블을 연결할 수 없습니다.
컨슈머는 여러 공급자에 대한 분석을 실행할 수 없습니다.
공동 작업자는 마스킹 정책이나 행 액세스 정책을 사용할 수 없습니다.