Managing Cross-Cloud Auto-fulfillment costs

As a provider, you can enable Cross-Cloud Auto-fulfillment for a listing to automatically replicate your data product to other Snowflake regions.

When you configure Cross-Cloud Auto-fulfillment for your listing, you don’t have to manage replicating the data. However, you still incur costs associated with replicating and storing your data product in other Snowflake regions to support consumers of your listing.

Unlike traditional manual database replication, Cross-Cloud Auto-fulfillment does not require a separate account in each region that you support. Instead, Snowflake creates one Secure Share Area for an organization to manage listing fulfillment to a region and associates billing costs with that area. Because of that, the costs associated with Cross-Cloud Auto-fulfillment are attributed differently when compared to manual database replication costs.

About cross-cloud auto-fulfillment

Your listing contains a share. The share contains objects from one or more databases. When you enable Cross-Cloud Auto-fulfillment, the entire database that contains the objects in the share gets replicated to the region.

  • When you share a private listing, the databases are replicated after the specified consumers get your listing.

  • When you offer a listing on the Snowflake Marketplace, the databases are replicated after a consumer in a specific region requests your listing.

When database replication for a listing occurs for a new region, the data is transferred once to a Secure Share Area in that region. After the initial replication of the database to the Secure Share Area in a region, changes to the database are synced from your account according to the refresh frequency that you specify when you configure Cross-Cloud Auto-fulfillment.

Multiple listings can use the same database, but the database is only replicated once to a new region. After Cross-Cloud Auto-fulfillment of a database occurs for a region, future requests made to database objects, even those associated with other listings, are fulfilled from the database in the Secure Share Area. This keeps future refresh and replication costs lower.

Understanding cross-cloud auto-fulfillment costs

Cross-Cloud Auto-fulfillment incurs usage costs in the same way that regular usage of Snowflake does:

Compute Resources

Replication operations use compute resources to copy data and manage the status of the data in the Secure Share Areas in other regions.

Storage Resources

Databases replicated to Secure Share Areas in other regions incur storage costs.

Data Transfer Resources

The initial database replication and subsequent synchronization operations transfer data between regions. Cloud providers charge for data transferred from one region to another within their own network or a region in another cloud.

The data transfer rate is determined by the location of the source account (i.e. the account that stores the primary database) and the destination region and cloud. For data transfer pricing, see the pricing guide (on the Snowflake website).

For more information about data transfer billing, refer to Understanding Data Transfer Cost.

When you use Cross-Cloud Auto-fulfillment, these usage costs are attributed to one Snowflake-managed Secure Share Area for each region in which you have consumers of your listings. Refer to Viewing actual costs for details about attributing costs. For details about the components of cost in Snowflake, refer to Understanding Overall Cost.

Estimating and controlling costs

When you configure auto-fulfillment for your listing, the following factors can affect the cost of fulfilling your listing to other regions:

Compute Resource Factors

Queries run by Snowflake to fulfill your listing contributes to compute resources. The refresh frequency that you set affects how frequently these queries run.

Storage Resource Factors

The size of the database, the rate at which data is appended and updated, and the rate of change in the database affect how much data is replicated and stored initially and continuously.

Data Transfer Resource Factors

The cloud region that the listing is replicated to, and the cloud provider of that region affect the cost of data transfer. The more regions that consumers request your listing in, the higher the cost to fulfill those listings, due to the data transfer cost. For data transfer pricing, see the pricing guide (on the Snowflake website).

If you want to minimize costs associated with auto-fulfillment, review the usage of your listings and learn more about preparing your data for auto-fulfillment:

Monitor Compute Resources

Identify the queries run by Snowflake and review the refresh frequency interval for your listings.

Refer to the LISTING_AUTO_FULFILLMENT_REFRESH_DAILY View to identify the listings and databases contributing to compute cost.

To identify the queries run by Snowflake to support auto-fulfillment, review the Query History and filter on Client generated statements. Refer to the Query History Page.

Review the refresh frequency interval that you set for the listing. Refer to Monitoring and managing auto-fulfillment settings.

Monitor Storage Resources

Determine what data to put in your listing and how to structure your data to minimize the amount that needs to be replicated. Refer to Preparing data for a listing. Cross-Cloud Auto-fulfillment does not support secure views that reference data stored in other databases.

Refer to the LISTING_AUTO_FULFILLMENT_DATABASE_STORAGE_DAILY View to identify listings and databases contributing to storage cost.

Monitor Data Transfer Resources

Identify the regions in which Secure Share Areas have been created. Run the SHOW REPLICATION ACCOUNTS command.

Viewing actual costs

You can use the ORGANIZATION_USAGE view or the Snowsight Usage dashboard to view costs associated with Cross-Cloud Auto-fulfillment and attribute costs associated with replicating listings to specific regions. Use the accounts prefixed with SNOWFLAKE_MANAGED$ and AUTO_FULFILLMENT_AREA$ to attribute cost to specific regions.

You must be an account administrator (use the ACCOUNTADMIN role) or use the ORGANIZATION_USAGE_VIEWER database role to view usage data for Snowflake.

To view actual costs in Snowsight, do the following:

  1. Sign into Snowsight.

  2. Select Admin » Usage.

  3. Select a warehouse to use to view the usage data.

  4. Using the accounts filter, select the accounts titled SNOWFLAKE_MANAGED$PUBLIC_<region_name> or AUTO_FULFILLMENT_AREA$-<region_name> to filter on the Secure Share Areas used by auto-fulfillment.

    For example, select SNOWFLAKE_MANAGED$PUBLIC_AWS_EU_WEST_2 to view the costs associated with using auto-fulfillment to replicate data to the AWS region eu_west_2.

  5. Use the filters to view all usage types, or focus on compute, storage, or data transfer costs.

The costs that you see reflect all listings shared to a particular region by any account in your organization. To identify which listings are being consumed in which regions and contributing to the costs in a specific region, refer to Monitoring usage of your listing.

To view actual costs using SQL, you can query the views in the ORGANIZATION_USAGE schema. For more details on viewing costs, refer to Exploring Overall Cost.