Skip to content

Commit

Permalink
Active-Active databases and move A/A to configure
Browse files Browse the repository at this point in the history
  • Loading branch information
cmilesb committed Mar 25, 2024
1 parent 0e02192 commit 966ed4e
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 15 deletions.
2 changes: 1 addition & 1 deletion content/rc/changelog/december-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ aliases: []

### Active-Active JSON support

[Active-Active databases]({{<relref "rc/databases/active-active-redis">}}) on Redis Cloud now support the [JSON]({{< relref "/stack/json" >}}) data type.
[Active-Active databases]({{<relref "rc/databases/configuration/active-active-redis">}}) on Redis Cloud now support the [JSON]({{< relref "/stack/json" >}}) data type.

See [Create an Active-Active subscription]({{<relref "/rc/databases/create-database/create-active-active-database">}}) to learn how to create an Active-Active subscription.

Expand Down
2 changes: 1 addition & 1 deletion content/rc/changelog/may-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,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 "rc/databases/active-active-redis">}}), you can now define roles with different levels of access for different regions.
For [Active-Active databases]({{<relref "rc/databases/configuration/active-active-redis">}}), you can now define roles with different levels of access for different regions.

For more information, see [Active-Active roles]({{<relref "rc/security/access-control/data-access-control/active-active-roles">}}).
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ alwaysopen: false
categories: ["RC"]
aliases: [
"/rc/subscriptions/active-active-redis/",
"/rc/subscriptions/active-active-redis.md"
"/rc/subscriptions/active-active-redis.md",
"/rc/databases/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 "/rc/databases/create-database/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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ categories: ["RC"]
aliases: /rc/subscriptions/create-active-active-subscription/
---

To deploy Active-Active databases in Redis Cloud, create a Redis Cloud Pro database with Active-Active enabled.
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 "rc/databases/configuration/active-active-redis">}}) for more information.

Overall, the process is similar to [create a Pro database with a new subscription]({{<relref "/rc/databases/create-database/create-pro-database-new">}}). However, there are some additional requirements listed below:
To deploy Active-Active databases in Redis Cloud, you need a Redis Cloud Pro subscription that enables Active-Active Redis and defines the regions for each copy of your databases.

Overall, the process is similar to [creating a Pro database with a new subscription]({{<relref "/rc/databases/create-database/create-pro-database-new">}}). However, there are some additional requirements listed below:

- Enable Active-Active Redis
- [Define the regions](#define-regions) for each database instance
Expand All @@ -24,9 +26,9 @@ This reduces latency for local users and improves availability should a region f
Consistency between each instance is maintained in the background; that is, each copy eventually includes updates from every region. As a result, [memory limit]({{<relref "/rc/databases/create-database#memory-limit">}}) and throughput increase.


## Define regions
### Define regions

When you create a new Flexible subscription, the Active-Active Redis option appears to the right of the cloud providers.
When you create a new Pro database, the Active-Active Redis option appears to the right of the cloud providers.

{{<image filename="images/rc/create-flexible-sub-active-active-on.png" width="75%" alt="When you enable Active-Actve, you need to specify the regions for each database instance." >}}{{< /image >}}

Expand All @@ -42,7 +44,7 @@ You can use a region's Remove button to remove it from the list.
{{<image filename="images/rc/icon-region-delete.png" width="30px" alt="Select the Delete button to remove a region from the list." >}}{{< /image >}}


## Define CIDR addresses
### Define CIDR addresses

To properly route network traffic between each Active-Active database instance and your consumer VPCs, use care to specify unique CIDR address blocks when using VPC peering. The block regions should _not_ overlap between the Redis server and your app consumer VPCs.

Expand All @@ -60,15 +62,15 @@ Red exclamation marks indicate error conditions; the tooltip provides additional

{{<image filename="images/rc/icon-cidr-address-error.png" width="30px" alt="Red exclamation points indicate CIDR address problems." >}}{{< /image >}}

## Select capabilities
### Select capabilities

Active-Active databases support the [JSON]({{< relref "/stack/json" >}}) data type.

{{<image filename="images/rc/active-active-json-detail.png" width="75%" alt="When you create an Active-Active database, you can select the JSON advanced capability." >}}{{< /image >}}

When you create an Active-Active database, JSON is already selected. Select it again to remove it.
We select JSON for you when you create an Active-Active database. Select it again to remove it.

## Define throughput
### Define throughput

Each Active-Active instance coordinates changes with every other instance, which increases memory use and throughput.

Expand All @@ -92,7 +94,7 @@ The total operations per second:

Throughput requirements grow dramatically as regions increase. As a result, consider your requirements carefully.

## More info
### More info

- [Create a Pro database with a new subscription]({{<relref "/rc/databases/create-database/create-pro-database-new">}})
- Database [memory limit]({{<relref "/rc/databases/create-database#memory-limit">}})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories: ["RC"]
aliases:
---

For [Active-Active databases]({{<relref "rc/databases/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 "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.

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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ To configure a Redis ACL that you can assign to a data access role:

{{<image filename="images/rc/data-access-control-redis-acls-saved.png" alt="Saved Redis ACL." >}}{{< /image >}}

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 "rc/security/access-control/data-access-control/create-roles">}}) or [Active-Active access roles]({{<relref "rc/security/access-control/data-access-control/active-active-roles">}}) for an [Active-Active subscription]({{<relref "rc/databases/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 "rc/security/access-control/data-access-control/create-roles">}}) or [Active-Active access roles]({{<relref "rc/security/access-control/data-access-control/active-active-roles">}}) for an [Active-Active subscription]({{<relref "rc/databases/configuration/active-active-redis">}}).

## Define permissions with ACL syntax

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ 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 "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 subscription]({{<relref "rc/databases/active-active-redis">}}), see [Active-Active access roles]({{<relref "rc/security/access-control/data-access-control/active-active-roles">}}).
To assign Redis ACLs to a role for an [Active-Active subscription]({{<relref "rc/databases/configuration/active-active-redis">}}), see [Active-Active access roles]({{<relref "rc/security/access-control/data-access-control/active-active-roles">}}).

0 comments on commit 966ed4e

Please sign in to comment.