クロスクラウド自動複製の構成

リストに関連付けられたデータ製品を他のSnowflakeリージョンに自動で複製する場合は、クロスクラウドの自動複製を構成します。

このトピックの内容:

リストの自動複製が有効になっている場合、Snowflakeは必要に応じてデータ製品をコンシューマーのリージョンに自動で複製します。データ製品とは、リストに関連付けられる共有またはアプリケーションパッケージのことです。

自動複製を使用すると、データ製品を手動で複製したり、リストのリクエストを承認したりする必要がなくなり、コンシューマーはリストにすばやくアクセスできるようになります。

注釈

自動複製は、Snowflake U.S.では現在サポートされていません政府リージョン(AWS GovCloud など).

クロスクラウド自動複製について

クロスクラウド自動複製を使用すると、手動でデータを複製することなく、リストで選択した可用性とアクセスオプションに基づいて、サポートされている任意のSnowflakeリージョンでデータ製品を提供できます。

リストがドラフトまたは公開状態の場合は、自動複製を構成して有効にすることができます。リストの自動複製が有効になっている場合、Snowflakeは必要に応じて製品をコンシューマーリージョンに自動で複製します。

データ製品を他のリージョンで使用できるようにする方法は、データ製品とコンシューマーがリストにアクセスする方法に応じて異なります。

  • データ製品がアプリケーションパッケージの場合は、自動複製を使用してデータ製品を他のリージョンで使用できるようにします。

  • データ製品が共有の場合は、ほとんどのケースで自動複製を使用します。

    • Snowflake Marketplace の無料または限定トライアルリストでは、クロスクラウド自動複製を使用するか、 データを手動で複製 できます。

    • 有料リストの場合は、自動複製を使用します。

    • 特定のコンシューマーアカウントと共有されるすべてのリストの場合、 Snowsight はターゲットアカウントが別のリージョンにあるかどうかを自動的に検出し、自動複製を有効にします。プライベートリストを他のリージョンに手動で複製することはできません。

データ製品を他のリージョンで利用できるようにする場合は、追加コストが発生します。 クロスクラウドの自動複製コストの管理 をご参照ください。

クロスクラウド自動複製の仕組み

リストに対してクロスクラウド自動複製を設定すると、Snowflakeは安全な共有領域のプロビジョニングとリモートリージョンへのデータ製品の複製を管理します。データ製品がすでにリモートリージョンに存在する場合、そのリージョンのコンシューマーは即座にデータ製品を入手できます。

リストには、共有またはアプリケーションパッケージのいずれかのデータ製品が関連付けられており、データ製品には1つまたは複数のデータベースからのオブジェクトと、アプリケーションパッケージのアプリケーションロジックが含まれています。

  • データ製品が共有の場合、データ製品内のオブジェクトを含むデータベース全体が他のリージョンに自動複製されます。

  • データ製品がアプリケーションパッケージの場合、アプリケーションパッケージ内のオブジェクトとロジック、およびアプリケーションパッケージによって参照されるオブジェクトは、他のリージョンに自動複製されます。

データ製品がリモートリージョンに自動複製されるタイミングは、リストを使用可能にする方法に応じて異なります。

  • プライベートリストを共有すると、指定されたコンシューマーがリストを取得した後にデータベースが自動複製されます。

  • Snowflake Marketplace にリストを提供すると、特定のリージョンのコンシューマーがリストを取得した後に、そのリージョンにデータベースが自動複製されます。

データ製品が新しいリージョンに初めて自動複製されると、データベース(共有の場合)またはデータコンテンツとアプリケーションロジック(アプリケーションパッケージの場合)が、そのリージョンの安全な共有領域に複製されます。安全な共有領域はSnowflakeによって管理されています。複数のリストで同じデータベースを使用できますが、データベースは新しいリージョンに1回だけ複製されます。

リージョンの安全な共有領域にデータ製品を最初に複製した後、構成された更新頻度に基づいて、データ製品の変更がアカウントから同期されます。

  • データ製品が共有の場合、 クロスクラウド自動複製を構成する ときに更新頻度を設定します。各リストには独自の更新頻度があり、更新の日時は、リージョンの最初のコンシューマーがデータ製品をリクエストした時期に応じて異なります。

  • データ製品がアプリケーションパッケージの場合は、アカウントレベルで更新頻度を設定し、アカウントから提供するすべてのアプリケーションパッケージにその更新頻度が適用されます。

