Snowflake Data Clean Rooms 에서 클라우드 간 자동 복제 관리하기

클라우드 간 자동 복제 정보

기본 Clean Room 환경에서는 동일한 클라우드 리전에 있는 계정과만 Clean Room을 공유할 수 있습니다. 즉, 공급자와 컨슈머는 동일한 클라우드 리전에 있어야 합니다.

계정이 내 계정과 다른 리전에 있는 공동 작업자와 공동 작업하려면 이 페이지에 표시된 대로 Clean Room 환경과 Clean Room에 대해 클라우드 간 자동 복제 를 활성화해야 합니다.

SELECT CURRENT_REGION(); 을 실행하여 자체 클라우드 리전을 확인할 수 있습니다.

참고

클라우드 간 자동 복제는 *LAF*라고도 합니다. 이는 :doc:`목록 자동 복제</collaboration/provider-listings-auto-fulfillment>`의 약자입니다.

클라우드 간 자동 복제 활성화하기

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>`에 대해 자세히 알아보세요.

Enabling Cross-Cloud Auto-Fulfillment in the UI

클린룸 관리자는 다음 단계에 따라 모든 신규 및 기존 클린룸에 대해 계정 수준에서 클라우드 간 자동 복제를 활성화합니다.

  1. 관리자 계정으로 :ref:`클린룸 UI에 로그인<label-cleanroom_web_app_sign_in>`합니다.

  2. :ui:`Admin > Snowflake Admin`을 찾아봅니다.

  3. Cross-Cloud Auto-Fulfillment 을 사용으로 전환합니다.

  4. :emph:`UI에서 클린룸을 생성하거나 조인`하는 경우 공급자 또는 컨슈머가 추가 단계를 수행할 필요가 없습니다. 하지만 나중에 :emph:`API에서 클린룸을 생성하거나 조인`하는 경우 공급자와 컨슈머를 위한 API 지침을 따라야 합니다.

Enabling Cross-Cloud Auto-Fulfillment in the API

UI에서 클라우드 간 자동 복제를 이미 활성화한 경우에도 다음 지침에 따라 API에 클린룸을 만들거나 설치하세요.

Account administrator actions

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();
Copy

Provider and consumer actions

계정에 대해 클라우드 간 자동 복제가 활성화된 후 클린룸을 만들거나 설치할 때 클라우드 간 자동 복제를 활성화하는 방법은 다음과 같습니다.

  1. **공급자**는 ``provider.create_or_update_cleanroom_listing``을 호출하여 일반적인 방식으로 클린룸을 게시합니다.

  2. 컨슈머``consumer.install_cleanroom``을 호출하여 클린룸을 설치합니다. 컨슈머가 공급자와 다른 클라우드 리전에 있는 경우, ``consumer.install_cleanroom``이 클라우드 간 자동 복제의 복제가 설치되고 있다는 메시지와 함께 실패합니다.

  3. **컨슈머**는 성공을 반환할 때까지 ``consumer.install_cleanroom``을 계속 호출합니다. 설치에는 몇 분이 걸립니다.

    At this point, the consumer has basic clean room functionality. To support client custom template requests, provider-run analyses, and provider activation, follow this additional step:

  4. The provider calls provider.mount_request_logs_for_all_consumers until the procedure reports success to enable communication from the consumer to the provider.

전체 설정 코드 예:

  1. 공급자: 공급자는 표준 방식으로 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);
    
    Copy
  2. 컨슈머: 컨슈머가 클린룸을 설치합니다.

    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.
    -- The consumer can run analyses, but client custom templates, provider run, and provider analysis
    -- aren't supported until the provider takes the action shown in the next step.
    ...
    
    Copy
  3. Provider: After the consumer installs the clean room, the provider must mount the requests share to enable request-based actions between the provider and consumer. Request-based actions include provider requests to run an analysis and consumer requests to add a template to the clean room.

    -- Call mount_request_logs_for_all_consumers until it reports success.
    provider.mount_request_logs_for_all_consumers($cleanroom_name);
    
    Copy

    이제 전체 공급자/컨슈머 기능을 사용할 수 있습니다.

리전 간 계정의 새로 고침 빈도

서로 다른 클라우드 리전에 있을 때 공급자와 컨슈머 간의 요청 및 데이터에는 복제 빈도 설정이 적용됩니다.

공급자가 컨슈머에게 보내는 요청 및 데이터

여기에는 클린룸 생성 또는 업데이트, 공급자 데이터 변경, 권한 요청(예: 공급자 실행 분석), 요청 승인(예: 컨슈머 템플릿) 등과 같이 공급자가 컨슈머에게 보내는 모든 데이터와 요청이 포함됩니다.

:ref:`dcr_provider_set_laf_dcr_refresh_schedule`을 호출하여 공급자에서 컨슈머로의 새로 고침 빈도로 변경할 수 있습니다.

데이터

기본 새로 고침 빈도

다음과 같은 공급자 클린룸 데이터:

  • 공급자 데이터 세트

  • 공급자 실행 요청

  • 클린룸 정책

  • 공급자 클린룸 메타데이터

  • 2025년 7월 24일 이후에 생성된 클린룸: 30분.

  • 이전 클린룸: :ref:`계정의 복제 새로 고침 일정<label-listing_auto_fulfillment_replication_refresh_schedule>`(또는 설정되지 않은 경우 24시간)으로 기본 설정됩니다.

컨슈머가 공급자에게 보내는 요청 및 데이터

다음 테이블은 컨슈머가 공급자에게 보내는 데이터 및 요청에 대한 기본 새로 고침 빈도를 보여줍니다.

You can control the consumer to provider refresh rate for each clean room.

데이터

기본 새로 고침 빈도

다음과 같은 요청, 승인, 변경 사항:

  • 공급자에 대한 요청(예: 템플릿 추가 요청)

  • 공급자에 대한 승인(예: 공급자 실행 분석에 대한 승인)

  • 연결된 컨슈머 데이터에 대한 변경 사항.

  • Status and results for provider-run requests.

  • 2025년 7월 24일 이후에 생성된 클린룸: 10분

  • 이전 클린룸: 1시간

공급자 활성화 데이터:

  • 2025년 7월 24일 이후에 생성된 클린룸: 10분

  • 이전 클린룸: 15분

리전 간 공동 작업과 관련된 비용

다른 리전에 있는 공동 작업자의 경우 추가 비용이 발생합니다. 이러한 비용이 발생하는 방식에 대한 자세한 내용은 자동 복제 비용 섹션을 참조하십시오.

리전 간 공동 작업에 대한 제한 사항

리전 간 협업에는 다음과 같은 제한이 있습니다.

  • 클린룸 UI 사용 시, 공동 작업자는 동일한 UI 호스팅 리전<label-web_app_hosting>`을 공유해야 합니다. 예를 들어, 한 계정의 UI 호스트 리전은 “Amazon Web Services: US 동부(북부 버지니아)”이고 다른 계정의 UI 호스트 리전이 “Amazon Web Services: 아시아 태평양(뭄바이)”인 경우 이러한 계정은 UI에서 공동 작업할 수 없습니다. 그러나 이 페이지에 설명된 대로 계정과 클린룸 모두 클라우드 간 자동 복제에 대해 구성된 경우 API를 사용하여 공동 작업:emph:`할 수 있습니다.

  • 공급자는 클린룸에서 차등 개인정보 보호를 사용할 수 없습니다.

  • 공동 작업자는 클린룸의 외부 테이블과 Iceberg 테이블을 연결할 수 없습니다.

  • 컨슈머는 여러 공급자에 대한 분석을 실행할 수 없습니다.

  • 계정은 발생할 수 있는 복제 유형 충돌로 인해 클라우드 간 협업 시나리오에서 공급자와 컨슈머 역할을 모두 수행할 수는 없습니다.

  • 리전 간 협업 활성화 시 추가 고려 사항 섹션을 참조하세요.