diff --git a/config.toml b/config.toml index e1e7265d20..f011d5dfa1 100644 --- a/config.toml +++ b/config.toml @@ -71,6 +71,16 @@ rdi_current_version = "1.15.0" "Rust-sync"={quickstartSlug="rust"} "Rust-async"={quickstartSlug="rust"} +# Mount directories for duplicate content +[module] +[[module.mounts]] + source = "content" + target = "content" +[[module.mounts]] + source = "content/operate/rs/databases/active-active/develop" + target = "content/operate/rc/databases/active-active/develop" + excludeFiles = ["_index.md"] + # Markup [markup] [markup.goldmark] diff --git a/content/embeds/rc-aa-cidr.md b/content/embeds/rc-aa-cidr.md new file mode 100644 index 0000000000..5d1cd96743 --- /dev/null +++ b/content/embeds/rc-aa-cidr.md @@ -0,0 +1,9 @@ +Every CIDR should be unique to properly route network traffic between each Active-Active database instance and your consumer VPCs. The CIDR block regions should _not_ overlap between the Redis server and your app consumer VPCs. In addition, CIDR blocks should not overlap between cluster instances. + +When all **Deployment CIDR** regions display a green checkmark, you're ready to continue. + +{{Green checkmarks indicate valid CIDR address values.}} + +Red exclamation marks indicate error conditions; the tooltip provides additional details. + +{{Red exclamation points indicate CIDR address problems.}} \ No newline at end of file diff --git a/content/embeds/rc-rs-aa-synchronization.md b/content/embeds/rc-rs-aa-synchronization.md new file mode 100644 index 0000000000..a7fc8db245 --- /dev/null +++ b/content/embeds/rc-rs-aa-synchronization.md @@ -0,0 +1,13 @@ +In the example below, database writes are concurrent at the points in +time t1 and t2 and happen before a sync can communicate the changes. +However, writes at times t4 and t6 are not concurrent as a sync happened +in between. + +| **Time** | **CRDB Instance1** | **CRDB Instance2** | +| ------: | :------: | :------: | +| t1 | SET key1 "a" | | +| t2 | | SET key1 "b" | +| t3 | — Sync — | — Sync — | +| t4 | SET key1 "c" | | +| t5 | — Sync — | — Sync — | +| t6 | | SET key1 "d" | \ No newline at end of file diff --git a/content/integrate/prometheus-with-redis-cloud/_index.md b/content/integrate/prometheus-with-redis-cloud/_index.md index 8e1923b7ea..9946ef1ab6 100644 --- a/content/integrate/prometheus-with-redis-cloud/_index.md +++ b/content/integrate/prometheus-with-redis-cloud/_index.md @@ -193,7 +193,7 @@ Redis publishes preconfigured dashboards for Redis Cloud and Grafana: * The [subscription status dashboard](https://grafana.com/grafana/dashboards/18406-subscription-status-dashboard/) provides an overview of your Redis Cloud subscriptions. * The [database status dashboard](https://grafana.com/grafana/dashboards/18407-database-status-dashboard/) displays specific database metrics, including latency, memory usage, ops/second, and key count. -* The [Active-Active dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/cloud/basic/redis-cloud-active-active-dashboard_v9-11.json) displays metrics specific to [Active-Active databases]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}). +* The [Active-Active dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/cloud/basic/redis-cloud-active-active-dashboard_v9-11.json) displays metrics specific to [Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}). These dashboards are open source. For additional dashboard options, or to file an issue, see the [Redis Enterprise observability Github repository](https://github.com/redis-field-engineering/redis-enterprise-observability/tree/main/grafana). diff --git a/content/operate/_index.md b/content/operate/_index.md index 2ed166aaae..911000db93 100644 --- a/content/operate/_index.md +++ b/content/operate/_index.md @@ -22,7 +22,7 @@ hideListLinks: true |:-----------|:--------------|:-----------|:--------------|:--------------| | Clustering | [Clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}) | [Clustering]({{}}) | [Scale with Redis Cluster]({{< relref "/operate/oss_and_stack/management/scaling" >}}) | [Redis Enterprise clusters (REC)]({{}}) | | Replication | [Replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) | [Replication]({{}}) | [Replication]({{< relref "/operate/oss_and_stack/management/replication" >}}) | [Create replica databases]({{}})| -| Active-Active geo-distribution | [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) | [Active-Active Redis]({{}}) | | [Active-Active databases]({{}}) | +| Active-Active geo-distribution | [Active-Active Redis]({{< relref "/operate/rc/databases/active-active" >}}) | [Active-Active Redis]({{}}) | | [Active-Active databases]({{}}) | | Rolling upgrades | [Upgrade database version]({{< relref "/operate/rc/databases/upgrade-version" >}}) | [Upgrade Redis Software]({{}}) | | [Upgrade Redis for K8s]({{}}) | | Redis Flex/Auto tiering | [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}}) | [Auto Tiering]({{}}) | | [Auto Tiering]({{}}) | | Persistence | [Data persistence]({{< relref "/operate/rc/databases/configuration/data-persistence" >}}) | [Persistence]({{}}) | [Persistence]({{< relref "/operate/oss_and_stack/management/replication" >}}) | [Persistence volumes]({{}})| diff --git a/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md b/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md index e7e29289e2..3040bd1858 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md @@ -19,7 +19,7 @@ The design is based on [A Conflict-Free Replicated JSON Datatype](https://arxiv. To use JSON in an Active-Active database, you must enable JSON during database creation. -Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. +Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. To create an Active-Active JSON database in Redis Enterprise Software: diff --git a/content/operate/rc/changelog/2023/december-2023.md b/content/operate/rc/changelog/2023/december-2023.md index d4e68aa029..890ea15e5a 100644 --- a/content/operate/rc/changelog/2023/december-2023.md +++ b/content/operate/rc/changelog/2023/december-2023.md @@ -20,9 +20,9 @@ aliases: ### Active-Active JSON support -[Active-Active databases]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) on Redis Cloud now support the [JSON]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json" >}}) data type. +[Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}) on Redis Cloud now support the [JSON]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json" >}}) data type. -See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) to learn how to create an Active-Active subscription. +See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) to learn how to create an Active-Active subscription. ### Mutual TLS enhancements diff --git a/content/operate/rc/changelog/2023/may-2023.md b/content/operate/rc/changelog/2023/may-2023.md index 65bf1bf20f..192bdc0797 100644 --- a/content/operate/rc/changelog/2023/may-2023.md +++ b/content/operate/rc/changelog/2023/may-2023.md @@ -28,6 +28,6 @@ The new fixed endpoints can be viewed in the [Redis Cloud Swagger UI](https://ap ### Active-Active access roles -For [Active-Active databases]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}), you can now define roles with different levels of access for different regions. +For [Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}), you can now define roles with different levels of access for different regions. For more information, see [Active-Active roles]({{< relref "/operate/rc/security/access-control/data-access-control/active-active-roles" >}}). \ No newline at end of file diff --git a/content/operate/rc/changelog/2024/may-2024.md b/content/operate/rc/changelog/2024/may-2024.md index 611fbec95a..c2d7fb4435 100644 --- a/content/operate/rc/changelog/2024/may-2024.md +++ b/content/operate/rc/changelog/2024/may-2024.md @@ -30,9 +30,9 @@ If you have an active SAML configuration, you can still sign in with SAML SSO, b ### Active-Active Search and query support -[Active-Active databases]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) on Redis Cloud now support [Search and query]({{< relref "/operate/oss_and_stack/stack-with-enterprise/search" >}}). +[Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}) on Redis Cloud now support [Search and query]({{< relref "/operate/oss_and_stack/stack-with-enterprise/search" >}}). -See [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) to learn how to create an Active-Active database. +See [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) to learn how to create an Active-Active database. See [Search and query Active-Active databases]({{< relref "/operate/oss_and_stack/stack-with-enterprise/search/search-active-active" >}}) to learn how to use Search and query on Active-Active databases. diff --git a/content/operate/rc/changelog/august-2025.md b/content/operate/rc/changelog/august-2025.md index f6e21f2911..e77cbd9e13 100644 --- a/content/operate/rc/changelog/august-2025.md +++ b/content/operate/rc/changelog/august-2025.md @@ -18,4 +18,4 @@ tags: ### Active-Active on Redis Cloud BYOC -You can now deploy [Active-Active databases]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) to [Redis Cloud Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}). +You can now deploy [Active-Active databases]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) to [Redis Cloud Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}). diff --git a/content/operate/rc/databases/_index.md b/content/operate/rc/databases/_index.md index 1ede3a7cf4..63c32545b7 100644 --- a/content/operate/rc/databases/_index.md +++ b/content/operate/rc/databases/_index.md @@ -22,7 +22,7 @@ Here's how to perform a variety of tasks: - [Create an Essentials database]({{< relref "/operate/rc/databases/create-database/create-essentials-database" >}}) - [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) - [Create a Pro database in an existing subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-existing" >}}) - - [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) + - [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) - [View and edit databases]({{< relref "/operate/rc/databases/view-edit-database" >}}) diff --git a/content/operate/rc/databases/configuration/active-active-redis.md b/content/operate/rc/databases/active-active/_index.md similarity index 91% rename from content/operate/rc/databases/configuration/active-active-redis.md rename to content/operate/rc/databases/active-active/_index.md index e649ec5efd..2125331633 100644 --- a/content/operate/rc/databases/configuration/active-active-redis.md +++ b/content/operate/rc/databases/active-active/_index.md @@ -1,17 +1,21 @@ --- Title: Active-Active Redis +linkTitle: Active-Active alwaysopen: false categories: - docs - operate - rc description: Overview of the Active-Active feature for Redis Cloud. -weight: 5 +weight: 43 +hideListLinks: true +aliases: + - /operate/rc/databases/configuration/active-active-redis/ --- Active-Active databases store data across multiple regions and availability zones. This improves scalability, performance, and availability, especially when compared to standalone databases. -To create Active-Active databases, you need a Redis Cloud Pro subscription that enables Active-Active Redis and defines the regions for each copy of your databases. See [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) for instructions. +To create Active-Active databases, you need a Redis Cloud Pro subscription that enables Active-Active Redis and defines the regions for each copy of your databases. See [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) for instructions. Active-Active databases are distributed across multiple regions (geo-distribution). This improves performance by reducing latency for nearby users and improves availability by protecting against data loss in case of network or resource failure. @@ -19,7 +23,7 @@ Active-Active databases allow read and write operations in each copy. Each copy Active-Active databases use TLS to synchronize data between regions. You can also use TLS to encrypt client connections. See [Transport Layer Security (TLS)]({{< relref "/operate/rc/security/database-security/tls-ssl.md" >}}) for more information. -When developing for Active-Active databases, you need to consider some important differences. See [Develop applications with Active-Active databases]({{< relref "/operate/rs/databases/active-active/develop/_index.md" >}}) for related information. +When developing for Active-Active databases, you need to consider some important differences. See [Develop applications with Active-Active databases]({{< relref "/operate/rc/databases/active-active/develop/_index.md" >}}) for related information. {{< note >}} Active-Active subscriptions on Redis Cloud are limited to a maximum of 10 regions and 10 databases. diff --git a/content/operate/rc/databases/create-database/create-active-active-database.md b/content/operate/rc/databases/active-active/create-active-active-database.md similarity index 93% rename from content/operate/rc/databases/create-database/create-active-active-database.md rename to content/operate/rc/databases/active-active/create-active-active-database.md index 310ff2523c..5438ca0267 100644 --- a/content/operate/rc/databases/create-database/create-active-active-database.md +++ b/content/operate/rc/databases/active-active/create-active-active-database.md @@ -7,12 +7,13 @@ categories: - rc description: Shows how to create an Active-Active database linkTitle: Create Active-Active database -weight: 20 +weight: 5 aliases: - /operate/rc/subscriptions/create-active-active-subscription + - /operate/rc/databases/create-database/create-active-active-database --- -Active-Active databases store data across multiple regions and availability zones. This improves scalability, performance, and availability, especially when compared to standalone databases. See [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) for more information. +Active-Active databases store data across multiple regions and availability zones. This improves scalability, performance, and availability, especially when compared to standalone databases. See [Active-Active Redis]({{< relref "/operate/rc/databases/active-active" >}}) for more information. To deploy Active-Active databases in Redis Cloud, you need a Redis Cloud Pro plan that enables Active-Active Redis and defines the regions for each copy of your databases. @@ -90,20 +91,16 @@ In the **Advanced options** section, you can: - Define CIDR addresses for each region in the **VPC configuration** section. - Every CIDR should be unique to properly route network traffic between each Active-Active database instance and your consumer VPCs. The CIDR block regions should _not_ overlap between the Redis server and your app consumer VPCs. In addition, CIDR blocks should not overlap between cluster instances. - - When all **Deployment CIDR** regions display a green checkmark, you're ready to continue. - - {{Green checkmarks indicate valid CIDR address values.}} - - Red exclamation marks indicate error conditions; the tooltip provides additional details. - - {{Red exclamation points indicate CIDR address problems.}} - - If you chose to deploy your Active-Active database to an existing [Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}) account, you can also define the VPC ID for each region. Select **In existing VPC** and the set the VPC ID for each selected region. - + {{< embed-md "rc-aa-cidr.md" >}} + + If you chose to deploy your Active-Active database to an existing [Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}) account, you can also define the VPC ID for each region. Select **In existing VPC** and the set the VPC ID for each selected region. + - Set your [maintenance]({{< relref "/operate/rc/subscriptions/maintenance" >}}) settings in the **Maintenance windows** section. Select **Manual** if you want to set [manual maintenance windows]({{< relref "/operate/rc/subscriptions/maintenance/set-maintenance-windows" >}}). +{{< note >}} +Multi-AZ replication is required for all Active-Active databases. +{{< /note >}} + When finished, choose **Continue** to determine your size requirements. {{Select the Continue button to continue to the next step.}} @@ -319,8 +316,8 @@ Use the **Database list** to check the status of your databases. ## More info - [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) -- [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) -- [Develop applications with Active-Active databases]({{< relref "/operate/rs/databases/active-active/develop/_index.md" >}}) +- [Active-Active Redis]({{< relref "/operate/rc/databases/active-active" >}}) +- [Develop applications with Active-Active databases]({{< relref "/operate/rc/databases/active-active/develop/_index.md" >}}) - Database [memory limit]({{< relref "/operate/rc/databases/configuration/sizing#dataset-size" >}}) - Redis Cloud [subscription plans]({{< relref "/operate/rc/subscriptions/" >}}) - [Redis Cloud pricing](https://redis.io/pricing/#monthly) diff --git a/content/operate/rc/databases/active-active/develop/_index.md b/content/operate/rc/databases/active-active/develop/_index.md new file mode 100644 index 0000000000..4bd99e15a7 --- /dev/null +++ b/content/operate/rc/databases/active-active/develop/_index.md @@ -0,0 +1,52 @@ +--- +Title: Active-Active Redis applications +alwaysopen: false +categories: +- docs +- operate +- rc +description: General information to keep in mind while developing applications for + an Active-Active database. +hideListLinks: true +linktitle: Develop applications +weight: 99 +note: The rest of the content in this folder is mounted from content/operate/rs/databases/active-active/develop. If you need to make a change in the pages in this folder, make it in the RS folder. +--- +Developing globally distributed applications can be challenging, as +developers have to think about race conditions and complex combinations +of events under geo-failovers and cross-region write conflicts. In Redis Cloud, Active-Active databases +simplify developing such applications by directly using built-in smarts +for handling conflicting writes based on the data type in use. Instead +of depending on just simplistic "last-writer-wins" type conflict +resolution, geo-distributed Active-Active databases combine techniques defined in CRDT +(conflict-free replicated data types) research with Redis types to +provide smart and automatic conflict resolution based on the data type's +intent. + +An Active-Active database is a globally distributed database that spans multiple cloud provider regions. Each Active-Active database can have many Active-Active database instances +that come with added smarts for handling globally distributed writes +using the proven +[CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) +approach. +[CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) +research describes a set of techniques for creating systems that can +handle conflicting writes. CRDBs powered by Multi-Master Replication +(MMR) provide a straightforward and effective way to replicate your +data between regions and simplify development of complex applications +that can maintain correctness under geo-failovers and concurrent +cross-region writes to the same data. + +{{< image filename="/images/rs/crdbs.png" alt="Geo-replication world map">}} + +Active-Active databases replicate data between multiple Redis Cloud provider regions. Common uses for Active-Active databases include disaster recovery, +geographically redundant applications, and keeping data closer to your +users' locations. MMR is always multi-directional amongst the regions +configured in the Active-Active database. For unidirectional replication, see [Active-Passive replication]({{< relref "/operate/rc/databases/migrate-databases#sync-using-active-passive" >}}). + +## Example of synchronization + +{{< embed-md "rc-rs-aa-synchronization.md" >}} + +[Learn more about +synchronization for +each supported data type]({{< relref "/operate/rc/databases/active-active/develop/data-types/" >}}) and [how to develop applications]({{< relref "/operate/rc/databases/active-active/develop/develop-for-aa" >}}) with them on Redis Cloud. \ No newline at end of file diff --git a/content/operate/rc/databases/active-active/manage-regions.md b/content/operate/rc/databases/active-active/manage-regions.md new file mode 100644 index 0000000000..76704d82f6 --- /dev/null +++ b/content/operate/rc/databases/active-active/manage-regions.md @@ -0,0 +1,90 @@ +--- +Title: Manage regions in Active-Active databases +alwaysopen: false +categories: +- docs +- operate +- rc +description: Learn how to add and edit regions for an Active-Active deployment. +linkTitle: Manage regions +weight: 10 +--- + +You can add and edit regions for an Active-Active deployment after it has been created by going to the **Regions** tab of the [subscription page]({{< relref "/operate/rc/subscriptions/view-pro-subscription" >}}). + +{{The Regions tab lets you manage the regions in your Active-Active subscription.}} + +## Add a new region + +To add a new region to an Active-Active deployment: + +1. In the **Regions** tab of the subscription page, select **Add region**. + + {{Select Add region to add a new region to your Active-Active subscription.}} + +1. In the **Region setup** step: + + {{The Region setup step.}} + + 1. Select the desired region from the **Region** list. + + 1. If you chose to deploy your Active-Active database to an existing [Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}) account, you can define the VPC ID for the new region. Select **In existing VPC** and the set the VPC ID for the region. + + 1. Enter a unique CIDR address for the region. + + {{< embed-md "rc-aa-cidr.md" >}} + + Select **Continue**. + +1. In the **Throughput** step, enter the desired read and write throughput for the new region. + + You can also select **Set throughput as existing region** to duplicate the throughput settings from an existing region. + + {{The Throughput step.}} + +1. Review the required resources and updated price for the database in the **Required resources** step. + + {{The Required resources step.}} + +1. Select **Continue** to add the region to your Active-Active deployment. + +Redis Cloud will provision the new region in the background and add it to all databases in the subscription. You aren't allowed to make changes to the database settings while this process is running. + +Your database will still be available, but you may notice some increased latency. This process will take some time depending on the size of your database. + +## Edit regions + +To edit the local throughput settings for a database instance or remove a region from the deployment, select **Edit regions** in the **Regions** tab of the subscription page. + +{{Select Edit regions to update regions for your Active-Active subscription.}} + +From here, you can: + +- [Edit local throughput](#edit-local-throughput) for a database instance +- [Remove a region](#remove-region) from the subscription + +After making the desired changes, [save and confirm the changes](#save-and-confirm-changes). + +### Edit local throughput + +To edit the local throughput settings for a database instance: + +1. Select the region you want to edit. + +1. Add or reduce the local read and write throughput for each database in that region in the **Local reads ops/sec** and **Local writes ops/sec** fields. + + {{The Edit regions page, with throughput settings changed.}} + +### Remove region + +To remove a region from an Active-Active deployment, select the **Delete** button for the region you want to remove. + +{{Select the Delete button to remove a region from your Active-Active subscription.}} + +### Save and confirm changes + +After making your changes, select **Save changes** to apply them. You'll need to review and confirm the changes and any updated costs before they are applied. Select **Confirm** to apply the changes. + +Redis Cloud will make the desired changes in the background. You aren't allowed to make changes to the database settings while this process is running. + +Your databases will still be available, but you may notice some increased latency. This process will take some time depending on the size of your database. diff --git a/content/operate/rc/databases/configuration/advanced-capabilities.md b/content/operate/rc/databases/configuration/advanced-capabilities.md index 3c18048035..785f2835c8 100644 --- a/content/operate/rc/databases/configuration/advanced-capabilities.md +++ b/content/operate/rc/databases/configuration/advanced-capabilities.md @@ -44,7 +44,7 @@ You can select more than one advanced capability for a database, though there ar - Time series - Probabilistic -- [Active-Active databases]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) only support JSON and Search and query. +- [Active-Active databases]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) only support JSON and Search and query. To remove a selected capability, clear its checkbox. diff --git a/content/operate/rc/databases/configuration/data-eviction-policies.md b/content/operate/rc/databases/configuration/data-eviction-policies.md index e29f399ab3..e14c52c25e 100644 --- a/content/operate/rc/databases/configuration/data-eviction-policies.md +++ b/content/operate/rc/databases/configuration/data-eviction-policies.md @@ -35,10 +35,12 @@ For each database, you can choose from these data eviction policies: ## Prevent data eviction -Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) +To avoid data eviction, make sure your database is large enough to hold required values. + +Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) on Redis Cloud Pro and [Redis Flex]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}}) on Redis Cloud Essentials to prevent data eviction but maintain high performance. -Auto Tiering can extend your database across RAM and Flash Memory and intelligently manage "hot" (active) data in RAM and "cold" (less active) data in Flash memory (SSD). +Auto Tiering and Redis Flex can extend your database across RAM and Flash Memory and intelligently manage "hot" (active) data in RAM and "cold" (less active) data in Flash memory (SSD). ## Active-Passive replication considerations @@ -48,4 +50,8 @@ Do not write to the target database while Active-Passive is enabled. Doing so ca - The target database cannot rely on eviction or expiration to manage local writes, requiring sufficient memory to handle both replicated data and local writes. - Local writes create differences between the source and target databases, causing replicated commands to behave differently on each database. -- Inconsistent data can cause replicated commands to fail with errors, which will cause the synchronization process to exit and break replication. \ No newline at end of file +- Inconsistent data can cause replicated commands to fail with errors, which will cause the synchronization process to exit and break replication. + +## Active-Active replication considerations + +The eviction policy mechanism for [Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}) kicks in earlier than for standalone databases because it requires propagation to all regions. The eviction policy starts to evict keys when one of the Active-Active instances reaches 80% of its memory limit. If memory usage continues to rise while the keys are being evicted, the rate of eviction will increase to prevent reaching the Out-of-Memory state. diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md index 4c2e8f31b8..04cba5cacf 100644 --- a/content/operate/rc/databases/configuration/sizing.md +++ b/content/operate/rc/databases/configuration/sizing.md @@ -24,7 +24,7 @@ Here are some general guidelines: - [Replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) doubles memory consumption; that is, 512 MB of data requires at least 1 GB of memory limit when replication is enabled. This affects both Redis Cloud Pro and Redis Cloud Essentials. For example, if you subscribe to a 1 GB Essentials plan, Redis will allocate 512 MB for your dataset and the other 512 MB for replication. -- [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) also doubles memory consumption and the effect is cumulative with replication's impact. Since Active-Active requires replication to be turned on, the memory limit impact can be as large as four times (4x) the original data size. +- [Active-Active]({{< relref "/operate/rc/databases/active-active" >}}) also doubles memory consumption and the effect is cumulative with the impact of replication. Since Active-Active requires replication to be turned on, the memory limit impact can be as large as four times (4x) the original data size. - [Advanced capabilities]({{< relref "/operate/rc/databases/configuration/advanced-capabilities" >}}) also consume memory. For search databases, consider index size when you size your database. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. diff --git a/content/operate/rc/databases/connect/_index.md b/content/operate/rc/databases/connect/_index.md index f8958e27d4..7c58b774e0 100644 --- a/content/operate/rc/databases/connect/_index.md +++ b/content/operate/rc/databases/connect/_index.md @@ -23,6 +23,10 @@ Once you have the username and password, select **Connect** to open the connecti {{< image filename="/images/rc/button-connect.png#no-click" alt="Connect button." >}} +{{< note >}} +For [Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}), you connect to one of the database instances. Choose the region you want to connect to from the region selection to access the connection information for that instance. +{{< /note >}} + The connection wizard provides the following database connection methods: - [Redis Insight](#using-redisinsight) diff --git a/content/operate/rc/databases/create-database/_index.md b/content/operate/rc/databases/create-database/_index.md index 7386a5505b..13bb1975a8 100644 --- a/content/operate/rc/databases/create-database/_index.md +++ b/content/operate/rc/databases/create-database/_index.md @@ -25,6 +25,6 @@ A **Free** plan is a type of Essentials plan designed for learning and building A **Pro** plan is an hourly price based on capacity. It supports more databases, larger databases, greater throughput, and unlimited connections. - [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) - [Create a Pro database in an existing subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-existing" >}}) -- [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) +- [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) diff --git a/content/operate/rc/databases/create-database/create-pro-database-new.md b/content/operate/rc/databases/create-database/create-pro-database-new.md index 6704397e3f..c65bf6f36c 100644 --- a/content/operate/rc/databases/create-database/create-pro-database-new.md +++ b/content/operate/rc/databases/create-database/create-pro-database-new.md @@ -113,7 +113,7 @@ In the **General settings** of the **Setup** tab, you need to: 1. Select the **Region** where you want to deploy your database. {{< note >}} -This guide is for single region database deployment. If you want to create a multi-region Active-Active database, see [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) for specific steps and configuration options exclusive to Active-Active. +This guide is for single region database deployment. If you want to create a multi-region Active-Active database, see [Create an Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) for specific steps and configuration options exclusive to Active-Active. {{< /note >}} #### Advanced options {#advanced-options} diff --git a/content/operate/rc/databases/import-data.md b/content/operate/rc/databases/import-data.md index f9908f9999..55afc7bd99 100644 --- a/content/operate/rc/databases/import-data.md +++ b/content/operate/rc/databases/import-data.md @@ -14,7 +14,7 @@ You can import an existing dataset into your Redis Cloud instance from an existi {{< warning >}} Data imported into an existing database overwrites existing data. - If you import a dataset into the target database of an [Active-Passive setup]({{< relref "/operate/rc/databases/migrate-databases#sync-using-active-passive" >}}), the dataset will be overwritten by any changes to the source database. -- If you import a dataset into one region in an [Active-Active database]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}), the dataset will also be replicated across regions. +- If you import a dataset into one region in an [Active-Active database]({{< relref "/operate/rc/databases/active-active/" >}}), the dataset will also be replicated across regions. {{< /warning >}}
{{< note >}} diff --git a/content/operate/rc/databases/view-edit-database.md b/content/operate/rc/databases/view-edit-database.md index c6cead9fea..dfbe810abf 100644 --- a/content/operate/rc/databases/view-edit-database.md +++ b/content/operate/rc/databases/view-edit-database.md @@ -53,7 +53,7 @@ The available settings vary according to your plan, cloud provider, and design c | **Type** | Displays 'Redis', 'Redis Stack' or 'memcached' based on the value selected when the database was created | | **Redis version** | Redis version of the database | | **Auto Tiering** | Checked when the subscription supports Auto Tiering (_Redis Cloud Pro only_) | -| **Active-Active Redis** | Checked when the database is part of an [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) relationship (_Redis Cloud Pro only_) | +| **Active-Active Redis** | Checked when the database is part of an [Active-Active]({{< relref "/operate/rc/databases/active-active" >}}) relationship (_Redis Cloud Pro only_) | | **Creation time** | Date and time the database was created | | **Last changed** | Date and time of last update | | **Supported Protocol(s)** | Shows which version of RESP the database uses. See [Redis serialization protocol]({{< relref "/develop/reference/protocol-spec" >}}#resp-versions) for details | diff --git a/content/operate/rc/langcache/create-service.md b/content/operate/rc/langcache/create-service.md index d728c3b8e5..24b96a2489 100644 --- a/content/operate/rc/langcache/create-service.md +++ b/content/operate/rc/langcache/create-service.md @@ -22,7 +22,7 @@ To create a LangCache service, you will need: {{< note >}} LangCache does not support the following databases during public preview: - Databases with a [CIDR allow list]({{< relref "/operate/rc/security/cidr-whitelist" >}}) -- [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) databases +- [Active-Active]({{< relref "/operate/rc/databases/active-active" >}}) databases - Databases with the [default user]({{< relref "/operate/rc/security/access-control/data-access-control/default-user" >}}) turned off {{< /note >}} diff --git a/content/operate/rc/resilient-apps.md b/content/operate/rc/resilient-apps.md index 5180acc110..36c0285624 100644 --- a/content/operate/rc/resilient-apps.md +++ b/content/operate/rc/resilient-apps.md @@ -98,5 +98,5 @@ For more info, see [How to run a Failover Test in Redis Cloud](https://support.r ## More info - [Redis Clients]({{< relref "/develop/clients" >}}) -- [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) +- [Active-Active Redis]({{< relref "/operate/rc/databases/active-active" >}}) - [Active-Active Redis applications]({{< relref "/operate/rs/databases/active-active/develop" >}}) \ No newline at end of file diff --git a/content/operate/rc/security/access-control/data-access-control/active-active-roles.md b/content/operate/rc/security/access-control/data-access-control/active-active-roles.md index 2b1dd9083b..238feb004f 100644 --- a/content/operate/rc/security/access-control/data-access-control/active-active-roles.md +++ b/content/operate/rc/security/access-control/data-access-control/active-active-roles.md @@ -12,7 +12,7 @@ toc: 'true' weight: $weight --- -For [Active-Active databases]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}), you can define roles with different levels of access for different regions. For example, you can define a user role with full database access in one region and read-only access in another. Or, you can prevent a user from running any commands in a specified region. +For [Active-Active databases]({{< relref "/operate/rc/databases/active-active" >}}), you can define roles with different levels of access for different regions. For example, you can define a user role with full database access in one region and read-only access in another. Or, you can prevent a user from running any commands in a specified region. 1. Go to **Data Access Control > Roles** and either select `+` to create a new role or point to an existing role and select the pencil icon to edit it. diff --git a/content/operate/rc/security/access-control/data-access-control/configure-acls.md b/content/operate/rc/security/access-control/data-access-control/configure-acls.md index aa1c56b51f..7ec6e37bfc 100644 --- a/content/operate/rc/security/access-control/data-access-control/configure-acls.md +++ b/content/operate/rc/security/access-control/data-access-control/configure-acls.md @@ -46,7 +46,7 @@ To configure a Redis ACL that you can assign to a data access role: {{Saved Redis ACL.}} -After you create a Redis ACL, you can assign it to a role. Redis ACLs are not fully verified until they are assigned to a role. For more information, see [Create roles]({{< relref "/operate/rc/security/access-control/data-access-control/create-roles" >}}) or [Active-Active access roles]({{< relref "/operate/rc/security/access-control/data-access-control/active-active-roles" >}}) for an [Active-Active database]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}). +After you create a Redis ACL, you can assign it to a role. Redis ACLs are not fully verified until they are assigned to a role. For more information, see [Create roles]({{< relref "/operate/rc/security/access-control/data-access-control/create-roles" >}}) or [Active-Active access roles]({{< relref "/operate/rc/security/access-control/data-access-control/active-active-roles" >}}) for an [Active-Active database]({{< relref "/operate/rc/databases/active-active" >}}). ## Define permissions with ACL syntax diff --git a/content/operate/rc/security/access-control/data-access-control/create-roles.md b/content/operate/rc/security/access-control/data-access-control/create-roles.md index d81590f0a8..a04eed8a7d 100644 --- a/content/operate/rc/security/access-control/data-access-control/create-roles.md +++ b/content/operate/rc/security/access-control/data-access-control/create-roles.md @@ -44,7 +44,7 @@ When you assign a user-defined ACL rule to a role and associate it with one or m After you create a role, you can assign it to a user. Users with this role can access the databases according to the role's associated Redis ACLs. For more information, see [Assign roles to users]({{< relref "/operate/rc/security/access-control/data-access-control/create-assign-users#assign-roles-to-existing-users" >}}). -To assign Redis ACLs to a role for an [Active-Active database]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}), see [Active-Active access roles]({{< relref "/operate/rc/security/access-control/data-access-control/active-active-roles" >}}). +To assign Redis ACLs to a role for an [Active-Active database]({{< relref "/operate/rc/databases/active-active" >}}), see [Active-Active access roles]({{< relref "/operate/rc/security/access-control/data-access-control/active-active-roles" >}}). {{< note >}} {{< embed-md "rc-acls-note.md" >}} diff --git a/content/operate/rc/subscriptions/bring-your-own-cloud/_index.md b/content/operate/rc/subscriptions/bring-your-own-cloud/_index.md index c1d80e4811..e96fa315af 100644 --- a/content/operate/rc/subscriptions/bring-your-own-cloud/_index.md +++ b/content/operate/rc/subscriptions/bring-your-own-cloud/_index.md @@ -50,7 +50,7 @@ To set up Redis Cloud BYOC on Amazon Web Services (AWS): 1. [Set your AWS Account as a BYOC Cloud account]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud/cloud-account-settings" >}}) on Redis Cloud. -After you set up your cloud account, you can create a [new Redis Cloud Pro subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) or an [Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database" >}}) that uses your cloud account. +After you set up your cloud account, you can create a [new Redis Cloud Pro subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) or an [Active-Active database]({{< relref "/operate/rc/databases/active-active/create-active-active-database" >}}) that uses your cloud account. ## Redis Cloud BYOC pricing diff --git a/content/operate/rc/subscriptions/view-pro-subscription.md b/content/operate/rc/subscriptions/view-pro-subscription.md index f8854a45bd..b722b10eaa 100644 --- a/content/operate/rc/subscriptions/view-pro-subscription.md +++ b/content/operate/rc/subscriptions/view-pro-subscription.md @@ -33,7 +33,7 @@ From here, you can: Because subscriptions represent active deployments, there aren't many details you can change. If your needs change, [create a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) and then [migrate the existing data]({{< relref "/operate/rc/databases/migrate-databases" >}}) to the new databases. -In addition, three tabs are available: +In addition, you can view and edit the following subscription details: 1. The **Databases** tab lists the databases in your subscription and summarizes their settings. @@ -43,6 +43,8 @@ In addition, three tabs are available: 4. The **Security** tab lets you set security settings for the databases in your subscription. +5. The **Regions** tab lets you manage the regions in your Active-Active subscription (_Active-Active subscriptions only_). + The following sections provide more info. ## **Databases** tab @@ -130,3 +132,11 @@ See the individual links to learn more. The **Security** tab lets you set security settings for the databases in your subscription. Here, you can [block public endpoints]({{< relref "/operate/rc/security/database-security/block-public-endpoints" >}}) for all databases in the subscription. + +## **Regions** tab + +The **Regions** tab is only available for Active-Active subscriptions. It lets you manage the regions in your Active-Active subscription. + +{{The Regions tab lets you manage the regions in your Active-Active subscription.}} + +See [Manage regions for an Active-Active database]({{< relref "/operate/rc/databases/active-active/manage-regions" >}}) for more information. diff --git a/content/operate/rs/7.4/databases/active-active/develop/data-types/json.md b/content/operate/rs/7.4/databases/active-active/develop/data-types/json.md index 4060709d42..ddc62eab28 100644 --- a/content/operate/rs/7.4/databases/active-active/develop/data-types/json.md +++ b/content/operate/rs/7.4/databases/active-active/develop/data-types/json.md @@ -20,7 +20,7 @@ The design is based on [A Conflict-Free Replicated JSON Datatype](https://arxiv. To use JSON in an Active-Active database, you must enable JSON during database creation. -Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. +Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/active-active/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. See [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions. diff --git a/content/operate/rs/7.8/databases/active-active/develop/data-types/json.md b/content/operate/rs/7.8/databases/active-active/develop/data-types/json.md index b0fa509309..7d6c6a7f57 100644 --- a/content/operate/rs/7.8/databases/active-active/develop/data-types/json.md +++ b/content/operate/rs/7.8/databases/active-active/develop/data-types/json.md @@ -20,7 +20,7 @@ The design is based on [A Conflict-Free Replicated JSON Datatype](https://arxiv. To use JSON in an Active-Active database, you must enable JSON during database creation. -Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. +Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/active-active/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. See [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions. diff --git a/content/operate/rs/databases/active-active/develop/_index.md b/content/operate/rs/databases/active-active/develop/_index.md index a650fd8933..501902d6cb 100644 --- a/content/operate/rs/databases/active-active/develop/_index.md +++ b/content/operate/rs/databases/active-active/develop/_index.md @@ -5,7 +5,6 @@ categories: - docs - operate - rs -- rc description: General information to keep in mind while developing applications for an Active-Active database. hideListLinks: true @@ -48,19 +47,7 @@ Replica Of capabilities in Redis Enterprise Software. ## Example of synchronization -In the example below, database writes are concurrent at the points in -time t1 and t2 and happen before a sync can communicate the changes. -However, writes at times t4 and t6 are not concurrent as a sync happened -in between. - -| **Time** | **CRDB Instance1** | **CRDB Instance2** | -| ------: | :------: | :------: | -| t1 | SET key1 "a" | | -| t2 | | SET key1 "b" | -| t3 | — Sync — | — Sync — | -| t4 | SET key1 "c" | | -| t5 | — Sync — | — Sync — | -| t6 | | SET key1 "d" | +{{< embed-md "rc-rs-aa-synchronization.md" >}} [Learn more about synchronization for diff --git a/content/operate/rs/databases/active-active/develop/data-types/json.md b/content/operate/rs/databases/active-active/develop/data-types/json.md index 5aad07742c..70cfee5887 100644 --- a/content/operate/rs/databases/active-active/develop/data-types/json.md +++ b/content/operate/rs/databases/active-active/develop/data-types/json.md @@ -19,7 +19,7 @@ The design is based on [A Conflict-Free Replicated JSON Datatype](https://arxiv. To use JSON in an Active-Active database, you must enable JSON during database creation. -Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. +Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/active-active/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. See [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions. diff --git a/content/operate/rs/databases/active-active/develop/develop-for-aa.md b/content/operate/rs/databases/active-active/develop/develop-for-aa.md index fe063cc95e..f53261cdd3 100644 --- a/content/operate/rs/databases/active-active/develop/develop-for-aa.md +++ b/content/operate/rs/databases/active-active/develop/develop-for-aa.md @@ -97,9 +97,8 @@ execute them in script-replication mode. ## Eviction -The default policy for Active-Active databases is _noeviction_ mode. Redis Enterprise version 6.0.20 and later support all eviction policies for Active-Active databases, unless [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering" >}})(previously known as Redis on Flash) is enabled. -For details, see [eviction for Active-Active databases]({{< relref "/operate/rs/databases/memory-performance/eviction-policy#active-active-database-eviction" >}}). - +The default policy for Active-Active databases is _noeviction_ mode. Redis Enterprise version 6.0.20 and later support all eviction policies for Active-Active databases, unless [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering" >}}) (previously known as Redis on Flash) is enabled. +For details, see [eviction for Active-Active databases (Redis Enterprise)]({{< relref "/operate/rs/databases/memory-performance/eviction-policy#active-active-database-eviction" >}}) or [eviction for Active-Active databases (Redis Cloud)]({{< relref "/operate/rc/databases/configuration/data-eviction-policies#active-active-replication-considerations" >}}). ## Expiration diff --git a/static/images/rc/subscription-add-region-required-resources.png b/static/images/rc/subscription-add-region-required-resources.png new file mode 100644 index 0000000000..4b653cb14e Binary files /dev/null and b/static/images/rc/subscription-add-region-required-resources.png differ diff --git a/static/images/rc/subscription-add-region-setup.png b/static/images/rc/subscription-add-region-setup.png new file mode 100644 index 0000000000..d00eb0501e Binary files /dev/null and b/static/images/rc/subscription-add-region-setup.png differ diff --git a/static/images/rc/subscription-add-region-throughput.png b/static/images/rc/subscription-add-region-throughput.png new file mode 100644 index 0000000000..d55db73531 Binary files /dev/null and b/static/images/rc/subscription-add-region-throughput.png differ diff --git a/static/images/rc/subscription-details-regions-tab-add.png b/static/images/rc/subscription-details-regions-tab-add.png new file mode 100644 index 0000000000..d66582058a Binary files /dev/null and b/static/images/rc/subscription-details-regions-tab-add.png differ diff --git a/static/images/rc/subscription-details-regions-tab-edit.png b/static/images/rc/subscription-details-regions-tab-edit.png new file mode 100644 index 0000000000..b1d97e887b Binary files /dev/null and b/static/images/rc/subscription-details-regions-tab-edit.png differ diff --git a/static/images/rc/subscription-details-regions-tab.png b/static/images/rc/subscription-details-regions-tab.png new file mode 100644 index 0000000000..499f0156cb Binary files /dev/null and b/static/images/rc/subscription-details-regions-tab.png differ diff --git a/static/images/rc/subscription-edit-region-delete.png b/static/images/rc/subscription-edit-region-delete.png new file mode 100644 index 0000000000..2ef282129a Binary files /dev/null and b/static/images/rc/subscription-edit-region-delete.png differ diff --git a/static/images/rc/subscription-edit-region-throughput.png b/static/images/rc/subscription-edit-region-throughput.png new file mode 100644 index 0000000000..d59c425858 Binary files /dev/null and b/static/images/rc/subscription-edit-region-throughput.png differ