リージョンに対してデータベースのクロスクラウド自動複製が発生した後、データベースオブジェクトに対する今後のリクエストは、他のリストに関連付けられているものであっても、安全な共有領域内のデータベースから実行されます。これにより、将来の更新と複製のコストを低減できます。コストの詳細については、 クロスクラウドの自動複製コストの管理 をご参照ください。

自動複製に関する考慮事項

リストに自動複製を使用する場合は、以下を考慮します。

  • AWS Marketplace、 GCP Marketplace、またはAzure Marketplaceを使用してSnowflakeにサインアップした場合は、そのようなクラウドでのみアカウントを作成して共有領域を確保できます。現在のクラウドサービスリージョン外にリストを複製することはできません。

  • 複製されるデータ製品のサイズによっては、データ製品をコンシューマーに提供するまでに時間のかかる場合があります。データ製品のサイズも自動複製のコストに影響を与える可能性があります。コストの詳細については、 クロスクラウドの自動複製コストの管理 をご参照ください。

  • Tri-Secret Secure をサポートしていないリモートリージョンにいるコンシューマーにデータ製品を複製するため使用した、セキュア共有領域。

  • データ交換では、リストの自動複製を使用することはできません。データ交換のためにデータを他のリージョンに複製するには、 リージョンとクラウドプラットフォーム間におけるデータの安全な共有 をご参照ください。

注釈

自動複製は、複製されるデータベースのサイズに 10TB の制限を適用します。リストに共有を添付すると、 Snowsight はデータベースのサイズをチェックし、複製されるデータのサイズが 10TB より大きい場合はエラーを返します。 クロスクラウド自動複製のトラブルシューティング をご参照ください。

リストを自動で処理する場合、ソースデータが 10TB より大きいと、コンシューマーはエラーを受信します。

コストへの影響を評価した後、 Snowflakeサポート に連絡し、パラメーターを使用して安全な共有領域のサイズ制限を増やすことができます。 INITIAL_REPLICATION_SIZE_LIMIT_IN_TB をご参照ください。

自動複製がサポートされているオブジェクト

特定のデータベースオブジェクトのみ、自動複製がサポートされています。共有またはアプリケーションパッケージに含まれる、または参照されるデータベースには、自動複製がサポートされているオブジェクトのみが含まれている必要があります。

データ製品に応じてサポートされているオブジェクトは異なります。

オブジェクト

共有(データベース)

アプリケーションパッケージ

テーブル

ビュー

マテリアライズドビュー

REFERENCE_USAGE 権限を使用して他のデータベースに格納されているデータを参照するセキュアビュー。

動的テーブル

✔ (アプリケーションパッケージからのみ)

データベースロール

SQL UDF

✔ (参照されるデータベースの共有ビューから呼び出される場合)

ストアドプロシージャ

マスキングポリシーおよび行アクセスポリシー

タグ

タスク(共有では使用しない)

アラート(共有では使用しない)

シークレット(共有では使用しない)

このリストのオブジェクトがフェールオーバーグループの一部として指定されている場合、自動複製はサポートされていません。 複製とフェールオーバーの概要 をご参照ください。

サポートされているオブジェクトのリストにないオブジェクトがデータ製品に含まれている場合は、データ製品を更新するか、データを手動で複製する必要があります。 リストのリクエストに対応するために手動でデータを複製します をご参照ください。

Virtual Private Snowflake(VPS)での自動複製のサポート

デフォルトでは、 VPS は VPS 外でのデータ共有を許可しません。VPS の顧客は、組織内のすべてのアカウントを有効にして、 VPS アカウントで共有される リスト などのデータ共有やコラボレーションを使用して VPS 以外の顧客からデータ製品を受信できるようにすることを選択できます。

VPS の顧客の自動複製が有効になっていると、 VPS の顧客の組織内にあるすべてのアカウントが、 VPS の顧客によって指定された VPS の顧客以外によるデータ共有の対象になる場合があります。VPS の顧客は、自動複製を使用して、他の VPS の顧客または VPS の顧客以外にデータ共有経由でデータを送信することは許可されていません。

VPS 以外の顧客からデータの受信を開始するには、 Snowflake Support にお問い合わせください。詳細については、 使用する VPS にプライベートリストを共有できるようにプロバイダーを許可する をご参照ください。

