ML 20472 1
Amazon Quick Sight is a core feature within Amazon Quick — an agentic, AI-powered digital workspace designed to maximize end-user productivity— that provides AI-powered BI capabilities through natural language queries, interactive dashboards, and embedded analytics from trusted enterprise data sources.
Amazon Quick Sight assets such as dashboards, analyses, datasets, and data sources can be backed up using the AssetsAsBundle APIs described in this post. A backup strategy helps protect against accidental deletions, unintended modifications, and regional disruptions. For teams that rely on Quick Sight to support critical business decisions, a well-designed backup plan is recommended.
This post is the first in a two-part series covering backup and restore for Amazon Quick Sight BI assets:
An effective backup strategy is especially critical for organizations in heavily regulated industries such as financial services, healthcare, and energy, for multiple reasons:
For more information about the disaster recovery capabilities of Quick, and how to assess them against organizational requirements, see the Amazon Quick disaster recovery and resiliency guide.
In this post, we cover best practices for implementing an effective backup strategy for BI assets in Quick Sight. We start by covering the options for selecting the assets to include in your backup, then explain the high-level APIs available for that purpose, and finalize with sample code to help you get started quickly.
BI systems present unique business continuity challenges because of their role in supporting decision-making processes and key stakeholders. You must protect them against service disruptions by implementing an effective backup plan. Before building this plan, it’s important to understand the architecture and the dimensions to consider as part of your DR plan.
The preceding diagram shows that Quick Sight relies on AWS’s global infrastructure across multiple AWS Regions to provide high availability for Quick Sight assets, including data sources, datasets, analyses, and dashboards.
The Super-fast, Parallel, In-memory Calculation Engine (SPICE) stores and encrypts imported data with high availability (HA) through redundant copies across multiple Availability Zones (AZs) within the Quick Sight Region.
With this regional design, you can maintain resources in multiple Regions and use a secondary Region in the unlikely event of a regional outage affecting your primary BI resources.
For user and identity management, Quick Sight uses a single Region that you define during the initial account subscription process. The diagram shows that this Region hosts user and group identity information and must be available for users to access Quick Sight.
For example, if a user wants to access a dashboard in the eu-west-1 Region but the Quick Sight main Region is us-east-1, both Regions must be available to finish the user access flow. Quick Sight uses regional architecture with AZs for redundancy. However, if your business needs protection against the unlikely event of a regional outage, you must design your disaster recovery (DR) strategy accordingly.
Tip: If you’re unsure of your Quick Sight main Region, you can retrieve this information by running the following command:
Note: This aws quicksight describe-account-settings command specifies us-east-1 as the endpoint Region. If you receive a 200 status, your identity Region is us-east-1. Otherwise, you receive an error like the following, which instructs you to point to your current identity Region (for example, eu-west-1):
With a clearer understanding of Quick Sight architecture, the next step is selecting the assets to include in your backup plan, for this you can follow two strategies:
This option is suitable when you define a backup or DR strategy focused on protecting critical assets for your business operations that you can conveniently restore after a disaster or accidental deletion. This includes specific dashboards (and their dependent assets) that key stakeholders use to make business decisions or that operating teams (finance, logistics, procurement, and so on) use to support continued business operation.
This option is recommended when you require a straightforward backup plan and when the BI assets that are key to business continuity are a subset of all the assets available in your Quick Sight instance.
This strategy is recommended when you want to define a backup strategy that covers both versioning and potential disaster recovery. By backing up all assets, you can perform in-place rollback of any asset to a previous state if a human error causes an unintended modification or deletion. Additionally, because you have a backup of all assets in your account, you can select specific assets to restore as part of your DR plan.
This approach gives you maximum coverage but also requires more complex orchestration and automation. This post focuses on this strategy and provides sample code that you can adapt to minimize time to production.
After you select your strategy, choose the type of BI assets to export. Quick Sight offers the following asset types:
All these assets have dependencies between each other, with analyses and dashboards at the top of this dependency chain, as the following diagram illustrates.
When you choose the asset types to back up, be aware of these dependencies so you can fully restore assets from the backup. For example, when you back up a dashboard, you also need to back up its dependencies, which might include datasets, data sources, VPC connections, and a theme. The next sections explain how Quick Sight export APIs handle these dependencies.
The mechanism we cover in this post uses the AssetsAsBundle APIs available in Quick Sight. AssetsAsBundle APIs (also referenced as AAB APIs) are a set of high-level APIs designed to support programmatic export and import of Quick Sight resources. They cover a range of use cases such as release management, backup and restore, cross-account migration, and continuous integration and continuous delivery (CI/CD) workflows.
This set of APIs includes the following operations:
DescribeAssetBundleExportJob to retrieve the DownloadUrl for the bundle, which is valid for 5 minutes. You can renew the URL with further calls to DescribeAssetBundleExportJob.AssetsAsBundle APIs support a list of Quick Sight assets including analyses, dashboards, data sources, datasets, shared folders, restricted folders, refresh schedules, themes, and VPC connections. However, some asset types have limitations.
Unsupported data sources: Adobe Analytics, File, GitHub, Jira, Salesforce, ServiceNow, Amazon S3 (with locally uploaded manifest files), and Twitter.
Unsupported datasets: Datasets that contain machine learning (ML) columns generated using inference through connected SageMaker ML models.
You must exclude these assets from your backup plan to avoid an InvalidParameterValueException error when you issue the StartAssetBundleExportJob operation.
To work around this, you can replace unsupported data sources and datasets by following these procedures.
For Amazon S3 data sources with local manifest files:
For other unsupported data sources and datasets:
Follow this procedure to transform your incompatible dataset into a compatible one:
Although Quick Sight resources are the key assets to back up, you need to include some additional resources and configurations in your backup plan for potential restore or disaster recovery situations.
You can export Quick Sight assets along with their permissions, including the users and groups that have access to them. You control this by setting the IncludePermissions flag to true.
Because each Quick Sight asset is owned by a user, you need to back up users and groups to have a full and restorable backup.
AssetsAsBundle APIs don’t cover users and groups, but you can use DescribeUser, DescribeGroup, and DescribeGroupMembership to include this information in the backup.
In addition to users and groups, consider backing up account settings such as account customization (the DescribeAccountCustomization API), customized brands (the DescribeBrand API), and folders (the ListFolders, DescribeFolder, and DescribeFolderPermissions APIs).
In this section, we cover how to create an automation that orchestrates the invocation of the Quick Sight APIs needed to perform an effective backup implementation. We provide sample code at the end of this section that implements both users and groups backup and Quick Sight assets backup.
The automation tool supports three modes of operation: user backup only, assets backup only, and both. This provides maximum flexibility when you perform your backup plan. The following diagram shows the flow that the tool follows depending on the selected operation mode.
The user and groups backup service uses the Quick Sight user and group APIs to read your account’s current state and store the retrieved user and group data in Amazon DynamoDB. The service uses date-based suffixes for DynamoDB table names to preserve historical backup data and prevent overwrites. This allows point-in-time recovery and backup history tracking. This design also simplifies restore operations because you don’t need to filter by date suffixes when you query data within a specific backup.
Example for a backup run on 2025-10-19:
Users Table Schema:
Groups Table Schema:
Users-Groups Membership Table Schema:
Note: The user and group backup service implements dual-Region support. User and group operations use the identity_region configuration parameter, while backup asset operations use the standard aws_region. This design addresses enterprise scenarios where Quick Sight identity management is configured in a different Region than asset storage.
The assets bundle backup service coordinates the export of assets within a Region and uploads the generated bundle to an Amazon S3 location for later use. The automation backs up the following assets: data sources, datasets, analyses, dashboards, and themes. By default, the backup includes all dependencies. You can disable this setting if needed.
At a high level, the service performs the following tasks:
FILE datasets by checking the ImportMode field.Note: The bundle number string is present only when the number of assets to back up exceeds the configured value in max_assets_per_bundle.
The QuickSight-backup tool provides a simple way to export all your Quick Sight assets and their dependencies into durable, inexpensive storage such as Amazon S3. The tool creates new prefixes for generated bundles, so previous backups aren’t overwritten. The tool also exports users and groups using the same principle: DynamoDB stores this data, and table names contain the date when the backup was generated. With this approach, you can use backups as a source for your recovery strategy and track the history of changes to your Quick Sight assets and associated users.
The code uses the Boto3 Python SDK and includes packaging support through setuptools for setup and use.
Before using the tool, make sure you meet the following prerequisites:
Clone from source
Create a Python venv (recommended)
Install the package
Create a configuration file
To get started, refer to the config-basic.yaml file in the repo or create one from scratch. This configuration file defines key parameters for the tool, including the following:
Using the tool
After installation, you can run the tool as follows:
You only need to provide the --config parameter. You can omit the rest. The --mode parameter controls the backup type (full, users-only, or assets-only), where full is the default mode. The following list describes the arguments the tool supports.
Optional arguments
--mode, -m: Backup mode (full, users-only, assets-only); default is full.--output-dir, -o: Output directory for reports and manifests.--verbose, -v: Enable verbose (DEBUG) logging.--log-file: Path to log file.--dry-run: Validate configuration without running the backup.--no-progress: Disable progress indicators.--generate-manifest: Generate a backup manifest file.--generate-report: Generate a human-readable backup report.--version: Show version information.For more information, see the tool README file.
You can find the code for this tool in the aws-samples repository. This tool helps you get started quickly. Use it as a foundational reference to refine and adapt for your specific backup requirements.
Before you implement a backup solution in your production environment, confirm that you:
The sample tool described in the previous section is designed for on-demand execution and is well suited for getting started or running ad-hoc backups. For a production-grade backup strategy, you might want to automate backup runs on a recurring schedule so that your Quick Sight assets are consistently protected without manual intervention.
This section outlines the high-level architecture for a scheduled, fully automated backup solution. Detailed implementation and code for this architecture are outside the scope of this post.
The scheduled execution architecture is built on three AWS managed services that work together to provide a reliable, serverless, and cost-effective automation pipeline:
Because the end-to-end backup process can take a significant amount of time, the automation is decomposed into discrete steps, each implemented by a dedicated Lambda function. AWS Step Functions orchestrates these functions in sequence, passing state between them and handling retries for transient failures. The workflow consists of the following steps:
The following diagram illustrates the high-level flow of the scheduled execution architecture.
DescribeAssetBundleExportJob API until the job reaches a terminal state (SUCCESSFUL or FAILED). The check-status Lambda function runs in a loop with a waiting condition (for example, 30 seconds) between calls.DescribeAssetBundleExportJob and StartAssetBundleExportJob APIs, which have low concurrent rate limits. You can use the inline map state MaxConcurrency field to limit the number of concurrent runs of the generate-bundle step.The following sections estimate the costs of running the backup tool on Amazon S3 (for asset bundles) and DynamoDB (for user and group metadata).
Asset bundles are compressed ZIP files uploaded to Amazon S3 after each export job. Based on the solution design, each bundle of up to 100 assets averages approximately 500 KB when compressed.
Key takeaway: Amazon S3 storage costs for asset bundles are minimal. Even for very large Quick Sight deployments with thousands of assets, the compressed bundle size remains in the low megabytes range, resulting in a monthly storage cost well below $0.01.
User and group information is stored in DynamoDB tables with date-based suffixes to preserve backup history. DynamoDB storage is priced at approximately $0.25 per GB per month (Standard table class, on-demand mode).
Each item stored in DynamoDB represents a single user or group definition (including all associated attributes such as ARN, email, role, group memberships, and backup timestamp). Based on the schema described in this post, the average item size is approximately 256 KB.
You can use this formula to estimate the size of your DynamoDB tables:
Table size estimate = Number of items × Average item size (256 KB)
Key takeaway: For small and medium organizations, DynamoDB storage costs remain minimal (under $0.10 per month per backup snapshot). For large organizations with tens of thousands of users, costs are still modest, in the low single-digit dollar range per snapshot.
For a single, unscheduled backup run, the total AWS cost is effectively near zero, dominated by a few cents of Amazon S3 and DynamoDB storage at most. If you implement scheduled backups (covered in the Scheduled execution section), costs scale linearly with backup frequency and retention period. Even with daily backups retained for 90 days, total storage costs remain in the low single-digit dollar range for most deployments. Consider using Amazon S3 Lifecycle policies and DynamoDB Standard-IA to optimize costs as your backup history grows.
In this post, we covered how to design and implement a comprehensive backup strategy for Amazon Quick Sight assets so you can maintain business continuity, meet regulatory requirements, and protect against data loss.
We covered how to use AssetsAsBundle APIs to programmatically export and preserve critical BI assets, including dashboards, analyses, datasets, and data sources, along with their dependencies and permissions. To help you get started, this post includes a sample automation tool that you can test and adapt to your organization’s needs. The code orchestrates these APIs, stores asset bundles in Amazon S3, and preserves user and group information in DynamoDB for point-in-time recovery.
Ready to protect your Quick Sight BI assets? Get started today by cloning the sample backup tool from the AWS Samples repository and testing it in your non-production environment. Begin with a simple configuration to back up your most critical dashboards, then expand to a production-ready backup strategy as you validate the process. To learn more about Amazon Quick Sight, see the Amazon Quick Sight User Guide.
MCP provides a standard way for AI applications and external systems to communicate.
Authors: Lequn Wang, Jiangwei Pan, and Linas BaltrunasFigure 1. Autoregressive homepage generation. GenPage builds a…
We recently announced the preview of the BigQuery AI.AGG() function. With AI.AGG(), you can use…
Hundreds of contractors working on a project for Meta pretended to be kids in order…
A new AI-powered framework could transform how astronomers measure the expansion of the Universe. By…
Humans have been successfully trained to spot AI-generated faces in a study led by researchers…