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 Rooms 계정 관리자는 UI 또는 API 에서 다음 단계를 수행하여 Clean Room 계정에 대해 클라우드 간 자동 복제를 사용하도록 설정해야 합니다.
Snowflake Data Clean Rooms 로그인 페이지 로 이동합니다.
이메일 주소를 입력하고 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: 아시아 태평양(뭄바이)인 경우 두 Snowflake 고객은 공동 작업할 수 없습니다. 두 공동 작업자가 동일한 웹 앱 호스팅 리전을 공유하는지 확인하려면 웹 앱 호스팅 섹션을 참조하십시오.
공급자는 클린룸에서 차등 개인정보 보호를 사용할 수 없습니다.
공동 작업자는 클린룸의 외부 테이블과 Iceberg 테이블을 연결할 수 없습니다.
컨슈머는 여러 공급자에 대한 분석을 실행할 수 없습니다.
공동 작업자는 마스킹 정책이나 행 액세스 정책을 사용할 수 없습니다.