自動複製の設定

リストを構成して、ローカルリージョン以外で利用できるようにする場合や、プライベートリストを別のリージョンのコンシューマーアカウントと共有する場合は、自動複製を有効にすることができます。 利用可能なリージョン(Marketplaceリストのみ) をご参照ください。

自動複製を設定する前に、データ製品をリストに追加する必要があります。自動複製を設定するステップは、提供するデータ製品やリストを使用可能にする方法に応じて異なります。

必要な権限

自動複製タスクを実行するには、次のいずれかのロールを使用する必要があります。

使用するロールは、リストで OWNERSHIP または MODIFY 権限も持っている必要があります。

Snowflake Marketplace で共有される安全な共有データ製品の自動複製の設定

データ製品が、リストを使用して Snowflake Marketplace に公開する安全な共有の場合は、次のステップに従って自動複製を設定します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Provider Studio » Listings を選択します。

  3. 自動複製を設定するリストを選択します。

  4. Region Availability » Edit を選択します。

  5. Region availability については、ご希望の可用性を選択します。

    • デフォルトでは、 All regions が選択されています。すべてのリージョンを選択すると、Snowflakeによって今後追加されるリージョンのリストを利用できます。

    • 有料リストの場合は、デフォルトで Custom regions が選択されています。有料リストは、 サポートされたリージョン およびSnowflakeにより今後サポートされたリージョンとして追加されるリージョンでのみ利用可能です。

    • リストに特定のリージョン制限がある場合は、使用可能なリージョンを Custom regions に変更し、データ製品を提供するリージョンを選択します。

      カスタムリージョンを選択すると、現在のすべての Snowflake Marketplace リージョンでリストが表示されますが、コンシューマーは指定したリージョンでのみデータ製品を取得できます。新しいリージョンでは、自動的にリストは使用可能になりません。

  6. Fulfillment method では、 Automatic 複製がデフォルトの選択となります。クロスクラウドの自動複製を使用すると、データ製品は自動的にリージョンに複製され、そのリージョンでコンシューマーの需要がある場合にのみコストが発生します。

    自動複製を使用できず、オプションを使用できる場合は、 Manual を選択してデータ製品を手動で複製します。 リストのリクエストに対応するために手動でデータを複製します をご参照ください。

  7. 自動複製で Automatic を選択した場合:

    1. ドロップダウンリストから更新頻度を選択し、値を入力します。少なくとも8日間の更新頻度を選択する必要があります。

    2. デフォルトのウェアハウスが設定されていない場合は、自動複製に使用するウェアハウスを選択します。

    3. データ製品をリストに追加すると、Snowflakeは互換性チェックを実行し、データ製品が他のリージョンに自動提供できることを検証します。チェックの結果、互換性がない場合は、データ製品を更新する必要があります。 クロスクラウド自動複製のトラブルシューティング をご参照ください。

    4. Save and Enable Fulfillment を選択します。

      リストの自動複製が有効になります。リストに関連付けられたデータ製品は、リストが公開され、コンシューマーがデータ製品をリクエストするまで、どのリージョンにも複製されません。 クロスクラウド自動複製の仕組み をご参照ください。

  8. リストを手動で複製することを選択した場合は、 Save を選択します。リストを公開する前に、選択した利用可能な各リージョンにデータを複製する必要があります。 リストのリクエストに対応するために手動でデータを複製します をご参照ください。

Snowflake Marketplace で共有されるアプリケーションパッケージデータ製品の自動複製の設定

データ製品がリスト付きで Snowflake Marketplace に公開するアプリケーションパッケージである場合は、次のステップに従って自動複製を設定します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Provider Studio » Listings を選択します。

  3. 自動複製を設定するリストを選択します。

  4. Region Availability » Edit を選択します。

  5. Region availability については、ご希望の可用性を選択します。

    • デフォルトでは、 All regions が選択されています。すべてのリージョンを選択すると、Snowflakeによって今後追加されるリージョンのリストを利用できます。

    • 有料リストの場合は、デフォルトで Custom regions が選択されています。有料リストは、 サポートされたリージョン およびSnowflakeにより今後サポートされたリージョンとして追加されるリージョンでのみ利用可能です。

    • リストに特定のリージョン制限がある場合は、使用可能なリージョンを Custom regions に変更し、データ製品を提供するリージョンを選択します。

      カスタムリージョンを選択すると、現在のすべての Snowflake Marketplace リージョンでリストが表示されますが、コンシューマーは指定したリージョンでのみデータ製品を取得できます。また、リストは新しいリージョンでも自動的に利用可能になることはありません。

  6. アカウントレベルで構成された更新頻度を確認します。別の更新頻度を使用する必要がある場合は、 アカウントレベルの更新頻度の設定 をご参照ください。

  7. デフォルトのウェアハウスが設定されていない場合は、自動複製に使用するウェアハウスを選択します。

  8. Save and Enable Fulfillment を選択します。

    リストの自動複製が有効になります。リストに関連付けられたデータ製品は、リストが公開され、コンシューマーがデータ製品をリクエストするまで、どのリージョンにも複製されません。 クロスクラウド自動複製の仕組み をご参照ください。

自動複製設定のモニターおよび管理

リストを管理して、コンシューマーがリストを使用しているリージョンや複製のコストをモニターし、リストの更新頻度を変更します。

注釈

自動複製を構成するには、 必要な権限 を持つロールを使用する必要があります。

その他の自動複製設定の管理

リストの自動複製設定を管理またはモニターするには、次を実行します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Provider Studio » Listings を選択します。

  3. 管理するリストの行を選択します。

  4. リスト詳細ページから、自動複製設定にアクセスします。

    1. Snowflake Marketplace で提供されるリストについては、 Region Availability のセクションで、 Manage を選択します。

    2. 特定のコンシューマーに提供されるリストについては、 Consumer Accounts のセクションで、 ... を選択します。

  5. リストで管理するオプションを選択します。

    • Manage Regions & Replication を選択し、リストが複製されるリージョンと自動複製のステータスを確認します。特定リージョンの可用性を追加または削除したり、複製ステータスを確認したりできます。

      リージョンを選択して、最後の同期のタイムスタンプと、データにアクセスしているコンシューマーの人数を確認します。

      あるリージョンでリストの製品にアクセスしたコンシューマーがいない場合は、 Remove Region を選択できます。

      あるリージョンでコンシューマーがリストの製品にアクセスした場合は、そのリージョンを削除することはできません。そのリージョンからデータ製品を削除する場合は、製品を使用しているすべてのコンシューマーが最初にデータベースまたはアプリケーションをドロップするか、リストを削除する必要があります。

    • データ製品の更新間隔と更新頻度を更新するには、 Update Refresh Frequency を選択します。

      アプリケーションパッケージの更新頻度は、アカウントレベルで設定する必要があります。 アカウントレベルの更新頻度の設定 をご参照ください。

      共有の更新頻度はリストレベルで設定されますが、指定できるスケジュールはデータベースごとに1つのみです。同じデータベースのオブジェクトを含む複数のリストに複数の共有が関連付けられている場合、いずれかのリストの更新頻度を更新すると、同じデータベースを使用する他のすべてのリストの更新頻度も更新されます。

      更新が発生するタイミングを管理することはできません。代わりに、リージョンのデータ製品の更新スケジュールは、そのリージョンのコンシューマーがデータ製品を最初にリクエストした日付と時刻に基づきます。

    • Monitor Replication Cost を選択し、他のリージョンへのデータ製品複製に関連するコストをモニターします。 クロスクラウドの自動複製コストの管理 をご参照ください。

リストの変更の詳細については、 公開リストの変更 をご参照ください。

アカウントレベルの更新頻度の設定

データ製品がリモートリージョンに自動複製されるアプリケーションパッケージの場合、アカウントレベルで設定した更新頻度に従って製品の更新が実行されます。

ACCOUNTADMIN ロールがある場合、 Snowsight または SQL コマンドを使用して、アカウントの更新頻度を変更できます。更新頻度を変更すると、アカウントで公開されているすべてのアプリケーションパッケージの自動複製の更新頻度が更新されます。この更新頻度は、共有が関連付けられたリストには影響しません。

Snowsightを使用した更新頻度の設定

Snowsight を使用してアプリケーションの更新頻度を設定するには、 ACCOUNTADMIN ロールを使用して以下のステップを完了する必要があります。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Provider Studio » Listings を選択します。

  3. 管理するリストの行を選択します。

  4. リスト詳細ページから、自動複製設定にアクセスします。

    1. Snowflake Marketplace で提供されるリストについては、 Region Availability のセクションで、 Manage を選択します。

    2. 特定のコンシューマーに提供されるリストについては、 Consumer Accounts のセクションで、 ... を選択します。

  5. データ製品の更新間隔と更新頻度を更新するには、 Update Refresh Frequency を選択します。

  6. データ製品を更新する頻度を選択します(1分ごと、最大8日ごとなど)。

    選択した更新頻度は、アカウントで公開されているすべてのアプリケーションパッケージに影響します。変更を行う前に、更新頻度の変更によって影響を受けるすべてのリストを表示できます。

    更新頻度は指定できますが、あるリージョンで更新が発生する予定時刻は、そのリージョンのコンシューマーがあなたのデータ製品を最初にリクエストした日付と時刻に基づいています。

  7. 更新された更新頻度を保存するには Update を選択します。

SQL を使用した更新頻度の設定

SQL を使用してアプリケーションの更新頻度を設定するには、 ACCOUNTADMIN ロールを使用して次のコマンドを実行する必要があります。

ALTER ACCOUNT SET LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE = '<schedule>'
Copy

条件:

schedule:

データ製品を他のリージョンに更新する時間間隔。時間を分単位で指定します(単位: MINUTES)。

たとえば、アカウントから公開されるすべてのアプリケーションパッケージの自動複製の更新頻度を1時間ごとに設定するには、次を実行します。

ALTER ACCOUNT SET LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE = '60 MINUTES'
Copy

注釈

リージョンのデータ製品の更新スケジュールは、そのリージョンのコンシューマーがデータ製品を最初にリクエストした日付と時刻に基づきます。

アカウントがクロスクラウドの自動複製を設定できるようにする

アカウントの組織の管理者(つまり、 ORGADMIN ロールを使用している場合)は、組織内にあるアカウントの ACCOUNTADMIN ロールに、クロスクラウド自動複製の設定に必要な権限を委任できます。

ACCOUNTADMIN ロールに権限を委任した後、 ACCOUNTADMIN ロールはアカウント内の他のロールに MANAGE LISTING AUTOFULFILLMENT 権限を付与できます。 リストのプロバイダーになる をご参照ください。

権限を委任したり、権限を取り消したり、権限が特定のアカウントに委任されているかどうかを判断したりできます。権限は、組織内にある他のアカウントにのみ委任できます。

クロスクラウドの自動複製を設定する権限を委任する

ACCOUNTADMIN ロールを持つユーザーがクロスクラウド自動複製を設定できるようにするには、 SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT という名前のシステム関数を呼び出します。このシステム関数の引数を次に示します。

このシステム関数を呼び出すには、 ORGADMIN ロールが必要です。

SELECT SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT(
  '<account_name>'
  );
Copy

条件:

account_name

ACCOUNTADMIN ロールを持つユーザーがクロスクラウドの自動複製を管理できるようにするアカウントの名前を指定します。 アカウント識別子 をご参照ください。

クロスクラウドの自動複製を設定する権限を取り消す

ACCOUNTADMIN ロールを持つユーザーがクロスクラウド自動複製を設定できないようにするには、 SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT という名前のシステム関数を呼び出します。このシステム関数の引数を次に示します。

このシステム関数を呼び出すには、 ORGADMIN ロールが必要です。

SELECT SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT(
  '<account_name>'
  );
Copy

条件:

account_name

ACCOUNTADMIN ロールを持つユーザーがクロスクラウドの自動複製を管理できないようにするアカウントの名前を指定します。 アカウント識別子 をご参照ください。

アカウントがクロスクラウドの自動複製を設定できるかどうかを確認する

特定のアカウントで ACCOUNTADMIN ロールを持つユーザーがクロスクラウドの自動複製を設定できるかどうかを判断するには、 SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT という名前のシステム関数を呼び出します。このシステム関数の引数を次に示します。

このシステム関数を呼び出すには、 ORGADMIN ロールが必要です。

SELECT SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT(
  '<account_name>'
  );
Copy

条件:

account_name

ACCOUNTADMIN ロールを持つユーザーがクロスクラウドの自動複製を管理できるかどうかを確認するアカウントの名前を指定します。 アカウント識別子 をご参照ください。